HLSファイルを結合する

スポンサーリンク
スポンサーリンク

HLSファイル群をダウンロードできたとして、それらを一つのファイルに結合する方法です。

例えばseg-1-v1-a1.tsからseg-80-v1-a1.tsまであったとします。本当ならm3u8ファイルが存在するはずですが、サイトに残っていないなどしたときに使う手法になります。

まずは一覧表を作成します。wslなどを利用した方が早いでしょう。

ls -1 | sort -t "-" -k 2 -n | awk '{ print "file " , $0 }' > aaa.txt

これを行うとフォルダ内にあるファイル一覧をソートをかけ、先頭にfileという文字を追加した状態でaaa.txtというファイルを作ってくれます。

このファイルにはaaa.txtという行が追加されてしまうのでエディタなどでその行を消しておきます。

エディタで確認できると思いますがfile seg-1-v1-a1.tsなどとなっていてファイル名順に並んでいると思います。

確認出来たらいよいよ結合です。

ffmpeg -safe 0 -f concat -i aaa.txt -c copy output.mp4

ファイルが存在し、ファイルが正常であれば、これを実行することで動画が結合されてoutput.mp4に出力されます。

m3u8ファイルが無い場合など試してみてはいかがでしょうか?

コメント

タイトルとURLをコピーしました