it-swarm.com.de

Fehler beim Öffnen des Encoders für Ausgabestrom # 0.0 - möglicherweise falsche Parameter wie Bitrate, Rate, Breite oder Höhe

Ich verwende diesen Befehl zum Konvertieren von avi, mov, m4v-Videodateien in das flv-Format über 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().

Wenn ich diesen Befehl jedoch manuell verwendet habe, funktioniert es

/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
11
Pradeep Singh
  1. Dies liegt daran, dass Sie zwei Streams haben und die Ausgabe kodiert und dann die Größe ändert. Sehen Sie sich die Ausgabenachrichten an:

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

    ... Sie verwenden adpcm_swf audio und yuv420p video 

    Die Antwort ist sehr einfach, Sie müssen copy als Ihren Audiocodec angeben ... 

    Siehe mein Beispiel mit Video MPEG4, YUV420P und Audio AC3 ...  

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

    dies ändert die erste Größe = 720 mit dem Seitenverhältnis = -1 (unbekannt). Sie müssen auch verwenden:

    -acodec copy -threads 12
    

    Wenn Sie dies nicht verwenden, wird ein Fehler angezeigt. Beispiel: Wenn ich es verwendet habe, zeigen die Ausgabecodierungsnachrichten dies an und es funktioniert gut:

    [h624 @ 0x874e4a0] missing picture in access unit93 bitrate=1034.4kbits/s    
    Last message repeated 1163 times5974kB time=53.47 bitrate= 915.3kbits/s 
    
  2. Sie müssen für das FLV-Format verwenden, etwa so:

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

Sie erhalten eine Fehlermeldung

[flv @ 0x68b1a80] requested bitrate is too low

Sie müssen die Bitrate in eine gültige ändern. Es ist besser, wenn Sie einen anderen Codec verwenden

-acodec libmp3lame

Entfernen Sie die Option -sameq. Diese Option bedeutet NICHT "gleiche Qualität". Bedeutet eigentlich "gleiche Quantisierer"!

2
pogorskiy

Ich hatte ein ähnliches Problem aufgrund von Größenbeschränkungen. Die ursprüngliche Bildgröße war merkwürdig (width = 1343), was bedeutet, dass der Rundungsfehler any beim Versuch, eine neue Größe anzugeben, Probleme verursacht hat. Stellen Sie sicher, dass die neue Bildgröße genau das gleiche Seitenverhältnis haben kann!

1
elena

Ich habe das gleiche Problem 

- requested bitrate is too low

dieses Problem wurde gelöst, indem die Bitrate gesenkt wurde

by adding -b:a 32k
0
Ahmad Arslan