Der Downloader besitzt den Proxy bei einer gepipten FFmpeg-Eingabe
Setzen Sie den Proxy auf das Programm, das Medien abruft, wenn FFmpeg nur eine Pipe aus Bytes erhält.
Wenn FFmpeg pipe:0 liest, ist sein Eingabeprotokoll eine Pipe. Wenn curl die Medien abgerufen hat, hat curl die Netzwerkverbindung geöffnet und muss die Proxy-Konfiguration erhalten.
Für eine sequenzielle MPEG-TS-Eingabe kann eine Bash-Pipeline so aussehen:
set -o pipefail
curl --fail --silent --show-error \
--proxy http://proxy.example.net:8080 --noproxy "" \
'https://media.example.net/stream.ts' |
ffmpeg -i pipe:0 -c copy output.ts
Für einen erlaubten Download öffentlicher Medien liefert die HTTP-Proxy-Liste Kandidaten für curls Proxy-URL. Die leere Umgehungsliste sorgt dafür, dass diese curl-Anfrage den gewählten Vermittler nutzt. pipefail erhält außerdem einen vorgelagerten Downloadfehler im Exit-Status der Pipeline.
Die Option http_proxy von FFmpeg gehört zu den unterstützten HTTP-Netzwerkeingaben. Sie kann kein anderes Programm konfigurieren, nur weil dessen Ausgabe über eine Pipe an FFmpeg geht.
Wenn FFmpeg den Download übernehmen soll, geben Sie ihm die Medien-URL direkt und nutzen Sie die Optionen, die sein gewähltes Protokoll und Build unterstützen. Für eine HTTP-Eingabe setzen Sie die Proxy-Option von FFmpeg vor diese Eingabe. Eine Pipe entbehrt außerdem der üblichen Dateisuche, daher sollten Sie die Formatvorgaben des bestehenden Workflows beibehalten, wenn Sie zwischen URL- und Pipe-Eingabe wechseln.