[FFmpeg-trac] #3009(avcodec:open): Support mvc

FFmpeg trac at avcodec.org
Sun Mar 6 07:23:57 EET 2022


#3009: Support mvc
-------------------------------------+-------------------------------------
             Reporter:  skifreak     |                    Owner:  (none)
                 Type:  enhancement  |                   Status:  open
             Priority:  wish         |                Component:  avcodec
              Version:  git-master   |               Resolution:
             Keywords:  h264 mvc     |               Blocked By:
  mpegts                             |
             Blocking:               |  Reproduced by developer:  1
Analyzed by developer:  1            |
-------------------------------------+-------------------------------------
Changes (by DustBird):

 * cc: DustBird (added)

Comment:

 My JVC Everio GS-TD1 camcorder produces these files as well.  If I'm not
 mistaken, there are actually two different formats that get called MVC.
 One, called "MP4/MVC" on the camera, produces a normal video stream and a
 data stream that contains delta information.  The other format, called
 "AVCHD 3D" on the camera, contains two video streams, and should be easier
 to support.  The sample on this thread seems to be from the dual-video-
 stream "AVCHD 3D" version.

 Here's the result of ffprobe:
 {{{
 >ffprobe AVCHD3Dtest.MTS
 ffprobe version N-105832-g72684d2c2d-20220303 Copyright (c) 2007-2022 the
 FFmpeg developers
   built with gcc 11.2.0 (crosstool-NG 1.24.0.533_681aaef)
   configuration: --prefix=/ffbuild/prefix --pkg-config-flags=--static
 --pkg-config=pkg-config --cross-prefix=x86_64-w64-mingw32- --arch=x86_64
 --target-os=mingw32 --enable-gpl --enable-version3 --disable-debug
 --enable-shared --disable-static --disable-w32threads --enable-pthreads
 --enable-iconv --enable-libxml2 --enable-zlib --enable-libfreetype
 --enable-libfribidi --enable-gmp --enable-lzma --enable-fontconfig
 --enable-libvorbis --enable-opencl --disable-libpulse --enable-libvmaf
 --disable-libxcb --disable-xlib --enable-amf --enable-libaom --enable-
 avisynth --enable-libdav1d --enable-libdavs2 --disable-libfdk-aac
 --enable-ffnvcodec --enable-cuda-llvm --enable-frei0r --enable-libgme
 --enable-libass --enable-libbluray --enable-libmp3lame --enable-libopus
 --enable-librist --enable-libtheora --enable-libvpx --enable-libwebp
 --enable-lv2 --enable-libmfx --enable-libopencore-amrnb --enable-
 libopencore-amrwb --enable-libopenh264 --enable-libopenjpeg --enable-
 libopenmpt --enable-librav1e --enable-librubberband --enable-schannel
 --enable-sdl2 --enable-libsoxr --enable-libsrt --enable-libsvtav1
 --enable-libtwolame --enable-libuavs3d --disable-libdrm --disable-vaapi
 --enable-libvidstab --enable-vulkan --enable-libshaderc --enable-
 libplacebo --enable-libx264 --enable-libx265 --enable-libxavs2 --enable-
 libxvid --enable-libzimg --enable-libzvbi --extra-
 cflags=-DLIBTWOLAME_STATIC --extra-cxxflags= --extra-ldflags=-pthread
 --extra-ldexeflags= --extra-libs=-lgomp --extra-version=20220303
   libavutil      57. 22.100 / 57. 22.100
   libavcodec     59. 21.103 / 59. 21.103
   libavformat    59. 17.102 / 59. 17.102
   libavdevice    59.  5.100 / 59.  5.100
   libavfilter     8. 27.100 /  8. 27.100
   libswscale      6.  5.100 /  6.  5.100
   libswresample   4.  4.100 /  4.  4.100
   libpostproc    56.  4.100 / 56.  4.100
 [mpegts @ 0000020e61edc4c0] Stream #1: not enough frames to estimate rate;
 consider increasing probesize
 [mpegts @ 0000020e61edc4c0] start time for stream 1 is not set in
 estimate_timings_from_pts
 [mpegts @ 0000020e61edc4c0] stream 1 : no TS found at start of file,
 duration not set
 [mpegts @ 0000020e61edc4c0] Could not find codec parameters for stream 1
 (Video: h264 (HDMV / 0x564D4448), none): unspecified size
 Consider increasing the value for the 'analyzeduration' (0) and
 'probesize' (5000000) options
 Input #0, mpegts, from 'AVCHD3Dtest.MTS':
   Duration: 00:00:09.02, start: 1.033367, bitrate: 26003 kb/s
   Program 1
   Stream #0:0[0x1011]: Video: h264 (High) (HDMV / 0x564D4448), yuv420p(top
 first), 1920x1080 [SAR 1:1 DAR 16:9], 29.97 fps, 59.94 tbr, 90k tbn
   Stream #0:1[0x1012]: Video: h264 (HDMV / 0x564D4448), none, 90k tbr, 90k
 tbn
   Stream #0:2[0x1100]: Audio: ac3 (AC-3 / 0x332D4341), 48000 Hz, stereo,
 fltp, 256 kb/s
   Stream #0:3[0x1200]: Subtitle: hdmv_pgs_subtitle ([144][0][0][0] /
 0x0090), 1920x1080
 }}}

 And again with the probesize and analyzeduration increased:
 {{{
 >ffprobe -probesize 1000000000000 -analyzeduration 10000000000000
 AVCHD3Dtest.MTS
 ffprobe version N-105832-g72684d2c2d-20220303 Copyright (c) 2007-2022 the
 FFmpeg developers
   built with gcc 11.2.0 (crosstool-NG 1.24.0.533_681aaef)
   configuration: --prefix=/ffbuild/prefix --pkg-config-flags=--static
 --pkg-config=pkg-config --cross-prefix=x86_64-w64-mingw32- --arch=x86_64
 --target-os=mingw32 --enable-gpl --enable-version3 --disable-debug
 --enable-shared --disable-static --disable-w32threads --enable-pthreads
 --enable-iconv --enable-libxml2 --enable-zlib --enable-libfreetype
 --enable-libfribidi --enable-gmp --enable-lzma --enable-fontconfig
 --enable-libvorbis --enable-opencl --disable-libpulse --enable-libvmaf
 --disable-libxcb --disable-xlib --enable-amf --enable-libaom --enable-
 avisynth --enable-libdav1d --enable-libdavs2 --disable-libfdk-aac
 --enable-ffnvcodec --enable-cuda-llvm --enable-frei0r --enable-libgme
 --enable-libass --enable-libbluray --enable-libmp3lame --enable-libopus
 --enable-librist --enable-libtheora --enable-libvpx --enable-libwebp
 --enable-lv2 --enable-libmfx --enable-libopencore-amrnb --enable-
 libopencore-amrwb --enable-libopenh264 --enable-libopenjpeg --enable-
 libopenmpt --enable-librav1e --enable-librubberband --enable-schannel
 --enable-sdl2 --enable-libsoxr --enable-libsrt --enable-libsvtav1
 --enable-libtwolame --enable-libuavs3d --disable-libdrm --disable-vaapi
 --enable-libvidstab --enable-vulkan --enable-libshaderc --enable-
 libplacebo --enable-libx264 --enable-libx265 --enable-libxavs2 --enable-
 libxvid --enable-libzimg --enable-libzvbi --extra-
 cflags=-DLIBTWOLAME_STATIC --extra-cxxflags= --extra-ldflags=-pthread
 --extra-ldexeflags= --extra-libs=-lgomp --extra-version=20220303
   libavutil      57. 22.100 / 57. 22.100
   libavcodec     59. 21.103 / 59. 21.103
   libavformat    59. 17.102 / 59. 17.102
   libavdevice    59.  5.100 / 59.  5.100
   libavfilter     8. 27.100 /  8. 27.100
   libswscale      6.  5.100 /  6.  5.100
   libswresample   4.  4.100 /  4.  4.100
   libpostproc    56.  4.100 / 56.  4.100
 [h264 @ 000001b832dcde40] sps_id 1 out of range
     Last message repeated 17 times
 [h264 @ 000001b832dcde40] missing picture in access unit with size
 15503381
 [h264 @ 000001b832dcde40] sps_id 1 out of range
     Last message repeated 17 times
 [mpegts @ 000001b832cfc800] Could not find codec parameters for stream 1
 (Video: h264 (HDMV / 0x564D4448), none): unspecified size
 Consider increasing the value for the 'analyzeduration' (10000000000000)
 and 'probesize' (1000000000000) options
 Input #0, mpegts, from 'AVCHD3Dtest.MTS':
   Duration: 00:00:09.02, start: 1.033367, bitrate: 26003 kb/s
   Program 1
   Stream #0:0[0x1011]: Video: h264 (High) (HDMV / 0x564D4448), yuv420p(top
 first), 1920x1080 [SAR 1:1 DAR 16:9], 29.97 fps, 59.94 tbr, 90k tbn
   Stream #0:1[0x1012]: Video: h264 (HDMV / 0x564D4448), none, 90k tbr, 90k
 tbn
   Stream #0:2[0x1100]: Audio: ac3 (AC-3 / 0x332D4341), 48000 Hz, stereo,
 fltp, 256 kb/s
   Stream #0:3[0x1200]: Subtitle: hdmv_pgs_subtitle ([144][0][0][0] /
 0x0090), 1920x1080

 }}}

 The size of the two video streams are about equal, again suggesting that
 it is an independent video stream, and not some kind of delta. Programs
 like MediaInfo correctly read format information (such as resolution) for
 both streams, so perhaps ffmpeg is just having trouble with that aspect,
 rather than anything codec related?  (Forgive my ignorance if I'm wrong.)

 I would be glad to help in any way I can, including samples straight off
 the JVC 3D camcorder :)
-- 
Ticket URL: <https://trac.ffmpeg.org/ticket/3009#comment:7>
FFmpeg <https://ffmpeg.org>
FFmpeg issue tracker


More information about the FFmpeg-trac mailing list