파이프 입력 FFmpeg에서는 다운로더가 프록시를 소유한다
FFmpeg가 바이트 파이프만 받을 때는 미디어를 가져오는 프로그램에 프록시를 두십시오.
FFmpeg가 pipe:0을 읽을 때 입력 프로토콜은 파이프입니다. 미디어를 curl이 가져왔다면 네트워크 연결을 연 것도 curl이므로 프록시 설정을 받아야 하는 것도 curl입니다.
순차 MPEG-TS 입력의 경우 Bash 파이프라인은 다음과 같을 수 있습니다.
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
허용된 공개 미디어 다운로드의 경우 HTTP 프록시 목록이 curl의 프록시 URL 후보를 제공합니다. 우회 목록을 비워 두면 이 curl 요청은 선택한 중개자를 사용합니다. pipefail은 업스트림 다운로드 실패도 파이프라인의 종료 상태에 보존합니다.
FFmpeg의 http_proxy 옵션은 지원되는 HTTP 네트워크 입력에 속합니다. 다른 프로그램의 출력이 파이프로 FFmpeg에 들어간다는 이유만으로 그 프로그램을 설정할 수는 없습니다.
다운로드를 FFmpeg가 맡아야 한다면 미디어 URL을 직접 주고 선택한 프로토콜과 빌드가 지원하는 옵션을 사용하십시오. HTTP 입력의 경우 FFmpeg의 프록시 옵션을 해당 입력 앞에 두십시오. 파이프에는 일반적인 파일 탐색도 없으므로 URL과 파이프 입력 사이를 전환할 때 기존 워크플로의 형식 요구 사항을 유지하십시오.