FFMPEGを利用してM3U8形式(拡張子 .m3u8)から動画を抽出する際に[Unable to open key file …key]が表示された場合の原因を備忘録的に投稿しておきます。
FFMpegでファイル変換
動画の作成や編集、変換を行う[FFmpeg]は、動画ファイルから音声や映像のみを抽出も可能です。
詳しい内容は別記事をご覧ください。
Unable to open key エラー
例えば[FFmpeg]を利用して次のオプションで、M3U8形式のファイルからMP4形式を作成します。
ffmpeg -protocol_whitelist file,http,https,tcp,tls -i "sample.m3u8" -c copy "sample.mp4"
実行時に[HTTP error 403 Forbidden [hls @ 000001f2c19fc240] Unable to open key file https://sample.com/encryption.key]が表示され作成されない場合があります。
エラーの概要は、「HTTPで接続した先のキーファイルが見つからず、キーファイルが読み込めません」です。
つまり、複合に必要なキーがサイトから読み込めないので動画を抽出できないという状態です。
M3U8形式のファイルをメモ帳などで開くと、[#EXT-X-KEY]が設定された行が見つかるはずです。
#EXT-X-KEY:METHOD=AES-128,URI="https://sample.com/encryption.key"
この行があれば動画の抽出に必要なファイルは、暗号化されている可能性があります。
また、URLで記載されている場合にはブラウザーなどの認証などで保護されている可能性もあるので “HTTP error 403 Forbidden” で見つからないという結果になる場合もあります。
キーファイルは、ブラウザーでアクセスすれば、ダウンロードできる可能性もあります。
https://sample.com/encryption.key
ダウンロードが可能であれば、M3U8形式のファイルと同じフォルダーに保存して、[#EXT-X-KEY]の部分を以下のように編集すると複合できる可能性もあります。
#EXT-X-KEY:METHOD=AES-128,URI="encryption.key"
大抵の場合は、鍵ファイルの有効期限など他の要素で複合できない場合もあるので、あしからず。
まとめ
FFMPEGを利用してM3U8形式(拡張子 .m3u8)から動画を抽出する際に[Unable to open key file …key]が表示された場合の原因について書きました。
[FFmpeg]で暗号化された元ファイルから、mp4形式などのファイルを抽出する場合には鍵ファイルが必要になります。
[FFmpeg]で “Unable to open key file …key” エラーが発生する人の参考になれば幸いです。
スポンサーリンク
最後までご覧いただき、ありがとうございます。
