【发布时间】:2020-05-19 14:05:16
【问题描述】:
我想接收一个 RTP 流并通过 TCP / UDP 套接字发送接收到的原始数据。为此,我正在尝试以下命令。
-
我正在使用以下命令发送 RTP 流。
ffmpeg -re -i hello.wav -ar 8000 -f mulaw -f rtp rtp://127.0.0.1:1234
-
接收方通过 TCP / UDP 套接字重新传输流。
ffmpeg -i rtp://127.0.0.1:1234 -f mulaw tcp://127.0.0.1:5555 -hide_banner
-
播放此 Socket 流进行验证的播放器。
ffplay tcp://127.0.0.1:5555?listen
我的第二个命令显示它接收数据并通过 5555 端口将数据传输到 tcp。
Input #0, rtp, from 'rtp://127.0.0.1:1234':
Duration: N/A, start: 0.000000, bitrate: 64 kb/s
Stream #0:0: Audio: pcm_mulaw, 8000 Hz, mono, s16, 64 kb/s
Stream mapping:
Stream #0:0 -> #0:0 (pcm_mulaw (native) -> pcm_mulaw (native))
Press [q] to stop, [?] for help
Output #0, mulaw, to 'tcp://127.0.0.1:5555':
Metadata:
encoder : Lavf58.29.100
Stream #0:0: Audio: pcm_mulaw, 8000 Hz, mono, s16, 64 kb/s
Metadata:
encoder : Lavc58.54.100 pcm_mulaw
但是第三个命令没有收到任何东西,即使我尝试在命令三中使用 FFMPEG 将响应转储到文件中,但结果相同。
我做错了什么,请使用 FFMPEG 提出正确的命令。
【问题讨论】:
-
"请建议正确的命令以使用 FFMPEG 实现相同的效果。" 您正在使用 ffmpeg。真正的问题是什么?这太模糊了,无法回答。