Tcp

ffmpeg 簡單的 RTMP 流

  • May 25, 2015

我正在嘗試使用 ffmpeg 啟動一個 rtmp 轉碼器伺服器;接收 udp MPEG-TS 流作為輸入,對其進行轉碼;並生成一個 rtmp 輸出到一個 URL,使用者可以訪問該 URL 以接收和播放 rtmp 流。所有這些都應在 LAN 中執行,並且所有使用者都可以訪問輸出。

  1. 首先我不知道 URL 應該指向哪裡。指定係統的IP和一些可選埠是否足夠?程序是否必須在該埠上偵聽?

  2. 如何在 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 伺服器廣播。

引用自:https://serverfault.com/questions/494732