[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