[FFmpeg-trac] #7783(ffmpeg:new): Copy of VobSub stream from MP4 to Matroska fails

FFmpeg trac at avcodec.org
Sun Mar 10 16:41:47 EET 2019


#7783: Copy of VobSub stream from MP4 to Matroska fails
-------------------------------------+-------------------------------------
             Reporter:  martchus     |                     Type:  defect
               Status:  new          |                 Priority:  minor
            Component:  ffmpeg       |                  Version:  4.1
             Keywords:  mp4s         |               Blocked By:
  dvd_subtitle matroska              |
             Blocking:               |  Reproduced by developer:  0
Analyzed by developer:  0            |
-------------------------------------+-------------------------------------
 Summary of the bug:

 When using `-c:s copy` ffmpeg fails to copy a subtitle stream of the
 format `dvd_subtitle` from an MP4 file to a Matroska file. Instead one
 gets the following error message:

 {{{
 [matroska @ 0x563513bfa400] Tag mp4s incompatible with output codec id
 '94208' ([0][0][0][0])
 Could not write header for output file #0 (incorrect codec parameters ?):
 Invalid data found when processing input
 Error initializing output stream 0:0 --
 Conversion failed!
 }}}

 How to reproduce:

 {{{
 ffmpeg -hwaccel cuvid -c:v h264_cuvid -i input_with_dvd_subtitle.mp4 -map
 0:0 -map 0:1 -map 0:2 -map 0:3 -map 0:4 -map 0:5 -c:v hevc_nvenc
 -profile:v main10 -preset slow -rc vbr_hq -cq 1 -c:a copy -c:s copy
 output.mkv
 ffmpeg version 4.1.1 Copyright (c) 2000-2019 the FFmpeg developers
   built with gcc 8.2.1 (GCC) 20181127
   configuration: --prefix=/usr --extra-cflags=-I/opt/cuda/include --extra-
 ldflags='-L/opt/cuda/lib64 -Wl,-rpath
 -Wl,/opt/intel/mediasdk/lib64:/opt/intel/mediasdk/plugins'
 --toolchain=hardened --disable-rpath --enable-gpl --enable-version3
 --enable-nonfree --disable-static --disable-stripping --enable-shared
 --enable-swresample --enable-cuda-sdk --enable-libnpp --enable-libmfx
 --enable-ffnvcodec --enable-libdrm --enable-libmfx --enable-nvenc
 --enable-nvdec --enable-omx --enable-omx-rpi --enable-alsa --enable-
 avisynth --enable-chromaprint --enable-decoder=atrac3 --enable-
 decoder=atrac3p --enable-bzlib --enable-fontconfig --enable-frei0r
 --enable-gpl --enable-gray --enable-iconv --enable-ladspa --enable-libaom
 --enable-libass --enable-libcodec2 --enable-libbluray --enable-libbs2b
 --enable-libcaca --enable-libcdio --enable-libcelt --enable-libcodec2
 --enable-libdavs2 --enable-libdc1394 --enable-libfdk-aac --enable-
 libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-
 libiec61883 --enable-libilbc --enable-libjack --enable-libklvanc --enable-
 libkvazaar --enable-liblensfun --enable-libmodplug --enable-libmp3lame
 --enable-libmysofa --enable-libndi_newtek --enable-libopencore-amrnb
 --enable-libopencore-amrwb --disable-libopencv --enable-libopenh264
 --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-
 libpulse --enable-librsvg --enable-librubberband --enable-librtmp
 --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex
 --disable-libsrt --enable-libssh --enable-libtensorflow --enable-
 libtesseract --enable-libtheora --enable-libtwolame --enable-libv4l2
 --enable-libvidstab --disable-libvmaf --enable-libvo-amrwbenc --enable-
 libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-
 libx264 --enable-libx265 --enable-libxavs --enable-libxavs2 --enable-
 libxcb --enable-libxcb-shm --enable-libxcb-xfixes --enable-libxcb-shape
 --enable-libxvid --enable-libxml2 --enable-libzimg --enable-libzmq
 --enable-libzvbi --enable-lv2 --enable-lzma --enable-openal --enable-
 opencl --enable-opengl --enable-openssl --enable-rkmpp --enable-sndio
 --enable-sdl2 --enable-vapoursynth --enable-v4l2-m2m --enable-vaapi
 --enable-vdpau --enable-xlib --enable-zlib
   libavutil      56. 22.100 / 56. 22.100
   libavcodec     58. 35.100 / 58. 35.100
   libavformat    58. 20.100 / 58. 20.100
   libavdevice    58.  5.100 / 58.  5.100
   libavfilter     7. 40.101 /  7. 40.101
   libswscale      5.  3.100 /  5.  3.100
   libswresample   3.  3.100 /  3.  3.100
   libpostproc    55.  3.100 / 55.  3.100
 [mov,mp4,m4a,3gp,3g2,mj2 @ 0x563513a8d2c0] stream 0, timescale not set
 [AVBSFContext @ 0x56351408ab00] Invalid NAL unit 0, skipping.
     Last message repeated 11 times
 [h264 @ 0x563513aa6280] Invalid NAL unit 0, skipping.
     Last message repeated 11 times
 [h264 @ 0x563513aa6280] no frame!
 [mov,mp4,m4a,3gp,3g2,mj2 @ 0x563513a8d2c0] Stream #7: not enough frames to
 estimate rate; consider increasing probesize
 [mov,mp4,m4a,3gp,3g2,mj2 @ 0x563513a8d2c0] decoding for stream 7 failed
 [mov,mp4,m4a,3gp,3g2,mj2 @ 0x563513a8d2c0] Could not find codec parameters
 for stream 7 (Video: h264, none): unspecified size
 Consider increasing the value for the 'analyzeduration' and 'probesize'
 options
 Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'input.mp4':
   Metadata:
     major_brand     : mp42
     minor_version   : 0
     compatible_brands: mp42isomavc1
     creation_time   :
     title           :
     artist          :
     album           :
     comment         :
     encoder         : DVDFab 9.1.5.2
   Duration: 02:26:06.12, start: 0.000000, bitrate: 10090 kb/s
     Chapter #0:0: start 0.000000, end 258.508208
     Metadata:
       title           : Chapter 1
     Chapter #0:1: start 258.508208, end 586.627625
     Metadata:
       title           : Chapter 2
     Chapter #0:2: start 586.627625, end 916.206833
     Metadata:
       title           : Chapter 3
     Chapter #0:3: start 916.206833, end 1153.568958
     Metadata:
       title           : Chapter 4
     Chapter #0:4: start 1153.568958, end 1564.229167
     Metadata:
       title           : Chapter 5
     Chapter #0:5: start 1564.229167, end 1897.770708
     Metadata:
       title           : Chapter 6
     Chapter #0:6: start 1897.770708, end 2143.307625
     Metadata:
       title           : Chapter 7
     Chapter #0:7: start 2143.307625, end 2497.536500
     Metadata:
       title           : Chapter 8
     Chapter #0:8: start 2497.536500, end 2745.617667
     Metadata:
       title           : Chapter 9
     Chapter #0:9: start 2745.617667, end 3014.094208
     Metadata:
       title           : Chapter 10
     Chapter #0:10: start 3014.094208, end 3302.715875
     Metadata:
       title           : Chapter 11
     Chapter #0:11: start 3302.715875, end 3511.174083
     Metadata:
       title           : Chapter 12
     Chapter #0:12: start 3511.174083, end 3821.358958
     Metadata:
       title           : Chapter 13
     Chapter #0:13: start 3821.358958, end 4202.197708
     Metadata:
       title           : Chapter 14
     Chapter #0:14: start 4202.197708, end 4470.924458
     Metadata:
       title           : Chapter 15
     Chapter #0:15: start 4470.924458, end 4728.848792
     Metadata:
       title           : Chapter 16
     Chapter #0:16: start 4728.848792, end 4937.599000
     Metadata:
       title           : Chapter 17
     Chapter #0:17: start 4937.599000, end 5095.089667
     Metadata:
       title           : Chapter 18
     Chapter #0:18: start 5095.089667, end 5283.194250
     Metadata:
       title           : Chapter 19
     Chapter #0:19: start 5283.194250, end 5554.173250
     Metadata:
       title           : Chapter 20
     Chapter #0:20: start 5554.173250, end 5860.229000
     Metadata:
       title           : Chapter 21
     Chapter #0:21: start 5860.229000, end 6157.567708
     Metadata:
       title           : Chapter 22
     Chapter #0:22: start 6157.567708, end 6474.133917
     Metadata:
       title           : Chapter 23
     Chapter #0:23: start 6474.133917, end 6828.112500
     Metadata:
       title           : Chapter 24
     Chapter #0:24: start 6828.112500, end 7050.960125
     Metadata:
       title           : Chapter 25
     Chapter #0:25: start 7050.960125, end 7287.988542
     Metadata:
       title           : Chapter 26
     Chapter #0:26: start 7287.988542, end 7542.159083
     Metadata:
       title           : Chapter 27
     Chapter #0:27: start 7542.159083, end 7782.732750
     Metadata:
       title           : Chapter 28
     Chapter #0:28: start 7782.732750, end 7996.029167
     Metadata:
       title           : Chapter 29
     Chapter #0:29: start 7996.029167, end 8087.120167
     Metadata:
       title           : Chapter 30
     Chapter #0:30: start 8087.120167, end 8765.005708
     Metadata:
       title           : Chapter 31
     Stream #0:0(und): Video: h264 (Main) (avc1 / 0x31637661), yuv420p(tv,
 bt709), 1920x800, 9200 kb/s, 23.98 fps, 23.98 tbr, 24k tbn, 47.95 tbc
 (default)
     Metadata:
       creation_time   : 2015-07-13T17:59:49.000000Z
       encoder         : JVT/AVC Coding
     Stream #0:1(deu): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, 5.1,
 fltp, 438 kb/s (default)
     Metadata:
       creation_time   : 2015-07-13T17:59:49.000000Z
     Stream #0:2(eng): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, 5.1,
 fltp, 445 kb/s
     Metadata:
       creation_time   : 2015-07-13T17:59:49.000000Z
     Stream #0:3(eng): Subtitle: dvd_subtitle (mp4s / 0x7334706D) (default)
     Metadata:
       creation_time   : 2015-07-13T17:59:49.000000Z
     Stream #0:4(deu): Subtitle: dvd_subtitle (mp4s / 0x7334706D)
     Metadata:
       creation_time   : 2015-07-13T17:59:49.000000Z
     Stream #0:5(deu): Subtitle: dvd_subtitle (mp4s / 0x7334706D)
     Metadata:
       creation_time   : 2015-07-13T17:59:49.000000Z
     Stream #0:6(und): Data: bin_data (text / 0x74786574)
     Metadata:
       creation_time   : 2015-07-13T17:59:49.000000Z
     Stream #0:7: Video: h264, none, 90k tbr, 90k tbn, 180k tbc
 Stream mapping:
   Stream #0:0 -> #0:0 (h264 (h264_cuvid) -> hevc (hevc_nvenc))
   Stream #0:1 -> #0:1 (copy)
   Stream #0:2 -> #0:2 (copy)
   Stream #0:3 -> #0:3 (copy)
   Stream #0:4 -> #0:4 (copy)
   Stream #0:5 -> #0:5 (copy)
 Press [q] to stop, [?] for help
 [matroska @ 0x563513bfa400] Tag mp4s incompatible with output codec id
 '94208' ([0][0][0][0])
 Could not write header for output file #0 (incorrect codec parameters ?):
 Invalid data found when processing input
 Error initializing output stream 0:0 --
 Conversion failed!
 }}}

 I didn't shorten it so you can see the ffmpeg version and compile flags
 I'm using. If you need a sample file, let me know. But likely any MP4 file
 with `dvd_subtitle` will do.

 further notes:

 It works when using MP4 also as the output container. It also works when
 using `-c:s dvd_subtitle` instead of `-c:s copy`. I'm not 100 % sure
 whether this is a bug or whether passing the MP4-internal tag to the
 output muxer is actually wanted when using "copy". Nevertheless, at least
 the error message is not very intuitive to understand. A suggestion to use
 `-c:s dvd_subtitle` would be very nice.

 By the way, when not specifying the codec for subtitles at all, ffmpeg
 attempts a conversion to ASS. That makes sense for Matroska. However, that
 fails since the conversion from VobSub has not been implemented yet. So it
 would be nice if for the default codec the input format would be
 considered as well to avoid defaulting to conversions which are not
 implemented. That would have prevented me from running into this issue in
 the first place because my first attempt was actually to use ffmpeg's
 default for the subtitles.

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


More information about the FFmpeg-trac mailing list