Ошибка при открытии кодировщика для выходного потока # 0.0 - возможно, неправильные параметры, такие как бит_трект, скорость, ширина или высота

Я использую эту команду для преобразования AVI, mov, m4v видеофайлов в формат FLV через FFMPEG

/usr/local/bin/ffmpeg -i '/home/public_html/files/video_1355440448.m4v' -s '640x360' -sameq -ab '64k' -ar '44100' -f 'flv' -y /home/public_html/files/video_1355440448.flv

[flv @ 0x68b1a80] requested bitrate is too low
Output #0, flv, to '/home/files/1355472099-50cadce349290.flv':
    Stream #0.0: Video: flv, yuv420p, 640x360, q=2-31, pass 2, 200 kb/s, 90k tbn, 25 tbc
    Stream #0.1: Audio: adpcm_swf, 44100 Hz, 2 channels, s16, 64 kb/s
Stream mapping:
  Stream #0.0 -> #0.0
  Stream #0.1 -> #0.1
Error while opening encoder for output stream #0.0 - maybe incorrect parameters such as bit_rate, rate, width or height
-------------------------------
RESULT
-------------------------------
Execute error. Output for file "/home/public_html/files/video_1355472099.avi" was found, but the file contained no data. Please check the available codecs compiled with FFmpeg can support this type of conversion. You can check the encode decode availability by inspecting the output array from PHPVideoToolkit::getFFmpegInfo().

Но если я вручную использовал эту команду, то ее рабочая

/usr/local/bin/ffmpeg -i '/home/public_html/files/video_1355440448.m4v' -s '640x360' -sameq -ab '64k' -ar '44100' -f 'flv' -y /home/public_html/files/video_1355440448.flv

Ответ 1

  • Это связано с тем, что у вас есть два потока, а вывод будет кодироваться, а затем изменять размер, см. выходные сообщения:

    Stream #0.0 -> #0.0
    Stream #0.1 -> #0.1
    

    ... вы используете adpcm_swf аудио и yuv420p видео

    Ответ очень прост, вам нужно поставить copy в качестве аудиокодека...

    Смотрите мой пример с видео mpeg4, yuv420p и аудио ac3...

    ffmpeg -i input.mkv -vf scale=720:-1 -acodec copy -threads 12 output.mkv
    

    это изменит первый размер = 720 с соотношением сторон = -1 (неизвестно). Также вам нужно использовать:

    -acodec copy -threads 12
    

    Если вы не используете это, вы получите одну ошибку. Например: когда я его использовал, сообщения с кодировкой вывода показывают мне это, и он работает хорошо:

    [h624 @ 0x874e4a0] missing picture in access unit93 bitrate=1034.4kbits/s    
    Last message repeated 1163 times5974kB time=53.47 bitrate= 915.3kbits/s 
    
  • Вам нужно использовать файл формата FLV, например:

    ffmpeg -i input.mp4 -c:v libx264 -crf 19 output.flv
    

Ответ 2

Вам сообщается сообщение об ошибке

[flv @ 0x68b1a80] requested bitrate is too low

Вам нужно изменить битрейт на действительный. Лучше, если вы используете другой кодек

-acodec libmp3lame

И удалите опцию -sameq. Этот параметр НЕ означает "одинаковое качество". На самом деле означает "те же кванторы"!

Ответ 3

У меня была аналогичная проблема из-за ограничений по размеру. Исходный размер изображения был странным (width = 1343), что означает, что когда я пытался указать новый размер с -s, любая ошибка округления вызывала проблемы. Убедитесь, что новый размер изображения может иметь одинаковое соотношение сторон.

Ответ 4

У меня такая же проблема

- requested bitrate is too low

и просто решил эту проблему, снизив скорость передачи данных

by adding -b:a 32k

Ответ 5

У меня есть смилар, но я не нашел здесь ответа на этот вопрос. Я пытаюсь преобразовать file.ts в .webm-контейнер и также получаю эту ошибку: "Ошибка при открытии кодировщика для выходного потока # 0: 2 - возможно, неверные параметры, такие как bit_rate, rate, width или height"

ffmpeg -y -i ./test.ts -r 25 -b 18550k -bt 22792k -ac 2 -ar 48000 -ab 320k ./test.webm

Выход:

    ffmpeg version 3.2.12-1~deb9u1 Copyright (c) 2000-2018 the FFmpeg developers
  built with gcc 6.3.0 (Debian 6.3.0-18+deb9u1) 20170516
  configuration: --prefix=/usr --extra-version='1~deb9u1' --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --enable-gpl --disable-stripping --enable-avresample --enable-avisynth --enable-gnutls --enable-ladspa --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libebur128 --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libmp3lame --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx265 --enable-libxvid --enable-libzmq --enable-libzvbi --enable-omx --enable-openal --enable-opengl --enable-sdl2 --enable-libdc1394 --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-libopencv --enable-libx264 --enable-shared
  libavutil      55. 34.101 / 55. 34.101
  libavcodec     57. 64.101 / 57. 64.101
  libavformat    57. 56.101 / 57. 56.101
  libavdevice    57.  1.100 / 57.  1.100
  libavfilter     6. 65.100 /  6. 65.100
  libavresample   3.  1.  0 /  3.  1.  0
  libswscale      4.  2.100 /  4.  2.100
  libswresample   2.  3.100 /  2.  3.100
  libpostproc    54.  1.100 / 54.  1.100
[h264 @ 0x55cb216a6b40] SPS unavailable in decode_picture_timing
[h264 @ 0x55cb216a6b40] non-existing PPS 0 referenced
[h264 @ 0x55cb216a6b40] SPS unavailable in decode_picture_timing
[h264 @ 0x55cb216a6b40] non-existing PPS 0 referenced
[h264 @ 0x55cb216a6b40] decode_slice_header error
[h264 @ 0x55cb216a6b40] no frame!
.
.
.
[mpegts @ 0x55cb21681440] start time for stream 9 is not set in estimate_timings_from_pts
[mpegts @ 0x55cb21681440] PES packet size mismatch
[mpegts @ 0x55cb21681440] Could not find codec parameters for stream 0 (Unknown: none ([5][0][0][0] / 0x0005)): unknown codec
Consider increasing the value for the 'analyzeduration' and 'probesize' options
[mpegts @ 0x55cb21681440] Could not find codec parameters for stream 1 (Unknown: none ([12][0][0][0] / 0x000C)): unknown codec
Consider increasing the value for the 'analyzeduration' and 'probesize' options
[mpegts @ 0x55cb21681440] Could not find codec parameters for stream 2 (Unknown: none ([11][0][0][0] / 0x000B)): unknown codec
Consider increasing the value for the 'analyzeduration' and 'probesize' options
[mpegts @ 0x55cb21681440] Could not find codec parameters for stream 10 (Unknown: none ([11][0][0][0] / 0x000B)): unknown codec
Consider increasing the value for the 'analyzeduration' and 'probesize' options
Input #0, mpegts, from './test.ts':
  Duration: 00:00:58.04, start: 86615.181389, bitrate: 12418 kb/s
  Program 10301
    Stream #0:0[0x492]: Unknown: none ([5][0][0][0] / 0x0005)
    Stream #0:1[0x498]: Unknown: none ([12][0][0][0] / 0x000C)
    Stream #0:2[0x87b]: Unknown: none ([11][0][0][0] / 0x000B)
    Stream #0:3[0x13ed]: Video: h264 (High) ([27][0][0][0] / 0x001B), yuv420p(progressive), 1280x720 [SAR 1:1 DAR 16:9], 50 fps, 50 tbr, 90k tbn, 100 tbc
    Stream #0:4[0x13ee](deu): Audio: mp2 ([3][0][0][0] / 0x0003), 48000 Hz, stereo, s16p, 256 kb/s
    Stream #0:5[0x13ef](mis): Audio: mp2 ([3][0][0][0] / 0x0003), 48000 Hz, stereo, s16p, 256 kb/s
    Stream #0:6[0x13f0](deu): Subtitle: dvb_teletext ([6][0][0][0] / 0x0006)
    Stream #0:7[0x13f1](deu): Subtitle: dvb_subtitle ([6][0][0][0] / 0x0006) (hearing impaired)
    Stream #0:8[0x13f2](deu): Audio: ac3 ([6][0][0][0] / 0x0006), 48000 Hz, stereo, fltp, 448 kb/s
    Stream #0:9[0x13f4]: Data: bin_data ([6][0][0][0] / 0x0006)
    Stream #0:10[0x1434]: Unknown: none ([11][0][0][0] / 0x000B)
  Program 10302
  Program 10303
  Program 10304
Please use -b:a or -b:v, -b is ambiguous
[libvpx-vp9 @ 0x55cb21749d00] v1.6.1
Stream mapping:
  Stream #0:3 -> #0:0 (h264 (native) -> vp9 (libvpx-vp9))
  Stream #0:4 -> #0:1 (mp2 (native) -> opus (libopus))
  Stream #0:6 -> #0:2 (dvb_teletext (libzvbi_teletextdec) -> webvtt (native))
Error while opening encoder for output stream #0:2 - maybe incorrect parameters such as bit_rate, rate, width or height

Какой кодек отсутствует?