[FFmpeg-trac] #1435(undetermined:new): FFmpeg 0.11.1 simple reproducable synchronisation bug with work around - non imput specific

FFmpeg trac at avcodec.org
Sun Jun 10 19:39:52 CEST 2012


#1435: FFmpeg 0.11.1 simple reproducable synchronisation bug with work around -
non imput specific
-------------------------------------+-------------------------------------
             Reporter:  feelart      |                    Owner:
                 Type:  defect       |                   Status:  new
             Priority:  normal       |                Component:
              Version:  0.11.1       |  undetermined
             Keywords:  avi desync   |               Resolution:
             Blocking:               |               Blocked By:
Analyzed by developer:  0            |  Reproduced by developer:  0
-------------------------------------+-------------------------------------
Changes (by cehoyos):

 * keywords:  avi synchronisation bug => avi desync
 * priority:  critical => normal


Old description:

> FFmpeg 0.11.1 (32bits static) under WinXP
>
> Hi,
>
> This bug seems similar to other bug tracking on synchronisation issues.
>
> Bug affects any input video, with same codecs & container.
>
> Input video directly from camera, see below.
>
> Descrynize output with (note wrong duration is displayed for the output
> video)
>
> ffmpeg -i "2012-03 03Praha.mp4" -async 1 -acodec copy -vcodec mpeg4 -q 20
> out_mpeg4AVI.avi
>
> Synchronize output with:
> ffmpeg -i "2012-03 03Praha.mp4" -async 1 -f mp4 -acodec copy -vcodec
> mpeg4 -q 20 out_mpeg4AVIMP4.avi
>
> Now interestingly,
>
> 1/ if one takes the 1st instruction line, but changes to mkv or mp4, no
> problem, example
> ffmpeg -i "2012-03 03Praha.mp4" -async 1 -acodec copy -vcodec mpeg4 -q 20
> out_mpeg4_mp4.mp4
>
> 2/ if one takes the 1st instruction line, but converts the audio, no
> probem
> ffmpeg -i "2012-03 03Praha.mp4" -async 1 -acodec libmp3lame  -vcodec
> mpeg4 -q 20 out_mpeg4AVI_mp3.avi
>
> 3/ Now, no problem with
> ffmpeg -i out_mpeg4.mp4 -vcodec copy -acodec copy -f mp4 output.avi
>
> 4/ KO with
> ffmpeg -i out_mpeg4.mkv -vcodec copy -acodec copy -f mkv output.avi
>
> Input video available on request.
>
> Details:
>
> C:\Documents and Settings\Angel\Mes documents\Downloads>
> C:\Documents and Settings\Angel\Mes documents\Downloads>ffmpeg -v 9
> -loglevel 99 -i "2012-03 03Praha.mp4" -async 1 -acodec
> copy -vcodec mpeg4 -q 20 out_mpeg4AVI.avi
> ffmpeg version N-41416-g718607b Copyright (c) 2000-2012 the FFmpeg
> developers
>   built on Jun  8 2012 12:46:19 with gcc 4.6.3
>   configuration: --enable-gpl --enable-version3 --disable-w32threads
> --enable-runtime-cpudetect --enable-avisynth --enable-
> bzlib --enable-frei0r --enable-libass --enable-libcelt --enable-
> libopencore-amrnb --enable-libopencore-amrwb --enable-libfr
> eetype --enable-libgsm --enable-libmp3lame --enable-libnut --enable-
> libopenjpeg --enable-librtmp --enable-libschroedinger -
> -enable-libspeex --enable-libtheora --enable-libutvideo --enable-libvo-
> aacenc --enable-libvo-amrwbenc --enable-libvorbis --
> enable-libvpx --ena  libavutil      51. 56.100 / 51. 56.100
>   libavcodec     54. 25.100 / 54. 25.100
>   libavformat    54.  6.101 / 54.  6.101
>   libavdevice    54.  0.100 / 54.  0.100
>   libavfilter     2. 78.101 /  2. 78.101
>   libswscale      2.  1.100 /  2.  1.100
>   libswresample   0. 15.100 /  0. 15.100
>   libpostproc    52.  0.100 / 52.  0.100
> [mov,mp4,m4a,3gp,3g2,mj2 @ 022dd220] Format mov,mp4,m4a,3gp,3g2,mj2
> probed with size=2048 and score=100
> [mov,mp4,m4a,3gp,3g2,mj2 @ 022dd220] ISO: File Type Major Brand: MSNV
> [mov,mp4,m4a,3gp,3g2,mj2 @ 022dd220] File position before
> avformat_find_stream_info() is 54769662
> [mov,mp4,m4a,3gp,3g2,mj2 @ 022dd220] All info found
> [mov,mp4,m4a,3gp,3g2,mj2 @ 022dd220] File position after
> avformat_find_stream_info() is 545749
> Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '2012-03 03Praha.mp4':
>   Metadata:
>     major_brand     : MSNV
>     minor_version   : 19595353
>     compatible_brands: MSNVmp42isom
>     creation_time   : 2012-03-29 21:13:18
>   Duration: 00:00:49.04, start: 0.000000, bitrate: 8933 kb/s
>     Stream #0:0(und), 15, 1/30000: Video: mpeg4 (Advanced Coding Profile)
> (mp4v / 0x7634706D), yuv420p, 1280x720 [SAR 1:1 D
> AR 16:9], 1/30000, 8866 kb/s, 29.97 fps, 29.97 tbr, 30k tbn, 30k tbc
>     Metadata:
>       creation_time   : 2012-03-29 21:13:18
>       handler_name    : Video Media Handler
>     Stream #0:1(und), 1, 1/24000: Audio: aac (mp4a / 0x6134706D), 24000
> Hz, mono, s16, 64 kb/s
>     Metadata:
>       creation_time   : 2012-03-29 21:13:18
>       handler_name    : Sound Media Handler
> [buffer @ 022ddd40] w:1280 h:720 pixfmt:yuv420p tb:1/30000 sar:1/1
> sws_param:flags=2
> [ffmpeg_buffersink @ 022dda40] No opaque field provided
> [mpeg4 @ 022d9a40] detected 1 logical cores
> [mpeg4 @ 022d9a40] intra_quant_bias = 0 inter_quant_bias = -64
> [mpeg4 @ 022d23c0] detected 1 logical cores
> Output #0, avi, to 'out_mpeg4AVI.avi':
>   Metadata:
>     major_brand     : MSNV
>     minor_version   : 19595353
>     compatible_brands: MSNVmp42isom
>     creation_time   : 2012-03-29 21:13:18
>     ISFT            : Lavf54.6.101
>     Stream #0:0(und), 0, 1001/30000: Video: mpeg4 (FMP4 / 0x34504D46),
> yuv420p, 1280x720 [SAR 1:1 DAR 16:9], 1001/30000, q=
> 2-31, 200 kb/s, 29.97 tbn, 29.97 tbc
>     Metadata:
>       creation_time   : 2012-03-29 21:13:18
>       handler_name    : Video Media Handler
>     Stream #0:1(und), 0, 16/375: Audio: aac ([255][0][0][0] / 0x00FF),
> 24000 Hz, mono, 64 kb/s
>     Metadata:
>       creation_time   : 2012-03-29 21:13:18
>       handler_name    : Sound Media Handler
> Stream mapping:
>   Stream #0:0 -> #0:0 (mpeg4 -> mpeg4)
>   Stream #0:1 -> #0:1 (copy)
> Press [q] to stop, [?] for help
> frame= 1470 fps= 32 q=20.0 Lsize=    5169kB time=00:00:49.02 bitrate=
> 863.7kbits/s
> video:4713kB audio:383kB global headers:0kB muxing overhead 1.421177%
>
> C:\Documents and Settings\Angel\Mes documents\Downloads>

New description:

 FFmpeg 0.11.1 (32bits static) under WinXP

 Hi,

 This bug seems similar to other bug tracking on synchronisation issues.

 Bug affects any input video, with same codecs & container.

 Input video directly from camera, see below.

 Descrynize output with (note wrong duration is displayed for the output
 video)

 ffmpeg -i "2012-03 03Praha.mp4" -async 1 -acodec copy -vcodec mpeg4 -q 20
 out_mpeg4AVI.avi

 Synchronize output with:
 ffmpeg -i "2012-03 03Praha.mp4" -async 1 -f mp4 -acodec copy -vcodec mpeg4
 -q 20 out_mpeg4AVIMP4.avi

 Now interestingly,

 1/ if one takes the 1st instruction line, but changes to mkv or mp4, no
 problem, example
 ffmpeg -i "2012-03 03Praha.mp4" -async 1 -acodec copy -vcodec mpeg4 -q 20
 out_mpeg4_mp4.mp4

 2/ if one takes the 1st instruction line, but converts the audio, no
 probem
 ffmpeg -i "2012-03 03Praha.mp4" -async 1 -acodec libmp3lame  -vcodec mpeg4
 -q 20 out_mpeg4AVI_mp3.avi

 3/ Now, no problem with
 ffmpeg -i out_mpeg4.mp4 -vcodec copy -acodec copy -f mp4 output.avi

 4/ KO with
 ffmpeg -i out_mpeg4.mkv -vcodec copy -acodec copy -f mkv output.avi

 Input video available on request.

 Details:
 {{{
 C:\Documents and Settings\Angel\Mes documents\Downloads>ffmpeg -v 9
 -loglevel 99 -i "2012-03 03Praha.mp4" -async 1 -acodec copy -vcodec mpeg4
 -q 20 out_mpeg4AVI.avi
 ffmpeg version N-41416-g718607b Copyright (c) 2000-2012 the FFmpeg
 developers
   built on Jun  8 2012 12:46:19 with gcc 4.6.3
   configuration: --enable-gpl --enable-version3 --disable-w32threads
 --enable-runtime-cpudetect --enable-avisynth --enable-bzlib --enable-
 frei0r --enable-libass --enable-libcelt --enable-libopencore-amrnb
 --enable-libopencore-amrwb --enable-libfreetype --enable-libgsm --enable-
 libmp3lame --enable-libnut --enable-libopenjpeg --enable-librtmp --enable-
 libschroedinger --enable-libspeex --enable-libtheora --enable-libutvideo
 --enable-libvo-aacenc --enable-libvo-amrwbenc --enable-libvorbis --enable-
 libvpx --ena
   libavutil      51. 56.100 / 51. 56.100
   libavcodec     54. 25.100 / 54. 25.100
   libavformat    54.  6.101 / 54.  6.101
   libavdevice    54.  0.100 / 54.  0.100
   libavfilter     2. 78.101 /  2. 78.101
   libswscale      2.  1.100 /  2.  1.100
   libswresample   0. 15.100 /  0. 15.100
   libpostproc    52.  0.100 / 52.  0.100
 [mov,mp4,m4a,3gp,3g2,mj2 @ 022dd220] Format mov,mp4,m4a,3gp,3g2,mj2 probed
 with size=2048 and score=100
 [mov,mp4,m4a,3gp,3g2,mj2 @ 022dd220] ISO: File Type Major Brand: MSNV
 [mov,mp4,m4a,3gp,3g2,mj2 @ 022dd220] File position before
 avformat_find_stream_info() is 54769662
 [mov,mp4,m4a,3gp,3g2,mj2 @ 022dd220] All info found
 [mov,mp4,m4a,3gp,3g2,mj2 @ 022dd220] File position after
 avformat_find_stream_info() is 545749
 Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '2012-03 03Praha.mp4':
   Metadata:
     major_brand     : MSNV
     minor_version   : 19595353
     compatible_brands: MSNVmp42isom
     creation_time   : 2012-03-29 21:13:18
   Duration: 00:00:49.04, start: 0.000000, bitrate: 8933 kb/s
     Stream #0:0(und), 15, 1/30000: Video: mpeg4 (Advanced Coding Profile)
 (mp4v / 0x7634706D), yuv420p, 1280x720 [SAR 1:1 DAR 16:9], 1/30000, 8866
 kb/s, 29.97 fps, 29.97 tbr, 30k tbn, 30k tbc
     Metadata:
       creation_time   : 2012-03-29 21:13:18
       handler_name    : Video Media Handler
     Stream #0:1(und), 1, 1/24000: Audio: aac (mp4a / 0x6134706D), 24000
 Hz, mono, s16, 64 kb/s
     Metadata:
       creation_time   : 2012-03-29 21:13:18
       handler_name    : Sound Media Handler
 [buffer @ 022ddd40] w:1280 h:720 pixfmt:yuv420p tb:1/30000 sar:1/1
 sws_param:flags=2
 [ffmpeg_buffersink @ 022dda40] No opaque field provided
 [mpeg4 @ 022d9a40] detected 1 logical cores
 [mpeg4 @ 022d9a40] intra_quant_bias = 0 inter_quant_bias = -64
 [mpeg4 @ 022d23c0] detected 1 logical cores
 Output #0, avi, to 'out_mpeg4AVI.avi':
   Metadata:
     major_brand     : MSNV
     minor_version   : 19595353
     compatible_brands: MSNVmp42isom
     creation_time   : 2012-03-29 21:13:18
     ISFT            : Lavf54.6.101
     Stream #0:0(und), 0, 1001/30000: Video: mpeg4 (FMP4 / 0x34504D46),
 yuv420p, 1280x720 [SAR 1:1 DAR 16:9], 1001/30000, q=2-31, 200 kb/s, 29.97
 tbn, 29.97 tbc
     Metadata:
       creation_time   : 2012-03-29 21:13:18
       handler_name    : Video Media Handler
     Stream #0:1(und), 0, 16/375: Audio: aac ([255][0][0][0] / 0x00FF),
 24000 Hz, mono, 64 kb/s
     Metadata:
       creation_time   : 2012-03-29 21:13:18
       handler_name    : Sound Media Handler
 Stream mapping:
   Stream #0:0 -> #0:0 (mpeg4 -> mpeg4)
   Stream #0:1 -> #0:1 (copy)
 Press [q] to stop, [?] for help
 frame= 1470 fps= 32 q=20.0 Lsize=    5169kB time=00:00:49.02 bitrate=
 863.7kbits/s
 video:4713kB audio:383kB global headers:0kB muxing overhead 1.421177%

 C:\Documents and Settings\Angel\Mes documents\Downloads>
 }}}

--

Comment:

 Is this also reproducible with current git head?
 Why do you use -async 1?

 Do you believe this is a regression? (=Did it work with older versions of
 FFmpeg?)

-- 
Ticket URL: <https://ffmpeg.org/trac/ffmpeg/ticket/1435#comment:1>
FFmpeg <http://ffmpeg.org>
FFmpeg issue tracker


More information about the FFmpeg-trac mailing list