Mikhail Babushkin Asked: 2022-06-14 09:04:33 +0800 CST2022-06-14 09:04:33 +0800 CST 2022-06-14 09:04:33 +0800 CST 如何为 ffmpeg 的输出 rtmp 流设置端口? 772 我可以使用 ffmpeg 为输出 rtmp 流设置不同的端口吗? 例如, ffmpeg -listen 1 -i rtmp://server0:port/live/key -c copy -f flv rtmp://server1/live/key -f flv rtmp://server2/live/key 我需要为服务器 1 和服务器 2 设置不同的端口,但我对此一无所知。如果您能帮助我,我将不胜感激 ffmpeg port 1 个回答 Voted Best Answer Rotem 2022-06-14T13:26:31+08:002022-06-14T13:26:31+08:00 您可以使用tee muxer。 笔记: 使用tee时,我们必须明确映射视频和音频。 使用以下语法: ffmpeg -listen 1 -i rtmp://server0:port/live/key -c copy -f tee -use_fifo 1 -map 0:v? -map 0:a? "[f=flv]rtmp://server1:port1/live/key|[f=flv]rtmp://server2:port2/live/key" -f tee- 使用 tee muxer(将输出拆分为两个 URL)。 -map 0:v? -map 0:a?- 映射视频和音频(?在没有视频或音频流的情况下需要)。 "[f=flv]rtmp://server1:port1/live/key|[f=flv]rtmp://server2:port2/live/key" 将输出拆分为两个 RTMP 流 -server1:port1和server2:port2. [f=flv]选择 FLV 输出格式(每个)。 -use_fifo 1- 允许补偿输出的不同速度/延迟/可靠性。 测试 这是将合成视频和音频流式传输到两个 FFplay 实例的示例: 从不同的终端执行每个命令。 ffplay -listen 1 -timeout 1000000 -i rtmp://127.0.0.1:5000/live/key ffplay -listen 1 -timeout 1000000 -i rtmp://127.0.0.1:6000/live/key 等几秒... ffmpeg -re -f lavfi -i testsrc=size=192x108:rate=25 -f lavfi -i sine=frequency=400 -vcodec libx264 -pix_fmt yuv420p -acodec aac -ar 22050 -f tee -use_fifo 1 -map 0:v? -map 1:a? "[f=flv]rtmp://127.0.0.1:5000/live/key|[f=flv]rtmp://127.0.0.1:6000/live/key" 请先执行测试,如果它不起作用,请告诉我。
您可以使用tee muxer。
笔记:
使用以下语法:
ffmpeg -listen 1 -i rtmp://server0:port/live/key -c copy -f tee -use_fifo 1 -map 0:v? -map 0:a? "[f=flv]rtmp://server1:port1/live/key|[f=flv]rtmp://server2:port2/live/key"
-f tee
- 使用 tee muxer(将输出拆分为两个 URL)。-map 0:v? -map 0:a?
- 映射视频和音频(?
在没有视频或音频流的情况下需要)。"[f=flv]rtmp://server1:port1/live/key|[f=flv]rtmp://server2:port2/live/key"
将输出拆分为两个 RTMP 流 -
server1:port1
和server2:port2
.[f=flv]
选择 FLV 输出格式(每个)。-use_fifo 1
- 允许补偿输出的不同速度/延迟/可靠性。测试
这是将合成视频和音频流式传输到两个 FFplay 实例的示例:
从不同的终端执行每个命令。
ffplay -listen 1 -timeout 1000000 -i rtmp://127.0.0.1:5000/live/key
ffplay -listen 1 -timeout 1000000 -i rtmp://127.0.0.1:6000/live/key
等几秒...
ffmpeg -re -f lavfi -i testsrc=size=192x108:rate=25 -f lavfi -i sine=frequency=400 -vcodec libx264 -pix_fmt yuv420p -acodec aac -ar 22050 -f tee -use_fifo 1 -map 0:v? -map 1:a? "[f=flv]rtmp://127.0.0.1:5000/live/key|[f=flv]rtmp://127.0.0.1:6000/live/key"
请先执行测试,如果它不起作用,请告诉我。