[FFmpeg-trac] #5509(avformat:new): ffmpeg loses Opus Codec delay on remuxing

FFmpeg trac at avcodec.org
Wed May 4 18:38:35 CEST 2016


#5509: ffmpeg loses Opus Codec delay on remuxing
----------------------------------+--------------------------------------
             Reporter:  kagami    |                     Type:  defect
               Status:  new       |                 Priority:  normal
            Component:  avformat  |                  Version:  git-master
             Keywords:            |               Blocked By:
             Blocking:            |  Reproduced by developer:  0
Analyzed by developer:  0         |
----------------------------------+--------------------------------------
 How to reproduce:
 {{{
 $ ./ffmpeg -version
 ffmpeg version N-79754-g66eb5b8 Copyright (c) 2000-2016 the FFmpeg
 developers
 built with gcc 4.9.3 (Gentoo 4.9.3 p1.4, pie-0.6.4)
 configuration: --disable-all --disable-stripping --disable-doc --enable-
 gpl --enable-ffmpeg --enable-avcodec --enable-avformat --enable-avutil
 --enable-swresample --enable-swscale --enable-avfilter --disable-bzlib
 --disable-xlib --disable-zlib --disable-libxcb --disable-sdl --disable-
 iconv --enable-decoder=opus --enable-parser=opus --enable-demuxer=matroska
 --enable-muxer=webm --enable-protocol=file
 libavutil      55. 23.100 / 55. 23.100
 libavcodec     57. 38.100 / 57. 38.100
 libavformat    57. 36.100 / 57. 36.100
 libavfilter     6. 44.100 /  6. 44.100
 libswscale      4.  1.100 /  4.  1.100
 libswresample   2.  0.101 /  2.  0.101

 $ ./ffmpeg -hide_banner -f lavfi -i anullsrc -t 1 -c libopus 1.webm
 Input #0, lavfi, from 'anullsrc':
   Duration: N/A, start: 0.000000, bitrate: N/A
     Stream #0:0: Audio: pcm_u8, 44100 Hz, stereo, u8, 705 kb/s
 [libopus @ 0x75d120] No bit rate set. Defaulting to 96000 bps.
 [webm @ 0x75b900] Using AVStream.codec to pass codec parameters to muxers
 is deprecated, use AVStream.codecpar instead.
 Output #0, webm, to '1.webm':
   Metadata:
     encoder         : Lavf57.36.100
     Stream #0:0: Audio: opus, 48000 Hz, stereo, s16, 96 kb/s
     Metadata:
       encoder         : Lavc57.38.100 libopus
 Stream mapping:
   Stream #0:0 -> #0:0 (pcm_u8 (native) -> opus (libopus))
 Press [q] to stop, [?] for help
 size=       1kB time=00:00:01.01 bitrate=   7.6kbits/s speed= 152x
 video:0kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB
 muxing overhead: 526.797363%

 $ mkvinfo 1.webm | grep delay
 |  + Codec delay: 6.500ms (6500000ns)

 $ ./ffmpeg -hide_banner -i 1.webm -c copy 2.webm
 Input #0, matroska,webm, from '1.webm':
   Metadata:
     encoder         : Lavf57.36.100
   Duration: 00:00:01.01, start: -0.007000, bitrate: 7 kb/s
     Stream #0:0: Audio: opus, 48000 Hz, stereo, fltp (default)
 [webm @ 0x23e12c0] Using AVStream.codec to pass codec parameters to muxers
 is deprecated, use AVStream.codecpar instead.
 Output #0, webm, to '2.webm':
   Metadata:
     encoder         : Lavf57.36.100
     Stream #0:0: Audio: opus, 48000 Hz, stereo (default)
 Stream mapping:
   Stream #0:0 -> #0:0 (copy)
 Press [q] to stop, [?] for help
 size=       1kB time=00:00:01.00 bitrate=   7.6kbits/s speed=2.81e+03x
 video:0kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB
 muxing overhead: 441.477264%

 $ mkvinfo 2.webm | grep delay
 <nothing>
 }}}

 I did bisect and found that this is introduced by
 [https://git.videolan.org/?p=ffmpeg.git;a=commit;h=6f69f7a8bf6a0d013985578df2ef42ee6b1c7994
 6f69f7a8bf6a0d013985578df2ef42ee6b1c7994] (Apr 10). Note that lack of
 Codec delay parameter makes such files unplayable in latest Firefox.

--
Ticket URL: <https://trac.ffmpeg.org/ticket/5509>
FFmpeg <https://ffmpeg.org>
FFmpeg issue tracker


More information about the FFmpeg-trac mailing list