天天看点

安装ffmpeg,视频转码m3u8,浏览器播放

Windows安装配置ffmpeg

  • 下载安装包

    下载地址:FFmpeg安装包下载

    安装ffmpeg,视频转码m3u8,浏览器播放
  • 解压安装包
    安装ffmpeg,视频转码m3u8,浏览器播放
  • 配置环境变量
    安装ffmpeg,视频转码m3u8,浏览器播放
  • 安装成功

    cmd输入 ffmpeg –version ,如果出现如下说明配置成功

    安装ffmpeg,视频转码m3u8,浏览器播放

视频转码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
           
安装ffmpeg,视频转码m3u8,浏览器播放
安装ffmpeg,视频转码m3u8,浏览器播放

浏览器播放 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>