ffmpeg Невозможно определить формат входного потока 0: 0 после EOF Ошибка, помечающая фильтры как завершенные для некоторых видео MKV - PullRequest
1 голос
/ 23 марта 2020

После выполнения этой команды в библиотеке android ffmpeg для сжатия видео

"-i", /storage/emulated/0/beeGroup/video/saved_file/Prison56.mkv, "-threads", "8", "-vf", "scale=" +scale + ",format=yuv420p" + ",setsar=1", "-c:v", "libx264", "-c:a", "copy", "-crf", String.valueOf(crf), "-b:v", bitRate+"K", "-preset", "fast","-strict", "-2", "-max_muxing_queue_size", "9999", "-movflags","faststart",/storage/emulated/0/beeGroup/video/saved_file/Prison56878.mp4

Я получаю эту ошибку

ffmpeg version n4.0-39-gda39990 Copyright (c) 2000-2018 the FFmpeg
developers   built with gcc 4.9.x (GCC) 20150123 (prerelease)  
configuration: --target-os=linux
--cross-prefix=/root/bravobit/ffmpeg-android/toolchain-android/bin/arm-linux-androideabi-
--arch=arm --cpu=cortex-a8 --enable-runtime-cpudetect --sysroot=/root/bravobit/ffmpeg-android/toolchain-android/sysroot --enable-pic --enable-libx264 --enable-ffprobe --enable-libopus --enable-libvorbis --enable-libfdk-aac --enable-libfreetype --enable-libfribidi --enable-libmp3lame --enable-fontconfig --enable-libvpx --enable-libass --enable-yasm --enable-pthreads --disable-debug --enable-version3 --enable-hardcoded-tables --disable-ffplay --disable-linux-perf --disable-doc --disable-shared --enable-static --enable-runtime-cpudetect --enable-nonfree --enable-network --enable-avresample --enable-avformat --enable-avcodec --enable-indev=lavfi --enable-hwaccels --enable-ffmpeg --enable-zlib --enable-gpl --enable-small --enable-nonfree --pkg-config=pkg-config --pkg-config-flags=--static --prefix=/root/bravobit/ffmpeg-android/build/armeabi-v7a --extra-cflags='-I/root/bravobit/ffmpeg-android/toolchain-android/include
-U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -fno-strict-overflow -fstack-protector-all' --extra-ldflags='-L/root/bravobit/ffmpeg-android/toolchain-android/lib -Wl,-z,relro -Wl,-z,now -pie' --extra-cxxflags=

libavutil      56. 14.100 / 56. 14.100
libavcodec     58. 18.100 / 58. 18.100
libavformat    58. 12.100 / 58. 12.100
libavdevice    58.  3.100 / 58.  3.100
libavfilter     7. 16.100 /  7. 16.100
libavresample   4.  0.  0 /  4.  0.  0
libswscale      5.  1.100 /  5.  1.100
libswresample   3.  1.100 /  3.  1.100
libpostproc    55.  1.100 / 55.  1.100

[matroska,webm @ 0xecb04600]
Could not find codec parameters for stream 0 (Video: h264, none(progressive), 1280x720):
unspecified pixel format 

Consider increasing the value for the
'analyzeduration' and 'probesize' options Input #0, matroska,webm,
from '/storage/emulated/0/beeGroup/video/saved_file/Prison56.mkv':  
Metadata:
    title           : Prison Break s02e13 rus eng bdrip 720p TinyMoviez
    ENCODER         : Lavf58.12.100   Duration: 00:00:07.04, start: 0.000000, bitrate: 68 kb/s
    Stream #0:0: Video: h264, none(progressive), 1280x720, SAR 1:1 DAR 16:9, 23.98 fps, 23.98 tbr, 1k tbn, 2k tbc (default)
    Metadata:
      BPS             : 1058363
      BPS-eng         : 1058363
      DURATION-eng    : 00:43:32.694000000
      NUMBER_OF_FRAMES: 62642
      NUMBER_OF_FRAMES-eng: 62642
      NUMBER_OF_BYTES : 345647605
      NUMBER_OF_BYTES-eng: 345647605
      _STATISTICS_WRITING_APP: mkvmerge v7.2.0 ('On Every Street') 32bit built on Sep 13 2014 15:42:11
      _STATISTICS_WRITING_APP-eng: mkvmerge v7.2.0 ('On Every Street') 32bit built on Sep 13 2014 15:42:11
      _STATISTICS_WRITING_DATE_UTC: 2015-02-11 07:36:42
      _STATISTICS_WRITING_DATE_UTC-eng: 2015-02-11 07:36:42
      _STATISTICS_TAGS: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
      _STATISTICS_TAGS-eng: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
      DURATION        : 00:00:00.000000000
    Stream #0:1(eng): Audio: aac, 48000 Hz, stereo, fltp (default)
    Metadata:
      BPS             : 63999
      BPS-eng         : 63999
      DURATION-eng    : 00:43:32.822000000
      NUMBER_OF_FRAMES: 61238
      NUMBER_OF_FRAMES-eng: 61238
      NUMBER_OF_BYTES : 20902570
      NUMBER_OF_BYTES-eng: 20902570
      _STATISTICS_WRITING_APP: mkvmerge v7.2.0 ('On Every Street') 32bit built on Sep 13 2014 15:42:11
      _STATISTICS_WRITING_APP-eng: mkvmerge v7.2.0 ('On Every Street') 32bit built on Sep 13 2014 15:42:11
      _STATISTICS_WRITING_DATE_UTC: 2015-02-11 07:36:42
      _STATISTICS_WRITING_DATE_UTC-eng: 2015-02-11 07:36:42
      _STATISTICS_TAGS: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
      _STATISTICS_TAGS-eng: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
      DURATION        : 00:00:07.039000000 
Stream mapping:
Stream #0:0 -> #0:0 (h264 (native) -> h264 (libx264))
Stream #0:1 -> #0:1 (copy)

Press [q] to stop, [?] for help Cannot determine format of

input stream 0:0 after EOF Error marking filters as finished
Conversion failed!

, пожалуйста, помогите мне решить эту проблему.

1 Ответ

0 голосов
/ 23 марта 2020

основная проблема в том, что FFMPEG не может декодировать ваш вход MKV по некоторым причинам

у вас есть 2 варианта здесь:

1 Установка анализируемых значений и флагов для определения размера

есть хорошее объяснение где-нибудь в вашем журнале ошибок

Could not find codec parameters for stream 0 (Video: h264, none(progressive), 1280x720):
unspecified pixel format Consider increasing the value for the 'analyzeduration' and 'probesize' options Input #0, matroska,webm

, поэтому установка analyuration и probesize flags может решить вашу проблему:

ffmpeg -analyzeduration 2147483647 -probesize 2147483647 -i /some/path/to/video.mp4 
  • 2147483647 - это максимальное значение int *
  • эти флаги идут до флага -i

2 Обновите версию библиотеки FFMPEG

, если вы используете библиотеку, подумайте используя более новую версию, которая поддерживает более новую версию ffmpeg, или попробуйте использовать другую библиотеку

, как вы можете видеть в this commit эта проблема была решена

...