Discussion:
[FFmpeg-user] parser not found for codec pcm_s16le, packets or times may be invalid.
Peter B.
2011-11-22 12:21:57 UTC
Permalink
Sorry for spamming the list, but I've encountered another issue which
could indicate silent problems, I'd like to avoid in a production system:

When transcoding a file with the current git-version of ffmpeg, I
receive warnings that do not appear in earlier versions:

[quote]
[avi @ 0x96ad220] parser not found for codec pcm_s16le, packets or times
may be invalid.
[avi @ 0x96ad220] parser not found for codec ffv1, packets or times may
be invalid.
[/quote]

Running the following command with the old version of ffmpeg (v0.5.2
from Debian Squeeze repositories):
[code]
ffmpeg -i input-ffv1.avi -an -vcodec ffv1 delme.avi
[/code]


Works fine, without warnings:

[quote]
FFmpeg version SVN-r0.5.2-4:0.5.2-6, Copyright (c) 2000-2009 Fabrice
Bellard, et al.
configuration: --extra-version=4:0.5.2-6 --prefix=/usr
--enable-avfilter --enable-avfilter-lavf --enable-vdpau --enable-bzlib
--enable-libdirac --enable-libgsm --enable-libopenjpeg
--enable-libschroedinger --enable-libspeex --enable-libtheora
--enable-libvorbis --enable-pthreads --enable-zlib --disable-stripping
--disable-vhook --enable-runtime-cpudetect --enable-gpl
--enable-postproc --enable-swscale --enable-x11grab --enable-libfaad
--enable-libdc1394 --enable-shared --disable-static
libavutil 49.15. 0 / 49.15. 0
libavcodec 52.20. 1 / 52.20. 1
libavformat 52.31. 0 / 52.31. 0
libavdevice 52. 1. 0 / 52. 1. 0
libavfilter 0. 4. 0 / 0. 4. 0
libswscale 0. 7. 1 / 0. 7. 1
libpostproc 51. 2. 0 / 51. 2. 0
built on Oct 5 2010 08:33:07, gcc: 4.4.5
Input #0, avi, from 'input-ffv1.avi':
Duration: 00:00:41.88, start: 0.000000, bitrate: 52834 kb/s
Stream #0.0: Video: ffv1, yuv422p, 720x576, 25 tbr, 25 tbn, 25 tbc
Stream #0.1: Audio: pcm_s16le, 48000 Hz, stereo, s16, 1536 kb/s
Output #0, avi, to 'delme.avi':
Stream #0.0: Video: ffv1, yuv422p, 720x576, q=2-31, 200 kb/s, 90k
tbn, 25 tbc
Stream mapping:
Stream #0.0 -> #0.0
Press [q] to stop encoding
frame= 1047 fps= 17 q=0.0 Lsize= 269237kB time=41.88 bitrate=52664.5kbits/s
video:269206kB audio:0kB global headers:0kB muxing overhead 0.011362%
[/quote]


However, running the same command with the current git-version
(N-35077-g7876f14), contains warnings:

[quote]
ffmpeg version N-35077-g7876f14, Copyright (c) 2000-2011 the FFmpeg
developers
built on Nov 22 2011 11:38:22 with gcc 4.4.5
configuration: --prefix=/usr/local --enable-gpl --enable-nonfree
--enable-postproc --enable-swscale --enable-avfilter --enable-pthreads
--enable-bzlib --enable-libmp3lame --enable-libvorbis --enable-libxvid
--enable-zlib --enable-libopenjpeg --enable-decoder=png
--enable-encoder=png --enable-libdirac --enable-libschroedinger
libavutil 51. 26. 0 / 51. 26. 0
libavcodec 53. 36. 0 / 53. 36. 0
libavformat 53. 21. 0 / 53. 21. 0
libavdevice 53. 4. 0 / 53. 4. 0
libavfilter 2. 49. 0 / 2. 49. 0
libswscale 2. 1. 0 / 2. 1. 0
libpostproc 51. 2. 0 / 51. 2. 0
[avi @ 0x96ad220] parser not found for codec pcm_s16le, packets or times
may be invalid.
[avi @ 0x96ad220] parser not found for codec ffv1, packets or times may
be invalid.
Input #0, avi, from 'input-ffv1.avi':
Metadata:
encoder : Lavf52.31.0
Duration: 00:00:41.88, start: 0.000000, bitrate: 52834 kb/s
Stream #0:0: Video: ffv1 (FFV1 / 0x31564646), yuv422p, 720x576, 25
tbr, 25 tbn, 25 tbc
Stream #0:1: Audio: pcm_s16le ([1][0][0][0] / 0x0001), 48000 Hz, 2
channels, s16, 1536 kb/s
[buffer @ 0x96c2520] w:720 h:576 pixfmt:yuv422p tb:1/1000000 sar:0/1
sws_param:
Output #0, avi, to 'delme.avi':
Metadata:
ISFT : Lavf53.21.0
Stream #0:0: Video: ffv1 (FFV1 / 0x31564646), yuv422p, 720x576,
q=2-31, 200 kb/s, 25 tbn, 25 tbc
Stream mapping:
Stream #0:0 -> #0:0 (ffv1 -> ffv1)
Press [q] to stop, [?] for help
frame= 1047 fps= 17 q=0.0 Lsize= 269237kB time=00:00:41.88
bitrate=52664.5kbits/s
video:269206kB audio:0kB global headers:0kB muxing overhead 0.011362%
[/quote]


The transcoding itself runs fine, in both cases.

I've tried searching for these warnings on the web, but none of them
referred to as where those warnings might come from.

Thank you for any information,
Pb
Nicolas George
2011-11-23 16:19:29 UTC
Permalink
Post by Peter B.
When transcoding a file with the current git-version of ffmpeg, I
may be invalid.
be invalid.
The transcoding itself runs fine, in both cases.
The warning says that the packets or time _may_ be invalid, not that they
actually will be.

It seems that your setting does not actually need the information found by
the parser. For PCM, that could be expected. For ffv1, I guess there are no
B-frames.

This warning seemed like a good idea at the time, but now I realize that
there are lots of codecs that work fine without a parser even if the format
thinks it needs one. I will think about it some more.

In the meantime, just ignore the warning: if it works, then it means it was
harmless.

Regards,
--
Nicolas George
Peter B.
2011-11-23 18:21:57 UTC
Permalink
Post by Nicolas George
The warning says that the packets or time _may_ be invalid, not that they
actually will be.
If packets or timing "may" be invalid, is there any way for me to check
this?
Post by Nicolas George
It seems that your setting does not actually need the information found by
the parser. For PCM, that could be expected. For ffv1, I guess there are no
B-frames.
FFv1 is I-frames only.
Post by Nicolas George
This warning seemed like a good idea at the time, but now I realize that
there are lots of codecs that work fine without a parser even if the format
thinks it needs one. I will think about it some more.
What is this parser checking for?
Post by Nicolas George
In the meantime, just ignore the warning: if it works, then it means it was
harmless.
But you know how it is:
If you're used to ignoring warnings, you'll ignore other warnings in the
future, too... ;)
Wouldn't that defeat the purpose of the warnings in the first place?


Thanks for the information,
Pb
Nicolas George
2011-12-08 12:17:13 UTC
Permalink
Post by Peter B.
If packets or timing "may" be invalid, is there any way for me to check
this?
If it seems to work, they probably are correct.
Post by Peter B.
What is this parser checking for?
Multiple frames in a single packet or a frame split over several packets is
a common use case I believe.
Post by Peter B.
If you're used to ignoring warnings, you'll ignore other warnings in the
future, too... ;)
Wouldn't that defeat the purpose of the warnings in the first place?
Indeed. I just submitted a change to lower the log level of this warning.

Regards,
--
Nicolas George
Peter B.
2011-12-08 12:35:16 UTC
Permalink
Post by Nicolas George
Post by Peter B.
If you're used to ignoring warnings, you'll ignore other warnings in the
future, too... ;)
Wouldn't that defeat the purpose of the warnings in the first place?
Indeed. I just submitted a change to lower the log level of this warning.
Thank you!

Regards,
Peter

Loading...