ffmpeg 读取 rtmp流 编码成ts m3u8文件

把文件转成m3u8 方法(原样拷贝)

ffmpeg -re -i /root/video.mpg -codec copy -map 0 -f segment -segment_list playlist.m3u8 -segment_list_flags +live -segment_time 10 out%03d.ts

读取rtmp流 的方式:

ffmpeg -v verbose -i rtmp://192.168.1.10:1935/live/stream  -c:v libx264 -c:a aac -ac 1 -strict -2 -crf 20 -profile:v main -maxrate 800k -bufsize 1835k -pix_fmt yuv420p -flags -global_header -hls_time 10 -start_number 1 -f segment -segment_list playlist.m3u8 -segment_list_flags +live -segment_time 10 out%03d.ts

主要参数解释:
-hls_time n: 设置每片的长度,默认值为2。单位为秒
-hls_list_size n:设置m3u8文件播放列表保存的最多条目,设置为0会保存有所片信息,默认值为5,一般用于直播流,点播文件建议设置成0,即全部保存。
-hls_wrap n:设置多少片之后开始覆盖,如果设置为0则不会覆盖,默认值为0.这个选项能够避免在磁盘上存储过多的片,而且能够限制写入磁盘的最多的片的数量
-ac channels        set number of audio channels  

美女直播案例:

ffmpeg -v verbose -i rtmp://9180.liveplay.myqcloud.com/live/9180_1022463  -c:v libx264 -c:a aac -ac 1 -strict -2 -crf 20 -profile:v main -maxrate 800k -bufsize 1835k -pix_fmt yuv420p -flags -global_header -hls_time 2 -hls_list_size 5 -hls_wrap 10 -start_number 1 -f segment -segment_list playlist.m3u8 -segment_list_flags +live -segment_time 10 out%03d.ts
点赞