Zufällig kein Video mit demselben ffmpeg-Befehl

842
user3278087

Hier ist Befehl:

ffmpeg -i rtmp://localhost/myapp/obs -c:a libfdk_aac -b:a 32k -c:v libx264 -f flv rtmp://localhost/hls/obs_low 

Mein RTMP-Server zeichnet alle veröffentlichten Streams auf, sodass ich sie alle anzeigen kann. Merkwürdig ist, dass beim rtmp://localhost/myapp/obsStreaming der Befehl ffmpeg nur Audio in der Ausgabedatei und kein Video enthält. Und in der Terminalausgabe:

Stream mapping: Stream #0:0 -> #0:0 (aac (native) -> aac (libfdk_aac))

Wenn ich jedoch denselben Befehl erneut ausführen, könnte es das Video geben. Zufällig ist Video da oder nicht. Wenn Video vorhanden ist, sehe ich diesen Ausgang im Terminal:

Stream mapping: Stream #0:1 -> #0:0 (h264 (native) -> h264 (libx264)) Stream #0:0 -> #0:1 (aac (native) -> aac (libfdk_aac))

Vollständige Ausgabe des Befehls 'Nur Audio': http://pastebin.com/zL0ctvTZ

Vollständige Ausgabe des Befehls "erfolgreich": http://pastebin.com/DQ1XJ1wM

0
Führen Sie jetzt den Befehl ffmpeg 20 Mal hintereinander aus. Es gab nur 12 Mal ein Video. 8 mal = nur Audio. user3278087 vor 8 Jahren 0
Klingt nach verschachtelter Lücke groß. Versuchen Sie es mit `-analyzeduration 1G -probesize 50M` vor` -i rtmp: // ... ` Gyan vor 8 Jahren 0
Du hast recht. Danke, jetzt hat jeder Rekord Video und Ton. Irgendwelche Ratschläge, welche Werte ich verwenden sollte, um sicherzustellen, dass immer Video und Audio vorhanden sind? PS Wenn Sie eine Antwort schreiben, akzeptiere ich sie natürlich. user3278087 vor 8 Jahren 0
Was ist eine vollständige Konsolenausgabe? Wenn es sich um MPEG handelt, brauchen Sie vielleicht eine umfassendere Analyse rogerdpack vor 8 Jahren 0

1 Antwort auf die Frage

1
Gyan

Klingt nach der Verschachtelungslücke groß. Versuchen Sie es mit -analyzeduration 1G -probesize 50M -i rtmp://...Die Werte stellen einen Kompromiss dar zwischen dem Verpassen von Streams und der Verzögerung beim Start der Erfassung, daher würde ich vorschlagen, Versuche durchzuführen. Der Standardwert sowohl für die Analyse als auch für die Messgröße ist 5M. Versuchen Sie es mit etwas größeren Werten, bis Sie durchgängig keinen Stream-Dropout erhalten. Experimentieren Sie zuerst mit Sondengröße. Möglicherweise müssen Sie den anderen nicht angeben.