HLS/ffmpeg メモ

2020年8月28日 | からふみ | ファイル: tech.

環境構築とコマンドのメモなど。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円を要求している人がいて意味がわからなかった。楽して安全に(?)小遣い稼ぎをしていてすさまじい。

そのほかに参照したサイト


コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください