ffmpegを使った動画のHLS変換
Windows上でffmpegを使い、HLS(HTTP Live Streaming)形式の動画を作成する方法です。
スマホ向け動画配信ってどうやるのよ?ってことで調べてみました。
なお、HLS形式の動画はスマホのブラウザでは再生できますが、PCではMicrosoft EdgeとSafariでしか再生出来ませんでした。(2018/04/28現在)
ffmpegの実行
使用したバージョンは20161101-60178e7
です。
以下のコマンドを実行します。(実行時には改行せずに1行で記述します)
ffmpeg.exe
-i myvideo.mp4
-vcodec libx264
-movflags faststart
-vprofile baseline
-level 3.0
-g 150
-b:v 2048k
-flags +loop-global_header
-map 0
-vbsf h264_mp4toannexb
-acodec aac
-ar 48000
-b:a 256k
-f segment
-segment_format mpegts
-segment_time 6
-segment_list .\stream\playlist.m3u8 .\stream\v%05d.ts
上記実行時のファイル・フォルダ配置は以下です。
ffmpeg\bin
ffmpeg.exe
hls.html
myvideo.mp4
ffmpeg\bin\stream
再生
stream/playlist.m3u8
またはhls.html
をブラウザで実行します。
hls.htmlの記述例
<!DOCTYPE html>
<html>
<head>
<title>HLS Sample</title>
</head>
<body>
<video width="640" height="360" src="stream/playlist.m3u8" controls />
</body>
</html>