[FFmpeg-user] Size of 10-bit 4:2:2 video streams?

Paul B Mahol onemda at gmail.com
Wed Sep 21 10:59:41 EEST 2022


On 9/21/22, Olivier Bruchez via ffmpeg-user <ffmpeg-user at ffmpeg.org> wrote:
> Hi Marc,
>
> Thanks for your answer.
>
>>> /So I made some further tests and discovered that my original AVI
>>> file is />/simply corrupted. It's supposed to have 88 minutes of
>>> video, but it fails />/after 38 minutes. /
>> What does "fails" mean? The player stops? Which player? The video goes
>> black
>> but playing continues? Please be specific.
>
> ffmpeg (a very recent version - or any version) will stop copying the
> stream after 00:38:50.12 (instead of 01:28:00.80):
>
> ffmpeg -i test.avi -c copy test.copy.avi
> ffmpeg version N-63101-gc92edd969a-static
> https://johnvansickle.com/ffmpeg/  Copyright (c) 2000-2022 the FFmpeg
> developers
>    built with gcc 8 (Debian 8.3.0-6)
>    configuration: --enable-gpl --enable-version3 --enable-static
> --disable-debug --disable-ffplay --disable-indev=sndio
> --disable-outdev=sndio --cc=gcc --enable-fontconfig --enable-frei0r
> --enable-gnutls --enable-gmp --enable-libgme --enable-gray
> --enable-libaom --enable-libfribidi --enable-libass --enable-libvmaf
> --enable-libfreetype --enable-libmp3lame --enable-libopencore-amrnb
> --enable-libopencore-amrwb --enable-libopenjpeg --enable-librubberband
> --enable-libsoxr --enable-libspeex --enable-libsrt --enable-libvorbis
> --enable-libopus --enable-libtheora --enable-libvidstab
> --enable-libvo-amrwbenc --enable-libvpx --enable-libwebp
> --enable-libx264 --enable-libx265 --enable-libxml2 --enable-libdav1d
> --enable-libxvid --enable-libzvbi --enable-libzimg
>    libavutil      57. 36.101 / 57. 36.101
>    libavcodec     59. 42.104 / 59. 42.104
>    libavformat    59. 30.101 / 59. 30.101
>    libavdevice    59.  8.101 / 59.  8.101
>    libavfilter     8. 48.100 /  8. 48.100
>    libswscale      6.  8.108 /  6.  8.108
>    libswresample   4.  9.100 /  4.  9.100
>    libpostproc    56.  7.100 / 56.  7.100
> [avi @ 0x653e900] non-interleaved AVI

This 'non-interleaved AVI' can be problematic.
Does other files report similar?

> Input #0, avi, from 'test.avi':
>    Duration: 01:28:00.80, start: 0.000000, bitrate: 221185 kb/s
>    Stream #0:0: Video: v210 (v210 / 0x30313276), yuv422p10le, 720x576,
> 25 fps, 25 tbr, 25 tbn
> Output #0, avi, to 'test.copy.avi':
>    Metadata:
>      ISFT            : Lavf59.30.101
>    Stream #0:0: Video: v210 (v210 / 0x30313276), yuv422p10le, 720x576,
> q=2-31, 25 fps, 25 tbr, 25 tbn
> Stream mapping:
>    Stream #0:0 -> #0:0 (copy)
> Press [q] to stop, [?] for help
> frame=58254 fps=128 q=-1.0 Lsize=62915254kB time=00:38:50.12
> bitrate=221191.1kbits/s speed=5.12x
> video:62914320kB audio:0kB subtitle:0kB other streams:0kB global
> headers:0kB muxing overhead: 0.001485%
>
> The exit code is zero:
>
> echo $?
> 0
>
> test.avi is still the 146-GB file I mentioned originally.
>
>> You may want to try multiple players to see what's in the file and
>> look at
>> it with ffprobe and mediainfo. Also try encoding into a different format
>> which will force ffmpeg to demux/decode the frames; that might turn up
>> something.
>
> Here are a few things I've tried:
>
> - I've checked other AVI files in our archive coming from the same
> company. They "behave" as expected, i.e. they indeed contain about 1.5
> GB per minute of video stream (SD video) and can be copied or transcoded
> from beginning to end. No problem there. I've only found one single
> problematic file.
>
> - Play the problematic file with VLC. It stops the playback after 38
> minutes as well and doesn't even display the full duration of the file
> (01:28:00).
>
> - Examine it with mediainfo (full log here
> https://drive.google.com/drive/folders/1h2GxriHtvx86jxcpN41GKmJBURGO3y6P?usp=sharing).
> mediainfo says the duration is 01:28:00.800, but the "source duration"
> is 00:00:38.840 (not 38 minutes, but 38 seconds, which is weird!).
>
> - Transcode the AVI to MKV/H.264 (full command line available, but
> pretty standard). The resulting MKV file has a duration of 38 minutes
> only and can be played without any problem. Actually, I think I can do
> pretty much anything with the problematic AVI file using ffmpeg. It will
> just see it as a normal 38-minute file.
>
> - Examine the file with ffprobe (ffprobe -hide_banner -select_streams
> v:0 -show_frames). The full output log is available at the same location
> as the mediainfo output. I get information for 58254 frames, so about 38
> minutes of video.

It could be that index for frames in AVI is not listing all entries.
Hard to guess.
You could inspect file in some AVI file format analyzer.
If there is such thing available.

There could be still bug in avi demuxer but without file its very
limited to find out such bug.

>
> Thanks,
>
> Olivier
>
> _______________________________________________
> ffmpeg-user mailing list
> ffmpeg-user at ffmpeg.org
> https://ffmpeg.org/mailman/listinfo/ffmpeg-user
>
> To unsubscribe, visit link above, or email
> ffmpeg-user-request at ffmpeg.org with subject "unsubscribe".
>


More information about the ffmpeg-user mailing list