mp4转码m3u8
如果视频不为mp4格式,需先将视频转码为mp4,可使用如下命令进行转换
ffmpeg -i 本地视频地址 -y -c:v libx264 -strict -2 转换视频.mp4
1.将mp4格式转换为ts格式
ffmpeg -y -i 本地视频.mp4 -vcodec copy -acodec copy -vbsf h264_mp4toannexb 转换视频.ts
2.将ts文件进行切片
ffmpeg -i 本地视频.ts -c copy -map 0 -f segment -segment_list 视频索引.m3u8 -segment_time 5 前缀-%03d.ts
m3u8的在线播放器
- 原生video标签网页端只支持MP4、OGG、WebM的视频格式
- 直播的视频格式一般为.m3u8,如果不行对video进行格外处理,可以采用video.js插件
- video.js须配合第三方的videojs库videojs-contrib-hls.js来播放.m3u8视频
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>videoJs</title>
<link rel="stylesheet" type="text/css" href="css/video-js.css">
<script src="js/video.min.js"></script>
<script src="https://unpkg.com/videojs-contrib-hls/dist/videojs-contrib-hls.js"></script>
</head>
<body>
<section id="videoPlayer">
<video id="example-video" width="600" height="300" class="video-js vjs-default-skin vjs-big-play-centered" poster="">
<source src="http://rm03.wscdn.hls.xiaoka.tv/live/fczjp0Dc_J60VGMN/playlist.m3u8" type="application/x-mpegURL" id="target">
</video>
</section>
<script type="text/javascript">
var player = videojs('example-video', { "poster": "", "controls": "true" }, function() {
this.on('play', function() {
console.log('正在播放');
});
//暂停--播放完毕后也会暂停
this.on('pause', function() {
console.log("暂停中")
});
// 结束
this.on('ended', function() {
console.log('结束');
})
});
</script>
</body>
</html>
引用:
https://blog.csdn.net/psh18513234633/article/details/79312607
使用ffmpeg转码m3u8并播放
https://blog.csdn.net/boyit0/article/details/88579330
videojs 播放.M3U8格式视频