rtp - GStreamer RTP 数据包大小

标签 rtp gstreamer

我正在运行以下 GStreamer 命令:

gst-launch-1.0 -v filesrc location=audiofile.mp3 !疯狂的 !音频转换! rtpL16pay mtu=1024 ! udpsink端口=5005主机=127.0.0.1

这将设置最大数据包大小为 1024 字节(最大传输单元)的 RTP 流。当我运行这个流时,我最终得到一个由 4 个大小为 1024 的数据包组成的序列,后跟 1 个大小为 572 的数据包。该序列在文件的持续时间内重复。为什么会发生这种情况,有什么方法可以确保统一的数据包大小(至少直到最后一个数据包)?

最佳答案

RTP 数据包大小是 MTU、max-ptime(如果设置)或可用数据中的最小值。

因此,在您的情况下,如果没有更多信息,我怀疑 572 字节的数据包大小是因为它是当时管道中的所有可用或剩余数据。

如果您想确保 1024 字节始终可用,请考虑实现 queue为您的 rtpL16pay 元素缓冲数据。

关于rtp - GStreamer RTP 数据包大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30982735/

相关文章:

ffmpeg - 从网络摄像头编码未压缩的 avi

c - 我应该设置 appsrc caps 来修复 "internal data stream error"吗?

Android mediacodec 实时解码 h264 流,延迟约 1 秒

ubuntu - ubuntu 16.04 中的 Gstreamer gst-launch udpsrc 不起作用

python - 从客户端向服务器发送大量图像的有效方法

linux - GStreamer 中的多路复用音频和视频卡住

rtp - 流媒体RTP和Shoutcast

android - android 是否支持为 VoIP 和 PTT 项目实现 RTP、RTSP 的 API?

Python收发RTP包

android - 适用于 Android 的 UDP 或 RTP 流媒体解决方案