Opened 11 years ago

Closed 8 years ago

#2141 closed defect (fixed)

FFMPEG fails to mux VC-1 Video to MPEG-TS container

Reported by: turkey-studdins Owned by:
Priority: normal Component: avformat
Version: git-master Keywords: mpegts vc1
Cc: Blocked By:
Blocking: Reproduced by developer: yes
Analyzed by developer: no

Description

Whilst trying to mux an MKV (Created by MakeMKV) with VC-1 as the video codec to MPEG-TS I have noted that the file that is created is the correct size (approximately the same size as the input file) but all media players, and also MediaInfo can only see the audio track within the resulting file.

I have pasted the Ubuntu command line, but, the same problem is apparent on all platforms. (Windows, Mac, and Linux).

I can make the source mkv file available on an ftp server on request (It's about 25GB).

The command line that I am using is as follows.

    $ ffmpeg -fflags +genpts -i Senna_t01.mkv -acodec mp2 -ac 2 -vcodec copy -copyts -y ffmpeg.Senna_t01.ts
    ffmpeg version 0.10.6-6:0.10.6-0ubuntu0jon1~precise1 Copyright (c) 2000-2012 the FFmpeg developers
      built on Nov 12 2012 13:15:11 with gcc 4.6.3
      configuration: --arch=i386 --enable-pthreads --enable-runtime-cpudetect --extra-version='6:0.10.6-0ubuntu0jon1~precise1' --libdir=/usr/lib/i386-linux-gnu --disable-stripping --prefix=/usr --enable-bzlib --enable-libdc1394 --enable-libfreetype --enable-frei0r --enable-gnutls --enable-libgsm --enable-libmp3lame --enable-librtmp --enable-libopencv --enable-libopenjpeg --enable-libpulse --enable-libschroedinger --enable-libspeex --enable-libtheora --enable-vaapi --enable-vdpau --enable-libvorbis --enable-libvpx --enable-zlib --enable-gpl --enable-postproc --enable-libcdio --enable-x11grab --enable-libx264 --shlibdir=/usr/lib/i386-linux-gnu --enable-shared --disable-static
      avutil      configuration: --arch=i386 --enable-pthreads --enable-runtime-cpudetect --extra-version='6:0.10.6-0ubuntu0jon1~precise1' --libdir=/usr/lib/i386-linux-gnu --disable-stripping --prefix=/usr --enable-bzlib --enable-libdc1394 --enable-libfreetype --enable-frei0r --enable-gnutls --enable-libgsm --enable-libmp3lame --enable-librtmp --enable-libopencv --enable-libopenjpeg --enable-libpulse --enable-libschroedinger --enable-libspeex --enable-libtheora --enable-vaapi --enable-vdpau --enable-libvorbis --enable-libvpx --enable-zlib --enable-gpl --enable-postproc --enable-libcdio --enable-x11grab --enable-libx264 --shlibdir=/usr/lib/i386-linux-gnu/i686/cmov --cpu=i686 --enable-shared --disable-static --disable-ffmpeg --disable-ffplay --disable-ffprobe --disable-ffserver
      avcodec     configuration: --arch=i386 --enable-pthreads --enable-runtime-cpudetect --extra-version='6:0.10.6-0ubuntu0jon1~precise1' --libdir=/usr/lib/i386-linux-gnu --disable-stripping --prefix=/usr --enable-bzlib --enable-libdc1394 --enable-libfreetype --enable-frei0r --enable-gnutls --enable-libgsm --enable-libmp3lame --enable-librtmp --enable-libopencv --enable-libopenjpeg --enable-libpulse --enable-libschroedinger --enable-libspeex --enable-libtheora --enable-vaapi --enable-vdpau --enable-libvorbis --enable-libvpx --enable-zlib --enable-gpl --enable-postproc --enable-libcdio --enable-x11grab --enable-libx264 --shlibdir=/usr/lib/i386-linux-gnu/i686/cmov --cpu=i686 --enable-shared --disable-static --disable-ffmpeg --disable-ffplay --disable-ffprobe --disable-ffserver
      avformat    configuration: --arch=i386 --enable-pthreads --enable-runtime-cpudetect --extra-version='6:0.10.6-0ubuntu0jon1~precise1' --libdir=/usr/lib/i386-linux-gnu --disable-stripping --prefix=/usr --enable-bzlib --enable-libdc1394 --enable-libfreetype --enable-frei0r --enable-gnutls --enable-libgsm --enable-libmp3lame --enable-librtmp --enable-libopencv --enable-libopenjpeg --enable-libpulse --enable-libschroedinger --enable-libspeex --enable-libtheora --enable-vaapi --enable-vdpau --enable-libvorbis --enable-libvpx --enable-zlib --enable-gpl --enable-postproc --enable-libcdio --enable-x11grab --enable-libx264 --shlibdir=/usr/lib/i386-linux-gnu/i686/cmov --cpu=i686 --enable-shared --disable-static --disable-ffmpeg --disable-ffplay --disable-ffprobe --disable-ffserver
      avdevice    configuration: --arch=i386 --enable-pthreads --enable-runtime-cpudetect --extra-version='6:0.10.6-0ubuntu0jon1~precise1' --libdir=/usr/lib/i386-linux-gnu --disable-stripping --prefix=/usr --enable-bzlib --enable-libdc1394 --enable-libfreetype --enable-frei0r --enable-gnutls --enable-libgsm --enable-libmp3lame --enable-librtmp --enable-libopencv --enable-libopenjpeg --enable-libpulse --enable-libschroedinger --enable-libspeex --enable-libtheora --enable-vaapi --enable-vdpau --enable-libvorbis --enable-libvpx --enable-zlib --enable-gpl --enable-postproc --enable-libcdio --enable-x11grab --enable-libx264 --shlibdir=/usr/lib/i386-linux-gnu/i686/cmov --cpu=i686 --enable-shared --disable-static --disable-ffmpeg --disable-ffplay --disable-ffprobe --disable-ffserver
      avfilter    configuration: --arch=i386 --enable-pthreads --enable-runtime-cpudetect --extra-version='6:0.10.6-0ubuntu0jon1~precise1' --libdir=/usr/lib/i386-linux-gnu --disable-stripping --prefix=/usr --enable-bzlib --enable-libdc1394 --enable-libfreetype --enable-frei0r --enable-gnutls --enable-libgsm --enable-libmp3lame --enable-librtmp --enable-libopencv --enable-libopenjpeg --enable-libpulse --enable-libschroedinger --enable-libspeex --enable-libtheora --enable-vaapi --enable-vdpau --enable-libvorbis --enable-libvpx --enable-zlib --enable-gpl --enable-postproc --enable-libcdio --enable-x11grab --enable-libx264 --shlibdir=/usr/lib/i386-linux-gnu/i686/cmov --cpu=i686 --enable-shared --disable-static --disable-ffmpeg --disable-ffplay --disable-ffprobe --disable-ffserver
      swscale     configuration: --arch=i386 --enable-pthreads --enable-runtime-cpudetect --extra-version='6:0.10.6-0ubuntu0jon1~precise1' --libdir=/usr/lib/i386-linux-gnu --disable-stripping --prefix=/usr --enable-bzlib --enable-libdc1394 --enable-libfreetype --enable-frei0r --enable-gnutls --enable-libgsm --enable-libmp3lame --enable-librtmp --enable-libopencv --enable-libopenjpeg --enable-libpulse --enable-libschroedinger --enable-libspeex --enable-libtheora --enable-vaapi --enable-vdpau --enable-libvorbis --enable-libvpx --enable-zlib --enable-gpl --enable-postproc --enable-libcdio --enable-x11grab --enable-libx264 --shlibdir=/usr/lib/i386-linux-gnu/i686/cmov --cpu=i686 --enable-shared --disable-static --disable-ffmpeg --disable-ffplay --disable-ffprobe --disable-ffserver
      swresample  configuration: --arch=i386 --enable-pthreads --enable-runtime-cpudetect --extra-version='6:0.10.6-0ubuntu0jon1~precise1' --libdir=/usr/lib/i386-linux-gnu --disable-stripping --prefix=/usr --enable-bzlib --enable-libdc1394 --enable-libfreetype --enable-frei0r --enable-gnutls --enable-libgsm --enable-libmp3lame --enable-librtmp --enable-libopencv --enable-libopenjpeg --enable-libpulse --enable-libschroedinger --enable-libspeex --enable-libtheora --enable-vaapi --enable-vdpau --enable-libvorbis --enable-libvpx --enable-zlib --enable-gpl --enable-postproc --enable-libcdio --enable-x11grab --enable-libx264 --shlibdir=/usr/lib/i386-linux-gnu/i686/cmov --cpu=i686 --enable-shared --disable-static --disable-ffmpeg --disable-ffplay --disable-ffprobe --disable-ffserver
      postproc    configuration: --arch=i386 --enable-pthreads --enable-runtime-cpudetect --extra-version='6:0.10.6-0ubuntu0jon1~precise1' --libdir=/usr/lib/i386-linux-gnu --disable-stripping --prefix=/usr --enable-bzlib --enable-libdc1394 --enable-libfreetype --enable-frei0r --enable-gnutls --enable-libgsm --enable-libmp3lame --enable-librtmp --enable-libopencv --enable-libopenjpeg --enable-libpulse --enable-libschroedinger --enable-libspeex --enable-libtheora --enable-vaapi --enable-vdpau --enable-libvorbis --enable-libvpx --enable-zlib --enable-gpl --enable-postproc --enable-libcdio --enable-x11grab --enable-libx264 --shlibdir=/usr/lib/i386-linux-gnu/i686/cmov --cpu=i686 --enable-shared --disable-static --disable-ffmpeg --disable-ffplay --disable-ffprobe --disable-ffserver
      libavutil      51. 35.100 / 51. 35.100
      libavcodec     53. 61.100 / 53. 61.100
      libavformat    53. 32.100 / 53. 32.100
      libavdevice    53.  4.100 / 53.  4.100
      libavfilter     2. 61.100 /  2. 61.100
      libswscale      2.  1.100 /  2.  1.100
      libswresample   0.  6.100 /  0.  6.100
      libpostproc    52.  0.100 / 52.  0.100
    Input #0, matroska,webm, from 'Senna_t01.mkv':
      Metadata:
        title           : Senna
      Duration: 02:42:07.09, start: 0.000000, bitrate: 23422 kb/s
        Chapter #0.0: start 0.000000, end 735.192711
        Metadata:
          title           : Chapter 00
        Chapter #0.1: start 735.192711, end 1014.805356
        Metadata:
          title           : Chapter 01
        Chapter #0.2: start 1014.805356, end 1775.857267
        Metadata:
          title           : Chapter 02
        Chapter #0.3: start 1775.857267, end 2148.562889
        Metadata:
          title           : Chapter 03
        Chapter #0.4: start 2148.562889, end 2701.240000
        Metadata:
          title           : Chapter 04
        Chapter #0.5: start 2701.240000, end 3202.991200
        Metadata:
          title           : Chapter 05
        Chapter #0.6: start 3202.991200, end 3602.974044
        Metadata:
          title           : Chapter 06
        Chapter #0.7: start 3602.974044, end 3997.242889
        Metadata:
          title           : Chapter 07
        Chapter #0.8: start 3997.242889, end 4340.127089
        Metadata:
          title           : Chapter 08
        Chapter #0.9: start 4340.127089, end 4831.826600
        Metadata:
          title           : Chapter 09
        Chapter #0.10: start 4831.826600, end 5245.781800
        Metadata:
          title           : Chapter 10
        Chapter #0.11: start 5245.781800, end 5421.999511
        Metadata:
          title           : Chapter 11
        Chapter #0.12: start 5421.999511, end 5741.276800
        Metadata:
          title           : Chapter 12
        Chapter #0.13: start 5741.276800, end 6197.691044
        Metadata:
          title           : Chapter 13
        Chapter #0.14: start 6197.691044, end 6897.181467
        Metadata:
          title           : Chapter 14
        Chapter #0.15: start 6897.181467, end 7570.312200
        Metadata:
          title           : Chapter 15
        Chapter #0.16: start 7570.312200, end 8140.798756
        Metadata:
          title           : Chapter 16
        Chapter #0.17: start 8140.798756, end 9045.285644
        Metadata:
          title           : Chapter 17
        Chapter #0.18: start 9045.285644, end 9535.900756
        Metadata:
          title           : Chapter 18
        Chapter #0.19: start 9535.900756, end 9727.092000
        Metadata:
          title           : Chapter 19
        Stream #0:0(eng): Video: vc1 (Advanced) (WVC1 / 0x31435657), yuv420p, 1920x1080 [SAR 1:1 DAR 16:9], 23.98 fps, 23.98 tbr, 1k tbn, 47.95 tbc
        Stream #0:1(por): Audio: dts (DTS), 48000 Hz, 5.1(side), s16, 1536 kb/s (default)
        Metadata:
          title           : 3/2+1
        Stream #0:2(eng): Subtitle: hdmv_pgs_subtitle (default)
        Stream #0:3(eng): Subtitle: hdmv_pgs_subtitle
    [mpegts @ 0x90be4a0] muxrate VBR, pcr every 2 pkts, sdt every 200, pat/pmt every 40 pkts
    Output #0, mpegts, to 'ffmpeg.Senna_t01.ts':
      Metadata:
        title           : Senna
        encoder         : Lavf53.32.100
        Chapter #0.0: start 0.000000, end 735.192711
        Metadata:
          title           : Chapter 00
        Chapter #0.1: start 735.192711, end 1014.805356
        Metadata:
          title           : Chapter 01
        Chapter #0.2: start 1014.805356, end 1775.857267
        Metadata:
          title           : Chapter 02
        Chapter #0.3: start 1775.857267, end 2148.562889
        Metadata:
          title           : Chapter 03
        Chapter #0.4: start 2148.562889, end 2701.240000
        Metadata:
          title           : Chapter 04
        Chapter #0.5: start 2701.240000, end 3202.991200
        Metadata:
          title           : Chapter 05
        Chapter #0.6: start 3202.991200, end 3602.974044
        Metadata:
          title           : Chapter 06
        Chapter #0.7: start 3602.974044, end 3997.242889
        Metadata:
          title           : Chapter 07
        Chapter #0.8: start 3997.242889, end 4340.127089
        Metadata:
          title           : Chapter 08
        Chapter #0.9: start 4340.127089, end 4831.826600
        Metadata:
          title           : Chapter 09
        Chapter #0.10: start 4831.826600, end 5245.781800
        Metadata:
          title           : Chapter 10
        Chapter #0.11: start 5245.781800, end 5421.999511
        Metadata:
          title           : Chapter 11
        Chapter #0.12: start 5421.999511, end 5741.276800
        Metadata:
          title           : Chapter 12
        Chapter #0.13: start 5741.276800, end 6197.691044
        Metadata:
          title           : Chapter 13
        Chapter #0.14: start 6197.691044, end 6897.181467
        Metadata:
          title           : Chapter 14
        Chapter #0.15: start 6897.181467, end 7570.312200
        Metadata:
          title           : Chapter 15
        Chapter #0.16: start 7570.312200, end 8140.798756
        Metadata:
          title           : Chapter 16
        Chapter #0.17: start 8140.798756, end 9045.285644
        Metadata:
          title           : Chapter 17
        Chapter #0.18: start 9045.285644, end 9535.900756
        Metadata:
          title           : Chapter 18
        Chapter #0.19: start 9535.900756, end 9727.092000
        Metadata:
          title           : Chapter 19
        Stream #0:0(eng): Video: vc1 (WVC1 / 0x31435657), yuv420p, 1920x1080 [SAR 1:1 DAR 16:9], q=2-31, 23.98 fps, 90k tbn, 23.98 tbc
        Stream #0:1(por): Audio: mp2, 48000 Hz, 2 channels, s16, 128 kb/s (default)
        Metadata:
          title           : 3/2+1
    Stream mapping:
      Stream #0:0 -> #0:0 (copy)
      Stream #0:1 -> #0:1 (dca -> mp2)
    Press [q] to stop, [?] for help
    Input stream #0:1 frame changed from rate:48000 fmt:s16 ch:6 to rate:48000 fmt:s16 ch:2
    frame=233217 fps=153 q=-1.0 Lsize=28186716kB time=02:42:07.09 bitrate=23738.4kbits/s   
    video:25967210kB audio:151986kB global headers:0kB muxing overhead 7.915711%

Change History (7)

comment:1 by Carl Eugen Hoyos, 11 years ago

Component: undeterminedavformat
Keywords: mpegts vc1 added; VC-1 MUX MPEG-TS removed
Reproduced by developer: set
Status: newopen
Version: unspecifiedgit-master

The bug is that FFmpeg does not warn that muxing vc-1 in mpeg-ts is not supported.

in reply to:  1 comment:2 by turkey-studdins, 11 years ago

Replying to cehoyos:

The bug is that FFmpeg does not warn that muxing vc-1 in mpeg-ts is not supported.

Thanks : ) Is this something that has a scheduled release date?

comment:3 by Carl Eugen Hoyos, 11 years ago

I don't think there has ever been a ticket with a "scheduled release date" (whatever this may mean in practice), but a patch is certainly welcome!

comment:4 by Carl Eugen Hoyos, 11 years ago

$ ffmpeg -i fate-suite/vc1/SA20021.vc1 -vcodec copy out.ts
ffmpeg version N-48932-gc994bb2 Copyright (c) 2000-2013 the FFmpeg developers
  built on Jan 15 2013 20:46:16 with gcc 4.7 (SUSE Linux)
  configuration: --enable-gpl --disable-indev=jack
  libavutil      52. 15.100 / 52. 15.100
  libavcodec     54. 89.100 / 54. 89.100
  libavformat    54. 60.100 / 54. 60.100
  libavdevice    54.  3.102 / 54.  3.102
  libavfilter     3. 32.100 /  3. 32.100
  libswscale      2.  1.103 /  2.  1.103
  libswresample   0. 17.102 /  0. 17.102
  libpostproc    52.  2.100 / 52.  2.100
[vc1 @ 0x1a38de0] Estimating duration from bitrate, this may be inaccurate
Input #0, vc1, from 'fate-suite/vc1/SA20021.vc1':
  Duration: N/A, bitrate: N/A
    Stream #0:0: Video: vc1 (Advanced), yuv420p, 704x480 [SAR 1:1 DAR 22:15], 25 fps, 25 tbr, 1200k tbn, 25 tbc
Output #0, mpegts, to 'out.ts':
  Metadata:
    encoder         : Lavf54.60.100
    Stream #0:0: Video: vc1, yuv420p, 704x480 [SAR 1:1 DAR 22:15], q=2-31, 25 fps, 90k tbn, 25 tbc
Stream mapping:
  Stream #0:0 -> #0:0 (copy)
Press [q] to stop, [?] for help
frame=   60 fps=0.0 q=-1.0 Lsize=     821kB time=00:00:02.40 bitrate=2803.7kbits/s
video:754kB audio:0kB subtitle:0 global headers:0kB muxing overhead 8.948803%
$ ffmpeg -probesize 2G -analyzeduration 2G -i out.ts
ffmpeg version N-48932-gc994bb2 Copyright (c) 2000-2013 the FFmpeg developers
  built on Jan 15 2013 20:46:16 with gcc 4.7 (SUSE Linux)
  configuration: --enable-gpl --disable-indev=jack
  libavutil      52. 15.100 / 52. 15.100
  libavcodec     54. 89.100 / 54. 89.100
  libavformat    54. 60.100 / 54. 60.100
  libavdevice    54.  3.102 / 54.  3.102
  libavfilter     3. 32.100 /  3. 32.100
  libswscale      2.  1.103 /  2.  1.103
  libswresample   0. 17.102 /  0. 17.102
  libpostproc    52.  2.100 / 52.  2.100
[mpegts @ 0x283b6a0] probed stream 0 failed
[mpegts @ 0x283b6a0] Could not find codec parameters for stream 0 (Unknown: none ([6][0][0][0] / 0x0006)): unknown codec
Consider increasing the value for the 'analyzeduration' and 'probesize' options
out.ts: could not find codec parameters

in reply to:  4 comment:5 by turkey-studdins, 11 years ago

Replying to cehoyos:

$ ffmpeg -i fate-suite/vc1/SA20021.vc1 -vcodec copy out.ts
ffmpeg version N-48932-gc994bb2 Copyright (c) 2000-2013 the FFmpeg developers
  built on Jan 15 2013 20:46:16 with gcc 4.7 (SUSE Linux)
  configuration: --enable-gpl --disable-indev=jack
  libavutil      52. 15.100 / 52. 15.100
  libavcodec     54. 89.100 / 54. 89.100
  libavformat    54. 60.100 / 54. 60.100
  libavdevice    54.  3.102 / 54.  3.102
  libavfilter     3. 32.100 /  3. 32.100
  libswscale      2.  1.103 /  2.  1.103
  libswresample   0. 17.102 /  0. 17.102
  libpostproc    52.  2.100 / 52.  2.100
[vc1 @ 0x1a38de0] Estimating duration from bitrate, this may be inaccurate
Input #0, vc1, from 'fate-suite/vc1/SA20021.vc1':
  Duration: N/A, bitrate: N/A
    Stream #0:0: Video: vc1 (Advanced), yuv420p, 704x480 [SAR 1:1 DAR 22:15], 25 fps, 25 tbr, 1200k tbn, 25 tbc
Output #0, mpegts, to 'out.ts':
  Metadata:
    encoder         : Lavf54.60.100
    Stream #0:0: Video: vc1, yuv420p, 704x480 [SAR 1:1 DAR 22:15], q=2-31, 25 fps, 90k tbn, 25 tbc
Stream mapping:
  Stream #0:0 -> #0:0 (copy)
Press [q] to stop, [?] for help
frame=   60 fps=0.0 q=-1.0 Lsize=     821kB time=00:00:02.40 bitrate=2803.7kbits/s
video:754kB audio:0kB subtitle:0 global headers:0kB muxing overhead 8.948803%
$ ffmpeg -probesize 2G -analyzeduration 2G -i out.ts
ffmpeg version N-48932-gc994bb2 Copyright (c) 2000-2013 the FFmpeg developers
  built on Jan 15 2013 20:46:16 with gcc 4.7 (SUSE Linux)
  configuration: --enable-gpl --disable-indev=jack
  libavutil      52. 15.100 / 52. 15.100
  libavcodec     54. 89.100 / 54. 89.100
  libavformat    54. 60.100 / 54. 60.100
  libavdevice    54.  3.102 / 54.  3.102
  libavfilter     3. 32.100 /  3. 32.100
  libswscale      2.  1.103 /  2.  1.103
  libswresample   0. 17.102 /  0. 17.102
  libpostproc    52.  2.100 / 52.  2.100
[mpegts @ 0x283b6a0] probed stream 0 failed
[mpegts @ 0x283b6a0] Could not find codec parameters for stream 0 (Unknown: none ([6][0][0][0] / 0x0006)): unknown codec
Consider increasing the value for the 'analyzeduration' and 'probesize' options
out.ts: could not find codec parameters

Happy to roll my sleeves up and attempt a fix - not sure where to start looking though.

comment:6 by Carl Eugen Hoyos, 11 years ago

Summary: FFMPEG fails to mux VC-1 Video from MKV to MPEG-TS containerFFMPEG fails to mux VC-1 Video to MPEG-TS container

comment:7 by Carl Eugen Hoyos, 8 years ago

Resolution: fixed
Status: openclosed

Implemented by Hagen Schmidt in 7bf465abf3697dcddfb4021e6db9aeec1724f7ed

Note: See TracTickets for help on using tickets.