我用相机板设置了我的覆盆子pi。 rpi中的代码是:
raspivid -t 999999 -h 720 -w 1080 -fps 25 -b 2000000 -o - | gst-launch-0.10 -v fdsrc fd=0 ! h264parse ! rtph264pay ! udpsink host=192.168.2.1 port=5000
然后我在我的mac中运行:
gst-launch-1.0 -v udpsrc port=5000 ! application/x-rtp,payload=96,media=video,clock-rate=90000,encoding-name=H264,sprop-parameter-sets=\"J2QAH6wrQCIC3y8A8SJq\\,KO4CXLA\\=\" ! rtph264depay ! avdec_h264 ! videoconvert ! autovideosink sync=false
视频显示得很好。现在我有Android Gstreamer的教程3和我的管道(udpsink主机在服务器中修改为Android设备ip):
data->pipeline = gst_parse_launch("udpsrc caps=\"application/x-rtp, media=(string)video, clock-rate=(int)90000, encoding-name=(string)H264, sprop-parameter-sets=(string)\"J2QAFKwrQKD9APEiag\\=\\=\\,KO4fLA\\=\\=\", ssrc=(uint)2607831725, payload=(int)96, clock-base=(uint)1706962490, seqnum-base=(uint)15791\" port=5000 ! queue ! rtph264depay ! queue ! ffdec_h264 ! autovideosink sync=false", &error);
但它显示无法在元素“udpsrc0”中设置属性“大写”。我知道这是因为sprop-parameter-sets
,但是如何在没有gstreamer抱怨的情况下放置\"J2QAFKwrQKD9APEiag\\=\\=\\,KO4fLA\\=\\=\"
字符串? (我已经尝试了很多修改)
的信息: Mac OSX 10.8.4, Eclipse Indigo SR2, android-ndk-r8d(教程没有与其他版本一起使用), gstreamer-sdk-android-arm-debug-2012.11(教程没有与其他版本一起使用), Optimus Black p970 ICS。
任何sugestions?
答案 0 :(得分:2)
好吧,我已经能够解决这个问题了。上限应该是这样的:
udpsrc port=5000 caps=\"application/x-rtp, media=video, clock-rate=90000, encoding-name=H264, sprop-parameter-sets=\\\"J2QAFKwrQLj/LwDxImo\\\\=\\\\,KO4fLA\\\\=\\\\=\\\"\", payload=96\" ! ...
视频显示几乎没有延迟