[rtp @ 00000160512f0300] Unable to receive RTP payload type 96 without an SDP file describing it rtp://127.0.0.1:1234: Invalid data found when processing input
时间: 2024-03-07 17:50:18 浏览: 210
这个错误提示是由于 FFmpeg 在接收 RTP 流时,无法识别 SDP 文件中的 RTP 负载类型,导致无法解码音频数据。
解决这个问题的方法是,使用 SDP 文件指定 RTP 负载类型和相关参数。具体步骤如下:
1. 创建一个 .sdp 文件,指定音频的 RTP 负载类型和相关参数,例如:
```
v=0
o=- 0 0 IN IP4 127.0.0.1
s=No Name
c=IN IP4 127.0.0.1
t=0 0
m=audio 1234 RTP/AVP 96
a=rtpmap:96 opus/48000/2
```
其中,m=audio 1234 RTP/AVP 96 指定音频流的 RTP 端口和负载类型,a=rtpmap:96 opus/48000/2 指定 RTP 负载类型 96 对应的音频编码为 Opus,采样率为 48000 Hz,声道数为 2。
2. 使用 FFmpeg 命令行工具读取 .sdp 文件,并接收 RTP 音频流,例如:
```
ffmpeg -protocol_whitelist "file,rtp,udp" -i audio.sdp -acodec copy output.aac
```
其中,-protocol_whitelist "file,rtp,udp" 参数指定允许读取 file、rtp 和 udp 协议的输入,-i audio.sdp 指定输入的 .sdp 文件名,-acodec copy 参数指定不对音频进行编码,直接复制音频流。
通过以上步骤,就可以成功接收 RTP 音频流并解码输出。
相关问题
Unable to receive RTP payload type 96 without an SDP file describing it rtp://127.0.0.1:1234: Invalid data found when processing input
这是一个关于 RTP 的报错信息,提示无法接收 RTP 负载类型 96,因为没有描述它的 SDP 文件。这可能是因为在尝试使用 RTP 协议进行音频或视频传输时,缺少必要的 SDP 文件或文件内容不完整导致的。您可以检查 SDP 文件的内容是否正确,或者尝试重新生成一个包含正确描述的 SDP 文件。同时,也需要确保 RTP 协议的参数设置正确。
阅读全文