我想进行实时视频流和编码。我正在使用Leopardboard DM365
。我可以将实时视频捕获并编码为H264,然后使用gstreamer插件进行流式处理,但如何在Windows上捕获rtp数据包?我可以使用sdp文件在vlc上捕获,但我不想只使用VLC查看。我需要捕获缓冲区然后将其传递给我的应用程序。我怎样才能做到这一点?
我在服务器端使用以下gstreamer插件:
gst-launch -v -e v4l2src always-copy = FALSE input-src = composite chain-ipipe = true! video / x-raw-yuv,格式=(fourcc)NV12,宽度= 640, 身高= 480!排队! dmaiaccel! dmaienc_h264 encodingpreset = 2 ratecontrol = 2 intraframeinterval = 23 idrinterval = 46 targetbitrate = 3000000! rtph264pay! udpsink port = 3000 host = 192.168.1.102 sync = false enable-last-buffer = false
谢谢你, MAZ
答案 0 :(得分:1)
在您的应用程序中,如果您知道要接收的确切参数,为什么需要sdp文件?
获取流参数需要sdp文件。 rtsp协议允许交换sdp,因为接收方不知道发送方将发送什么。
如果您的应用程序知道发件人将发送的内容,您只需要捕获数据并开始解码。许多人希望配置rtph264pay with config-interval = 1每1秒发送一次SPS PPS,以便您的应用程序可以解码正在进入的内容。可以随意更改config-interval的持续时间以匹配您的intraframeframeral。