Tcp
ffmpeg 簡單的 RTMP 流
我正在嘗試使用 ffmpeg 啟動一個 rtmp 轉碼器伺服器;接收 udp MPEG-TS 流作為輸入,對其進行轉碼;並生成一個 rtmp 輸出到一個 URL,使用者可以訪問該 URL 以接收和播放 rtmp 流。所有這些都應在 LAN 中執行,並且所有使用者都可以訪問輸出。
首先我不知道 URL 應該指向哪裡。指定係統的IP和一些可選埠是否足夠?程序是否必須在該埠上偵聽?
如何在 URL 上播放流?
我使用 IP=10.1.1.229 的 linux ubuntu 機器,我想在這個 URL 上轉碼多播流:
udp://@224.10.1.1:2001
.這是用於對輸入流進行轉碼並生成 rtmp url “rtmp://10.1.1.229:2020” 的命令。
ffmpeg -y -f mpegts -i "udp://@224.10.1.1:2001" -re -vcodec libx264 -maxrate 700k -r 25 -s 640x360 -deinterlace -acodec libfaac -ab 64k -ac 1 -ar 44100 -f flv "rtmp://10.1.1.229:2020"
這是我試圖播放 rtmp 流的命令:
ffplay rtmp://10.1.1.229:2020
任何指導都會有所幫助。謝謝你。
ffmpeg(還)沒有 RTMP 伺服器功能。當它輸出到 rtmp URL 時,它的作用是輸出流,這是 RTMP 伺服器(如 Wowza 或類似伺服器)的輸入源。簡而言之,ffmpeg 向真正的 RTMP 伺服器提供輸入,然後由該 RTMP 伺服器廣播。