ネット見てると ffmpeg
に複数の -headers
を指定してる記事がちらほらあるのだが……
[ Ubuntu 20.04 / ffmpeg 3.4.8-0ubuntu0.2 ]
-loglevel debug
をつけて聞いてみろ。
ffmpeg \
-headers 'X-Hogehoge: hogege' \
-headers 'X-Piyopiyo: piyoyo' \
-i 'http://example.com/path/to/playlist.m3u8' \
-loglevel debug
-acodec copy output.aac
request: GET /path/to/playlist.m3u8 HTTP/1.1 User-Agent: Lavf/57.83.100 Accept: */* Range: bytes=0- Connection: close Host: example.com Icy-MetaData: 1 X-Piyopiyo: piyoyo
ついてないじゃん X-Hogehoge
がァ!!!
後から指定した -headers 'X-Piyopiyo: piyoyo'
に上書きされてしまったのだ。
X-Hogehoge
X-Piyopiyo
ともつけたければ、以下のように単一の -headers
オプション中で改行コード (CRLF) で区切って指定する必要がある。(bashの場合)
ffmpeg \
-headers 'X-Hogehoge: hogege'$'\r\n''X-Piyopiyo: piyoyo' \
-i 'http://example.com/path/to/playlist.m3u8' \
-loglevel debug
-acodec copy output.aac
request: GET /path/to/playlist.m3u8 HTTP/1.1 User-Agent: Lavf/57.83.100 Accept: */* Range: bytes=0- Connection: close Host: example.com Icy-MetaData: 1 X-Hogehoge: hogege X-Piyopiyo: piyoyo
このことは下記のコメントで見て知った。
なお、同じことをコマンドプロンプト (Windows) でやるのは面倒な模様。改行コードをコマンドライン引数で渡すのが難しいようだ。
以上!