我正在尝试使用ffmpeg启动rtmp转码器服务器;接收udp MPEG-TS流作为输入,对其进行转码;并生成一个rtmp输出到URL,用户可以访问该URL以接收和播放rtmp流。所有这些都应该在局域网中执行,并且所有用户都可以访问输出。
1)首先我不知道URL应该指向哪里。它是否应该指定系统的IP和一些可选端口?程序是否应该监听该端口是否必要?
2)我如何在URL上播放流?
我使用的是linux ubuntu机器,IP = 10.1.1.229,我想在这个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
任何指导都会有所帮助。谢谢。
答案 0 :(得分:1)
我在你的命令中看到一个错误:rtmp URL(在你的情况下是“rtmp://10.1.1.229:2020”)应该是流的完整路径,包括它的名字。我也使用FFmpeg进行类似的任务(将RSTP转码为RTMP并将其流式传输到Wowza)。我的网址如下所示:
rtmp:// [服务器IP] / livecam / desc