1

我想做实时视频流和编码。我正在使用Leopardboard DM365. 我可以捕获实时视频并将其编码为 H264,然后使用 gstreamer 插件进行流式传输,但是如何在 Windows 上捕获 rtp 数据包?我可以使用 sdp 文件在 vlc 上捕获,但我不想只使用 VLC 查看。我需要捕获缓冲区,然后将其传递给我的应用程序。我怎样才能做到这一点?我在服务器端使用以下 gstreamer 插件:

gst-launch -v -e v4l2src always-copy=FALSE input-src=复合链-ipipe=true !视频/x-raw-yuv,格式=(fourcc)NV12,宽度=640,高度=480!队列 !dmaiaccel !dmaienc_h264 encodingpreset=2 ratecontrol=2 intraframeinterval=23 idrinterval=46 targetbitrate=3000000 !rtph264pay!udpsink 端口 = 3000 主机 = 192.168.1.102 同步 = 假启用-上一个缓冲区 = 假

谢谢你,马兹

4

1 回答 1

1

在您的应用程序中,如果您知道要接收的确切参数,为什么需要 sdp 文件?

需要 sdp 文件来获取流参数。rtsp 协议允许交换 sdp,因为接收者不知道发送者将发送什么。

如果您的应用程序知道发送者将发送什么内容,您只需要捕获数据并开始解码即可。许多人希望将 rtph264pay 配置为 config-interval=1 以每 1 秒发送一次 SPS PPS,以便您的应用程序可以解码传入的内容。随意更改 config-interval 的持续时间以匹配您的帧内帧内。

于 2012-08-22T18:25:51.247 回答