【发布时间】:2013-03-22 22:56:49
【问题描述】:
对于我的项目,我正在尝试使用 gumstix overo、gstreamer 和 TI 插件来使用 DSP,以便通过 RTP 流式传输视频。我找到了这两个教程,甚至能够成功地学习它们:
^^在这个版本中,我可以使用 gstreamer 和 GstTIPlugIn 元素编译嵌入式 linux 操作系统。这样做之后,我可以成功地将 videotestsource 流式传输到远程 PC。
然而,该教程是针对 caspa 视频摄像头的,我使用的是本教程中使用的 Logitech Pro C920:
http://www.oz9aec.net/index.php/gstreamer/473-using-the-logitech-c920-webcam-with-gstreamer
^^在这一个中,我们使用了一台 H264 模式的 C920 相机。由于 V4l2 驱动程序不支持这一点,我们使用 c 脚本逐帧从相机捕获并将其流式传输到标准输出。从这里我们告诉 Gstreamer 从文件源中捕获,在这种情况下是 (/dev/fd/0) 中的标准。同样,我能够成功完成此操作并从 C920 相机进行流式传输,但无需使用 TIplugin 来使用 DSP。
现在问题来了:
./capture -c 10000 -o | gst-launch -v -e filesrc location=/dev/fd/0 ! h264解析! rtph264pay! udpsink 主机=192.168.1.100 端口=4000
^^此命令将运行捕获程序,gstreamer 将使用 h264parse 管道抓取并流式传输视频进行编码(我相信?)
当我用第一个教程中的 TIplugin 替换 h264parse 时,如下所示:
./capture -c 10000 -o | gst-launch -v -e filesrc location=/proc/self/fd/0 ! TIVidenc1 codecName=h264enc engineName=codecServer! rtph264pay! udpsink 主机=192.168.1.100 端口=4000
我收到此错误:
将管道设置为 PAUSED ... 管道正在预滚... 错误:来自元素/GstPipeline:pipeline0/GstTIVidenc1:tividenc10:未能创建视频编码器:h264enc
其他调试信息: gsttividenc1.c(1584): gst_tividenc1_codec_start (): /GstPipeline:pipeline0/GstTIVidenc1:tividenc10 错误:管道不想预卷。 将管道设置为 NULL ...
我也尝试保留两个元素,然后错误说它无法将 h264parse0 链接到 tividenc10
有没有人对 GstTIPlugin 有任何经验并且知道我做错了什么? 谢谢
【问题讨论】:
标签: encoding signal-processing h.264 gstreamer rtp