Я работаю на платформе, которая использует ffprobe как часть конвейера транскодирования видео. Один из наших пользователей пытается и не может загрузить видеоклипы, извлеченные из системы видеонаблюдения, и кажется, что сбой происходит, когда мы анализируем клипы с помощью ffprobe.
Когда я запускаю ffprobe из командной строки, я получаю это:
$ ffprobe file.avi
ffprobe version 4.2.2 Copyright (c) 2007-2019 the FFmpeg developers
built with Apple clang version 11.0.0 (clang-1100.0.33.17)
configuration: --prefix=/usr/local/Cellar/ffmpeg/4.2.2_2 --enable-shared --enable-pthreads --enable-version3 --enable-avresample --cc=clang --host-cflags= --host-ldflags= --enable-ffplay --enable-gnutls --enable-gpl --enable-libaom --enable-libbluray --enable-libmp3lame --enable-libopus --enable-librubberband --enable-libsnappy --enable-libtesseract --enable-libtheora --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxvid --enable-lzma --enable-libfontconfig --enable-libfreetype --enable-frei0r --enable-libass --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-librtmp --enable-libspeex --enable-libsoxr --enable-videotoolbox --disable-libjack --disable-indev=jack
libavutil 56. 31.100 / 56. 31.100
libavcodec 58. 54.100 / 58. 54.100
libavformat 58. 29.100 / 58. 29.100
libavdevice 58. 8.100 / 58. 8.100
libavfilter 7. 57.100 / 7. 57.100
libavresample 4. 0. 0 / 4. 0. 0
libswscale 5. 5.100 / 5. 5.100
libswresample 3. 5.100 / 3. 5.100
libpostproc 55. 5.100 / 55. 5.100
[avi @ 0x7fc22280b800] Invalid sample_size -1 at stream 1 setting it to 0
[avi @ 0x7fc22280b800] Invalid sample_size -1 at stream 2 setting it to 0
[avi @ 0x7fc22280b800] wav header size < 14 is not implemented. Update your FFmpeg version to the newest one from Git. If the problem still occurs, it means that your file has a feature which has not been implemented.
[avi @ 0x7fc22280b800] If you want to help, upload a sample of this file to ftp://upload.ffmpeg.org/incoming/ and contact the ffmpeg-devel mailing list. (ffmpeg-devel@ffmpeg.org)
file.avi: Invalid data found when processing input
Я, однако, могу проанализировать его с mediainfo, который выводит это:
$ mediainfo file.avi
General
Complete name : file.avi
Format : AVI
Format/Info : Audio Video Interleave
File size : 11.3 MiB
Duration : 5 min 0 s
Overall bit rate : 316 kb/s
Video
ID : 0
Format : MPEG-4 Visual
Codec ID : MP43
Codec ID/Info : Microsoft MPEG-4 v3 (pre-standard)
Codec ID/Hint : Microsoft
Duration : 5 min 0 s
Source duration : 5 min 0 s
Bit rate : 308 kb/s
Width : 640 pixels
Height : 480 pixels
Display aspect ratio : 4:3
Frame rate : 16.000 FPS
Compression mode : Lossy
Bits/(Pixel*Frame) : 0.063
Stream size : 11.0 MiB (97%)
Я предполагаю / надеюсь, что есть способ сделать эту работу, передав соответствующие флаги для ffprobe - кто-нибудь может указать мне правильное направление?