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.