1. 程式人生 > >ffmpeg 讀取 rtmp流 編碼成ts m3u8檔案

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