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

FFmpeg trac at avcodec.org
Mon Apr 3 13:05:15 EEST 2017


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

Comment (by anthontex):

 Good morning, I can confirm that this bug is still around.
 I can reproduce this problem only with 7.1 tracks (now <=5.1 at least for
 me seems to work) and if and only if i'm encoding directly from an mkv
 container. Example:

 {{{
 ffmpeg -i "myfile.mkv" -af "channelmap=channel_layout=7.1" -c:a libopus
 -b:a 384K -mapping_family 1 out.opus
 }}}
 Now that ''out.opus'' plays well with ffplay but if i mux it with
 indifferently ffmpeg or mkvtoolnix, audio is crackling and with artifacts.

 Instead if i do this (let's suppose myfile has a DTS stream):

 {{{
 ffmpeg -i "myfile.mkv" -c:a copy out.dts
 ffmpeg -i "out.dts" -af "channelmap=channel_layout=7.1" -c:a libopus -b:a
 384K -mapping_family 1 out.opus
 }}}

 That ogg/opus stream works fine now, also if i mux it in a mkv container.

 Another thing that works is this:

 Let's suppose i'm encoding as described in the first example ( that
 produce corrupted out.opus)
 and put that track in a mkv container and so i'm getting artifacts:

 {{{
 ffmpeg -i "myfile.mkv" -af "channelmap=channel_layout=7.1" -c:a libopus
 -b:a 384K -mapping_family 1 out.opus
 ffmpeg -i out.opus -c copy muxed.mkv
 }}}

 Now if do this:

 {{{
 ffmpeg -i muxed.mkv -c:a copy out2.opus
 ffmpeg -i out2.opus -c copy muxed2.mkv
 }}}

 So if i demux it and remux, it seems that ffmpeg fix something and
 muxed2.mkv is now working well.

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


More information about the FFmpeg-trac mailing list