2

我已经用相机板设置了我的树莓派。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”中设置属性“caps”。我知道这是因为sprop-parameter-sets,但是我怎样才能在\"J2QAFKwrQKD9APEiag\\=\\=\\,KO4fLA\\=\\=\"没有 gstreamer 抱怨的情况下放置字符串?(我已经尝试了很多修改)

信息:Mac OSX 10.8.4、Eclipse Indigo SR2、android-ndk-r8d(教程不适用于其他版本)、gstreamer-sdk-android-arm-debug-2012.11(教程不适用于其他版本)、擎天柱黑色 p970 ICS。

有什么建议吗?

4

1 回答 1

2

好吧,我已经能够解决这个问题。帽子应该是这样的:

udpsrc port=5000 caps=\"application/x-rtp, media=video, clock-rate=90000, encoding-name=H264, sprop-parameter-sets=\\\"J2QAFKwrQLj/LwDxImo\\\\=\\\\,KO4fLA\\\\=\\\\=\\\"\", payload=96\" ! ...

视频显示几乎没有延迟

于 2013-09-04T10:26:45.160 回答