日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

用SRS和FFMPEG进行直播流转码

發布時間:2025/7/25 49 豆豆
生活随笔 收集整理的這篇文章主要介紹了 用SRS和FFMPEG进行直播流转码 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

WIKI:https://github.com/simple-rtmp-server/srs/wiki/v1_CN_FFMPEG

一、直播流轉碼配置及說明

listen ? ? ? ? ? ? ?1935;

max_connections ? ? 1000;

#定義一個默認的vhost

vhost __defaultVhost__ {

}

#定義一個名為v.flyfn.com的vhost,這樣只對v.flyfn.com這個vhost中所有流進行轉碼

vhost v.flyfn.com {

? ? transcode {

? ? ? ? enabled ? ? on; ? ? #開始實時轉碼

? ? ? ? ffmpeg ? ? ?./objs/ffmpeg/bin/ffmpeg; ? #ffmpeg的執行文件

? ? ? ? engine sd { ? ? ?#這里通過engine定義轉一個名為sd的轉碼引擎,這個名稱在下面輸出流的時候用到

? ? ? ? ? ? enabled ? ? ? ? on; ? #開始,設置為off就是關閉

? ? ? ? ? ? vfilter { ? ? #對應ffmpeg中的濾鏡參數,可以在這里寫

? ? ? ? ? ??????v ? ? ? ? ? quiet; ? #減少ffmpeg的輸出日志

????????????}

? ? ? ? ? ? vcodec ? ? ? ? ?libx264; #視頻編碼器

? ? ? ? ? ? vbitrate ? ? ? ?500; ? #視頻比特率

? ? ? ? ? ? vfps ? ? ? ? ? ?25; ? #視頻幀率

? ? ? ? ? ? vwidth ? ? ? ? ?768; ? ?#寬

? ? ? ? ? ? vheight ? ? ? ? 320; ? ?#高

? ? ? ? ? ? vthreads ? ? ? ?12; ? #使用ffmpeg線程數

? ? ? ? ? ? vprofile ? ? ? ?main; ?#編碼等級,high、main、baseline

? ? ? ? ? ? vpreset ? ? ? ? medium; ?#視頻預設

? ? ? ? ? ? vparams { ? ? ? ?#ffmpeg的其他視頻參數

? ? ? ? ? ??????g????????????100; ?# 指定gop時長為4秒=100 / 25(vfps)

????????????}

? ? ? ? ? ? acodec ? ? ? ? ?libfdk_aac; ? #音頻編碼器

? ? ? ? ? ? abitrate ? ? ? ?70; ? ? #音頻比特率

? ? ? ? ? ? asample_rate ? ?44100; ? ? #音頻采樣率

? ? ? ? ? ? achannels ? ? ? 2; ? ?#聲道

? ? ? ? ? ? aparams { ? ?#ffmpeg中的其他音頻參數

? ? ? ? ? ? }

? ? ? ? ? ?#轉碼后的流輸出到那里,這里是輸出到本機了。另外一種推流到vhost的方法:

????????????#rtmp://SRS_IP:[port]/[app]?vhost=[vhost]/[stream]

????????????#[vhost] 輸入流的vhost

????????????#[port] 輸入流的端口

????????????#[app] 輸入流的app

????????????#[stream] 輸入流的流名稱

????????????#[engine] 轉碼引擎的名稱

? ? ? ? ? ? output ? ? ? ? ?rtmp://127.0.0.1:[port]/[app]?vhost=[vhost]/[stream]_[engine];

? ? ? ? }

????????#可以定義多個engine

? ? ? ? engine ld {

? ? ? ? ? ? enabled ? ? ? ? on;

? ? ? ? ? ? vfilter {

? ? ? ? ? ? }

? ? ? ? ? ? vcodec ? ? ? ? ?libx264;

? ? ? ? ? ? vbitrate ? ? ? ?300;

? ? ? ? ? ? vfps ? ? ? ? ? ?25;

? ? ? ? ? ? vwidth ? ? ? ? ?640;

? ? ? ? ? ? vheight ? ? ? ? 480;

? ? ? ? ? ? vthreads ? ? ? ?12;

? ? ? ? ? ? vprofile ? ? ? ?main;

? ? ? ? ? ? vpreset ? ? ? ? medium;

? ? ? ? ? ? vparams {

? ? ? ? ? ? }

? ? ? ? ? ? acodec ? ? ? ? ?libfdk_aac;

? ? ? ? ? ? abitrate ? ? ? ?70;

? ? ? ? ? ? asample_rate ? ?44100;

? ? ? ? ? ? achannels ? ? ? 2;

? ? ? ? ? ? aparams {

? ? ? ? ? ? }

? ? ? ? ? ? output ? ? ? ? ?rtmp://127.0.0.1:[port]/[app]?vhost=[vhost]/[stream]_[engine];

? ? ? ? }

? ? }

}

二、用ffmpeg推流

./ffmpeg -re -i 'abc.rmvb' -f flv -y rtmp://v.flyfn.com:1935/live?vhost=v.flyfn.com/test


原始視頻播放:rtmp://v.flyfn.com/live/test

轉碼流1(sd):rtmp://v.flyfn.com/live/test_sd

轉碼流2(ld):rtmp://v.flyfn.com/live/test_ld


三、推流到srs的vhost時的另一種方法

rtmp://SRS_IP:[port]/[app]?vhost=[vhost]/[stream]


四、如何對某一個app下的流都進行轉碼

listen 1935;

vhost v.flyfn.com {

????transcode live{ ? ? ? ? ?#對形如rtmp://srs_ip:1935/live下的流進行轉碼

????????......

????}

}

五、如何對某一路直播流進行轉碼

listen 1935;

vhost v.flyfn.com {

????transcode live/livestream { ? ? ? ? ?#對形如rtmp://srs_ip:1935/live/livestream進行轉碼

????????......

????}

}

總結

以上是生活随笔為你收集整理的用SRS和FFMPEG进行直播流转码的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。