日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

SRS4.0源码分析-RTMP延迟

發(fā)布時間:2024/3/12 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 SRS4.0源码分析-RTMP延迟 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

本文采用的 SRS 版本是 4.0-b8 , 下載地址:github


本文主要對 SRS RTMP 直播做延遲測試,然后介紹如何優(yōu)化 RTMP 的延遲。為了不嵌套界面,介紹一下?ffmpeg?如何抓取某個應(yīng)用屏幕。

先下載一個秒表程序,ledcount?,運行界面如下:

FFmpeg 抓取 某個 窗口的命令如下:

ffmpeg.exe -f gdigrab -framerate 6 -i "title=abcds" out2.flv

由于 FFmpeg 不支持中文的窗口名稱,所以需要 下載一個軟件?Captain?,可以修改窗口的標題。上面我把 窗口標題 修改成?abcds?,這樣 ffmpeg 就能抓取了。

注意。Captain 這個軟件,是使用鼠標中間的按鈕來修改標題的,一定要把鼠標移動到應(yīng)用上方的菜單欄的位置在點擊中間的按鈕,才能彈出來修改按鈕。

修改如下:


ffmpeg 錄制環(huán)境已經(jīng)裝備好,下面就用一條命令推流到 SRS 的RTMP 服務(wù)器。

ffmpeg.exe -f gdigrab -framerate 6 -i "title=abcds" -f flv rtmp://192.168.0.123/live/livestream

然后用 ffplay 播放 RTMP 流,命令如下:

ffplay -fflags nobuffer -i rtmp://192.168.0.123/live/livestream

上面是 截圖得出來的延遲,一共 0.4 秒左右的延遲。

上面 FFplay 使用了?nobuffer,雖然延遲少了,但是可能會有少許不流暢。不開啟這個選項延遲一般在 7秒左右延遲。這個是利用大的 buffer 來實現(xiàn)視頻播放的流暢性,但是同時延遲會加大。


下面開始優(yōu)化延遲,參考下面兩篇文章進行配置。

1,《低延時直播應(yīng)用》

2,《RTMP低延時配置》

由于SRS的 低延遲配置 都在?conf/realtime.conf?里面,SRS 啟動的時候直接指定這個文件就行。命令如下:

./objs/srs -c ./conf/realtime.conf

再次截圖延遲,如下:

延遲 0.5 秒,在局域網(wǎng)內(nèi)好像沒什么差別。這里聲明一下,本文采用的測量方法不是嚴格準確的,推薦看 《延遲的測量》


擴展知識:

1,FFmpeg 抓取 整個桌面或者某個特定位置,請看 《FFmpeg從入門到精通》第 7.3 節(jié)

相關(guān)閱讀:

  • 《FFmpeg 抓取應(yīng)用窗口》
  • 《低延時直播應(yīng)用》
  • 《RTMP低延時配置》
  • 延遲的測量

  • 由于筆者的水平有限, 加之編寫的同時還要參與開發(fā)工作,文中難免會出現(xiàn)一些錯誤或者不準確的地方,懇請讀者批評指正。如果讀者有任何寶貴意見,可以加我微信 Loken1。QQ:2338195090。


    推薦一個零聲學(xué)院免費公開課程,個人覺得老師講得不錯,分享給大家:

    Linux,Nginx,ZeroMQ,MySQL,Redis,fastdfs,MongoDB,ZK,流媒體,CDN,P2P,K8S,Docker,TCP/IP,協(xié)程,DPDK等技術(shù)內(nèi)容,立即學(xué)習(xí)

    總結(jié)

    以上是生活随笔為你收集整理的SRS4.0源码分析-RTMP延迟的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。