[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