我是gstreamer的新手,我想将视频及其音频从相机发送到RTP(网络)。
我正在使用' AM5728'作为我们的处理器,它将视频和音频分别作为输入,视频将在AM5728中使用H.264进行压缩。
现在我的问题是 i)如何在AM5728中压缩音频(与视频相关)?
ii)这些单独压缩的视频和音频如何编码并发送到RTP(网络),保持音频与视频同步?我们遇到了各种插件。
是否有任何特定的插件。
答案 0 :(得分:0)
请参阅此link,其要求完全相同。
i)如何在AM5728中压缩音频(与视频相关)?
am5728中没有音频编码硬件,所以你们都必须进行软件编码,gstreamer有一个avenc_aac插件。
ii)如何对这些单独压缩的视频和音频进行编码 并发送到RTP(网络),保持音频与视频同步?我们来到了 各种插件。
以下是一个简单的管道,它通过端口10000上的ip 192.168.1.186向客户端发送音频和视频,您可以将IP更改为方便,也可以是端口:
gst-launch-1.0 -vv v4l2src device=/dev/video1 io-mode=4 ! 'video/x-raw,format=(string)YUY2,width=1280,height=720,framerate=(fraction)30/1' ! vpe num-input-buffers=8 ! 'video/x-raw,format=NV12,width=1920,height=1080' ! queue ! ducatih264enc bitrate=6000 ! h264parse ! queue ! mpegts. alsasrc ! queue ! avenc_aac ! compliance=-2 ! aacparse ! mpegts. mpegtsmux name=mpegts ! rtpmp2tpay ! udpsink host=192.168.1.186 port=10000
对于接收者:
gst-launch-1.0 -e -v udpsrc port=10000 caps="application/x-rtp\,.." ! rtpjitterbuffer ! rtpmp2tdepay ! tsdemux name=demux demux. ! queue ! h264parse ! avdec_h264 ! videoconvert ! autovideosink demux. ! queue ! aacparse ! avdec_aac ! audioconvert ! autoaudiosink
注意:您需要填写发件人为udpsink0.GstPad打印的大写字母:接收方大写字母中的上限