Leiten Sie die Ausgabe von ffmpeg / avconv über ssh in eine Datei


1

Ich mag die Ausgabe von ffmpeg / avconv über ssh in eine Datei umleiten. Ich würde gerne so etwas machen.

ssh USER_NAME@SERVER_IP "avconv -i "http://svtplay20k-f.akamaihd.net/i/se/open/20141013/1368164-001A/EPISOD-1368164-001A-c49ff75135a27611_,144,252,360,468,892,1584,2700,.mp4.csmil/index_6_av.m3u8?null=" -acodec copy -vcodec copy -bsf aac_adtstoasc -f mp4 pipe:1" | cat > pipeOutput.mp4

Ich habe es oben versucht aber bekommen Could not write header for output file #0 (incorrect codec parameters ?): Operation not permitted

Ich habe versucht zu wechseln -f avi und pipeOutput.avi. Das gab mir eine sehr große, aber nicht funktionierende Datei.

Irgendwelche Vorschläge, was ich falsch mache?

Antworten:


1

Damit ffmpeg in eine MP4-Datei schreibt, muss die Ausgabe suchbar sein (um die erforderlichen MP4-Atome zu erstellen). MP4 ist jedoch kein streambarer Container. Dies bedeutet, dass Sie keine "rohen" MP4-Daten über eine SSH-Verbindung oder nur eine normale Unix-Pipe leiten können.

Sie könnten Matroska als Format verwenden:

ssh USER_NAME@SERVER_IP "ffmpeg -i "..." -c copy -f matroska pipe:1" | cat > out.mkv

Oder verwenden Sie MPEG-2-Transportströme, für die jedoch eine Filterung des MP4-Bitstroms in einen H.264 Annex B-Bytestream erforderlich ist, der paketiert werden kann:

ssh USER_NAME@SERVER_IP "ffmpeg -i "..." -c copy -bsf:v h264_mp4toannexb -f mpegts pipe:1" | cat > out.ts

Hinweis: Ich habe verwendet ffmpeg hier kann ich da nicht testen avconv.


Danke für deine Antwort. Ich habe beide Ansätze ausprobiert. Die erste (MKV) funktionierte ohne Probleme. Die zweite (MPEG-2) gab eine Fehlermeldung. h264_mp4toannexb failed for stream 0, codec copy: Invalid argument. Vielleicht ist es das Ergebnis der Verwendung avconv.
g3blv

Hm. In dem avconv Handbuch Es ist als Beispiel aufgeführt, daher weiß ich nicht, was genau schief geht. Aber ich benutze kein avconv ... :)
slhck
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.