[FFmpeg-trac] #6841(undetermined:new): 1ms gap in WebM Opus files encoded with ffmpeg

FFmpeg trac at avcodec.org
Fri Nov 17 17:07:23 EET 2017


#6841: 1ms gap in WebM Opus files encoded with ffmpeg
-------------------------------------+-------------------------------------
             Reporter:  ntrrgc       |                     Type:  defect
               Status:  new          |                 Priority:  normal
            Component:               |                  Version:
  undetermined                       |  unspecified
             Keywords:               |               Blocked By:
             Blocking:               |  Reproduced by developer:  0
Analyzed by developer:  0            |
-------------------------------------+-------------------------------------
 When audio files are encoded with Opus and muxed to WebM in ffmpeg there
 is a strange 1ms gap before the second audio frame.

 Note all Opus frames are 20 ms long. There is a closed set of possible
 Opus frame durations, i.e. it's not possible to have a 21 ms long Opus
 frame (see section 2.1.4 of https://tools.ietf.org/html/rfc6716).

 How to reproduce:
 {{{
 % curl https://samples.ffmpeg.org/A-codecs/MP3/01%20-%20Charity%20Case.mp3
 -o /tmp/any-audio-file.mp3

 % ffmpeg -i /tmp/any-audio-file.mp3 -c:a libopus buggy-timestamps.webm

 % mkvinfo -v /tmp/buggy-timestamps.webm |grep SimpleBlock |head -n 5
 | + SimpleBlock (key, track number 1, 1 frame(s), timestamp 0.000s =
 00:00:00.000)
 | + SimpleBlock (key, track number 1, 1 frame(s), timestamp 0.021s =
 00:00:00.021)
 | + SimpleBlock (key, track number 1, 1 frame(s), timestamp 0.041s =
 00:00:00.041)
 | + SimpleBlock (key, track number 1, 1 frame(s), timestamp 0.061s =
 00:00:00.061)
 | + SimpleBlock (key, track number 1, 1 frame(s), timestamp 0.081s =
 00:00:00.081)

 % ffmpeg -version
 ffmpeg version 3.3.5 Copyright (c) 2000-2017 the FFmpeg developers
 built with gcc 7 (GCC)
 configuration: --prefix=/usr --bindir=/usr/bin --datadir=/usr/share/ffmpeg
 --docdir=/usr/share/doc/ffmpeg --incdir=/usr/include/ffmpeg
 --libdir=/usr/lib64 --mandir=/usr/share/man --arch=x86_64 --optflags='-O2
 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2
 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-
 gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -m64
 -mtune=generic' --extra-ldflags='-Wl,-z,relro -specs=/usr/lib/rpm/redhat
 /redhat-hardened-ld ' --extra-cflags='-I/usr/include/nvenc ' --enable-
 libopencore-amrnb --enable-libopencore-amrwb --enable-libvo-amrwbenc
 --enable-version3 --enable-bzlib --disable-crystalhd --enable-fontconfig
 --enable-frei0r --enable-gcrypt --enable-gnutls --enable-ladspa --enable-
 libass --enable-libbluray --enable-libcdio --enable-indev=jack --enable-
 libfreetype --enable-libfribidi --enable-libgsm --enable-libmp3lame
 --enable-nvenc --enable-openal --enable-opencl --enable-opengl --enable-
 libopenjpeg --enable-libopus --enable-libpulse --enable-libschroedinger
 --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libvorbis
 --enable-libv4l2 --enable-libvpx --enable-libx264 --enable-libx265
 --enable-libxvid --enable-avfilter --enable-avresample --enable-postproc
 --enable-pthreads --disable-static --enable-shared --enable-gpl --disable-
 debug --disable-stripping --shlibdir=/usr/lib64 --enable-libmfx --enable-
 runtime-cpudetect
 libavutil      55. 58.100 / 55. 58.100
 libavcodec     57. 89.100 / 57. 89.100
 libavformat    57. 71.100 / 57. 71.100
 libavdevice    57.  6.100 / 57.  6.100
 libavfilter     6. 82.100 /  6. 82.100
 libavresample   3.  5.  0 /  3.  5.  0
 libswscale      4.  6.100 /  4.  6.100
 libswresample   2.  7.100 /  2.  7.100
 libpostproc    54.  5.100 / 54.  5.100
 }}}

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


More information about the FFmpeg-trac mailing list