ffmpeg将RTMP流转码为m3u8视频

at 2年前  ca FFmpeg  pv 718  by touch  

ffmpeg -i rtmp://  -vcodec copy -acodec copy -vbsf h264_mp4toannexb -f hls -hls_list_size 0 -hls_time 10  play/playlist.m3u8
-hls_time n: 设置每片的长度,默认值为2。单位为秒

-hls_list_size n:设置播放列表保存的最多条目,设置为0会保存有所片信息,默认值为5

-hls_wrap n:设置多少片之后开始覆盖,如果设置为0则不会覆盖,默认值为0.这个选项能够避免在磁盘上存储过多的 片,而且能够限制写入磁盘的最多的片的数量

-hls_start_number n:设置播放列表中sequence number的值为number,默认值为0

注意:播放列表的sequence number 对每个segment来说都必须是唯一的,而且它不能和片的文件名(当使用wrap选项时,文件名有可能会重复使用)混淆

<!DOCTYPE html>
<html>
<head>
<meta charset=utf-8 />
<title>videojs-contrib-hls embed</title>
<link href="https://unpkg.com/video.js/dist/video-js.css" rel="stylesheet">
</head>
 
<body>
<h1>Video.js播放m3u8</h1>
 
<video-js id="my_video_1" class="vjs-default-skin" controls='true' preload="auto" width="640" height="268">
<source src="play/playlist.m3u8" type="application/x-mpegURL">
</video-js>
 
<script src="https://unpkg.com/video.js/dist/video.js"></script>
<script src="https://unpkg.com/@videojs/http-streaming/dist/videojs-http-streaming.js"></script>
 
<script>
var player = videojs('my_video_1');
</script>
 
</body>
 
</html>

几个使用场景:

视频文件过大时候转码为m3u8优化

流协议转码为m3u8保存

客户端使用video.js播放


版权声明

本文仅代表作者观点,不代表码农殇立场。
本文系作者授权码农殇发表,未经许可,不得转载。

 

扫一扫在手机阅读、分享本文

已有0条评论
您是本站第12538名访客 今日有0篇新文章 当前在线 15 人