環境構築とコマンドのメモなど。macです。自分用であって説明用ではないので!
Homebrew
入ってなければ入れる。brewとはUbuntuでいうaptのようなもの
https://brew.sh/index_ja
FFmpeg
$ brew install ffmpeg
本当は色々オプションをつけられるらしい。後でみる。
インストールコマンド一発! MAC の ffmpeg で H.265(HEVC) を使えるようにする
HomebrewでMacにFFmpegをインストールする方法と使い方
m3u8ファイル
master などの中身を見ると解像度・接続速度などでファイルが分岐されているので適宜選択し.tsファイルが記載されているものをローカルに保存
ffmpegコマンド
$ ffmpeg -protocol_whitelist file,http,https,tcp,tls,crypto -i ファイル名.m3u8 -movflags faststart -c copy ファイル名.mp4
こちらのブログの通りのコマンドだとエラーが出て、どうもcryptoを通してやらないとダメっぽかったので。
最初VLCを使ってたんですけど、こっちの回線の問題で途切れるとそれも反映されるんでちょっと困るなーということで。あとなぜか音声のみだったり動画のみだったりするファイルができる。何でかはわからないし解決してないけどもういいわ…。(なのでmaster.m3u8は中身みても選べなくてしょうがないからmasterをそのまま使ってコマンド打った)
意味がわかったので追記
#EXT-X-MEDIA:TYPE=AUDIO,GROUP-ID="audio-0",NAME="en (Main)",DEFAULT=YES,AUTOSELECT=YES,LANGUAGE="en",URI=XXX
#EXT-X-STREAM-INF:PROGRAM-ID=0,BANDWIDTH=XXXXXXX,CODECS="XXXX",RESOLUTION=640x360,AUDIO="audio-0",CLOSED-CAPTIONS=NONE
下の方ばっか見てて気づかなかったけどAUDIO=”audio-0″になっててaudio-0はどこにあるんじゃと思ったら一番上にありました。なのでwavとmp4を作って、結合させたらいいのでは?と思ってレッツゴー。(参考ページ)
ffmpeg -i video.mp4 -i audio.wav -c:v copy -c:a aac -map 0:v:0 -map 1:a:0 output.mp4
できました。めんどくさ…!masterそのまま使ったファイルと、結合して作ったファイルは容量が違ったので、回線判定で中解像度の映像が来てたんだなーとわかりました。
!追記ここまで
更に意味が分かったので追記
なんかその時々によってファイルの置き方や分け方が違ったりするみたい。あとコマンドで処理かける時のm3u8ファイルをローカルに置いておいてもいい時とダメな時がある。
詳しくは→メモ2にて。
!追記ここまで
大変勉強になりました。
こうやって少し調べればできることを「方法を売ります」っつってメルカリとかで300円とか400円を要求している人がいて意味がわからなかった。楽して安全に(?)小遣い稼ぎをしていてすさまじい。
そのほかに参照したサイト