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条评论