[FFmpeg-trac] #4178(undetermined:open): Opus audio in MKV container

FFmpeg trac at avcodec.org
Thu Jan 22 16:50:30 CET 2015


#4178: Opus audio in MKV container
-------------------------------------+-------------------------------------
             Reporter:  agressiv     |                    Owner:  vigneshvg
                 Type:  defect       |                   Status:  open
             Priority:  important    |                Component:
              Version:  git-master   |  undetermined
             Keywords:  mkv opus     |               Resolution:
  regression                         |               Blocked By:
             Blocking:               |  Reproduced by developer:  1
Analyzed by developer:  1            |
-------------------------------------+-------------------------------------

Comment (by mbunkus):

 The MKVToolNix' author here. For each Opus packet read from an Ogg file
 mkvmerge decodes the Opus TOC and calculates the expected decoded duration
 (and the expected end timestamp as the sum of the durations of all prior
 Opus packets). This duration is compared with the Ogg page's granulepos
 which signals when the containing packets are supposed to _end_. If there
 is a difference between what the Opus TOC and the Ogg page's granulepos
 say then this difference is written as a !DiscardPadding element.

 I've done some quick tests. For files created by opusenc there's exactly
 one Ogg page/Opus packet for which this is the case: the very last one in
 the file. The same is true for files created with ffmpeg 2.5 (from the
 Arch Linux repositories). The resulting Matroska files contain exactly one
 !DiscardPadding element.

 I've also given today's ffmpeg git a try (revision
 a30fd828abf4830d15a1bd7935d08477961f6628). That version does not show any
 irregularities either; mkvmerge only finds a single Ogg packet with such a
 difference.

 Therefore I'm interested how the !Ogg/Opus files the ticket's submitter
 has used were created. The amount of !DiscardPadding elements in the
 sample file attached to this ticket suggests that pretty much all Ogg
 pages have granulepos values that differ from what the Opus TOC suggests.

 I'd also like to get my hands on such an !Ogg/Opus file if possible. The
 first couple of MB should be enough.

--
Ticket URL: <https://trac.ffmpeg.org/ticket/4178#comment:8>
FFmpeg <https://ffmpeg.org>
FFmpeg issue tracker


More information about the FFmpeg-trac mailing list