Windows安装配置ffmpeg
- 下载安装包
下载地址:FFmpeg安装包下载
- 解压安装包
- 配置环境变量
- 安装成功
cmd输入 ffmpeg –version ,如果出现如下说明配置成功
视频转码m3u8
- 视频要想转码 m3u8 ,先要将视频转 mp4 ,如果视频是 mp4 ,这一步可以忽略
ffmpeg -i 本地视频地址 -y -c:v libx264 -strict -2 转换视频.mp4
- mp4 转 ts
ffmpeg -y -i 本地视频.mp4 -vcodec copy -acodec copy -vbsf h264_mp4toannexb 转换视频.ts
- ts文件进行切片,最终得到 m3u8
ffmpeg -i 本地视频.ts -c copy -map 0 -f segment -segment_list 视频索引.m3u8 -segment_time 5 前缀-%03d.ts
其中segment 就是切片,-segment_time表示隔几秒进行切一个文件,上面命令是隔5s,你也可以调整成更大的参数。
例:
ffmpeg -y -i F:\电影\倩女幽魂·人间情.mp4 -vcodec copy -acodec copy -vbsf h264_mp4toannexb 倩女幽魂·人间情.ts
ffmpeg -i ../倩女幽魂·人间情.ts -c copy -map 0 -f segment -segment_list 倩女幽魂·人间情.m3u8 -segment_time 5 ep-%03d.ts
浏览器播放 m3u8
<script src="https://cdn.jsdelivr.net/hls.js/latest/hls.min.js"></script> // 必须!!!
<video id="video" controls="controls"></video>
<script>
if(Hls.isSupported()) {
let hls = new Hls(); // 实例化 Hls 对象
hls.loadSource('https://clig.gitee.io/ep_1-4/倩女幽魂·人间情.m3u8'); // 传入路径
hls.attachMedia(video);
}
video.onclick = function(){
video.play();
}
</script>