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
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.

Thanks,

Olivier

_______________________________________________
ffmpeg-user mailing list
[email protected]
https://ffmpeg.org/mailman/listinfo/ffmpeg-user

To unsubscribe, visit link above, or email
[email protected] with subject "unsubscribe".

Reply via email to