ffmpeg が https m3u8 ストリームを変換するときに protocol_whitelist フラグを無視するのはなぜですか? 質問する

ffmpeg が https m3u8 ストリームを変換するときに protocol_whitelist フラグを無視するのはなぜですか? 質問する

ffmpegを使用してm3u8ストリームをダウンロードしてmp4に変換しようとしています。最初に試したコマンドは

ffmpeg -i MIE.m3u8 -c copy -bsf:a aac_adtstoasc -safe 0 -protocol_whitelist file,http,https,tcp,tls,crypto MIE.mp4

(内容については下記を参照MIE.m3u8

これはすぐにエラーで失敗しました

[https @ 0x7fb419607d40] Protocol 'https' not on whitelist 'file,crypto'!
MIE.m3u8: Invalid argument

(メモリアドレスは毎回変わるので注意してください。)

私は-protocol_whitelist旗を発見し、-protocol_whitelist file,http,https,tcp,tls,cryptoコマンドに追加しました

ffmpeg -i MIE.m3u8 -c copy -bsf:a aac_adtstoasc -safe 0 -protocol_whitelist file,http,https,tcp,tls,crypto MIE.mp4

しかし、それでも同じエラーが発生しました。

フラグとパラメータffmpegを無視しているように見えるのはなぜですか?protocol_whitelist


MIE.m3u8(私はWebサイト私がスクレイピングしようとしているビデオは次のようになります:

#EXTM3U
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=508000,RESOLUTION=640x360,CODECS="avc1.77.30, mp4a.40.2"
https://nhk-vh.akamaihd.net/i/das/D0005140/D0005140255_00000_V_000.f4v/index_0_av.m3u8?null=0&id=AgBdrl8GX2UAVyUXA1tF7MYlFTbSF88WtA7oAMDksTsiVdAKPuuREVfi8iXMsOWFp6eQU2sk6dnE9g%3d%3d
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=47000,CODECS="mp4a.40.2"
https://nhk-vh.akamaihd.net/i/das/D0005140/D0005140255_00000_V_000.f4v/index_0_a.m3u8?null=0&id=AgBdrl8GX2UAVyUXA1tF7MYlFTbSF88WtA7oAMDksTsiVdAKPuuREVfi8iXMsOWFp6eQU2sk6dnE9g%3d%3d

ベストアンサー1

protocol_whitelistinputはファイル(あなたの場合は)にのみ存在するパラメータなのでMIE.m3u8、指定する必要があります。前にコマンドの入力。

-protocol_whitelist file,http,https,tcp,tls前に指定すると-i、期待どおりに動作します。

ffmpeg -protocol_whitelist file,http,https,tcp,tls,crypto -i MIE.m3u8 -c copy -bsf:a aac_adtstoasc MIE.mp4

同様のケースはDebian バグディスカッションボード、そしてさらに詳しく読む構文ffmpeg コマンドの。

おすすめ記事