【问题标题】:Trouble using GstTIPlugin element for Gstreamer为 Gstreamer 使用 GstTIPlugin 元素时遇到问题
【发布时间】:2013-03-22 22:56:49
【问题描述】:

对于我的项目,我正在尝试使用 gumstix overo、gstreamer 和 TI 插件来使用 DSP,以便通过 RTP 流式传输视频。我找到了这两个教程,甚至能够成功地学习它们:

http://jumpnowtek.com/index.php?option=com_content&view=article&id=81:gumstix-dsp-gstreamer&catid=35:gumstix&Itemid=67

^^在这个版本中,我可以使用 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


    【解决方案1】:

    您到底想解决什么问题?您是否尝试使用 TI 的编码元素对 H.264 进行编码?因为如果我没看错的话,'./capture' 实用程序已经在 H.264 中接收帧——无需编码。

    假设我们有这个黄金例子(这对你有用,对吧?):

    ./capture -c 10000 -o | gst-launch -v -e filesrc location=/dev/fd/0 ! 
    h264parse ! rtph264pay ! udpsink host=192.168.1.100 port=4000
    

    'h264parse' 将 H.264 流解析为 H.264 NAL 单元,以利于 RTP 接收器。如果这有效,则 h264parse 元素很高兴,因为它正在从捕获程序获取 H.264 数据。

    如果您尝试将 h264parse 替换为 TI H.264 编码器元素,那只会令人困惑。再说一次,我不知道你想解决什么问题,所以我可能没有完整的画面。

    如果您还不熟悉它,请了解“gst-inspect”命令。例如,'gst-inspect h264parse'。这将使您深入了解元素可以使用或产生什么类型的数据。

    【讨论】:

      猜你喜欢
      • 2020-08-08
      • 1970-01-01
      • 1970-01-01
      • 2014-11-29
      • 1970-01-01
      • 1970-01-01
      • 2016-12-25
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多