【问题标题】:Gstreamer: stream video over internetGstreamer:通过互联网流式传输视频
【发布时间】:2017-02-03 08:50:39
【问题描述】:

我正在使用带有 Ubuntu 14.04 的 nVidia TX1 嵌入式板。

我已经连接了一个摄像头模块,它可以提供 1080p60 的 UYVY 视频输出。我正在使用 gstreamer 1.2.4 管道进行预览、udp 和 rtsp 流。这很好用。

我可以在本地 LAN 中使用 VLC 播放器或 gstreamer 管道从 Clinet PC 观看流媒体视频。

但是如何通过 Internet 流式传输此实时视频源,以便可以从世界任何地方观看?

我遇到了一些可以通过互联网传输网络摄像头视频的软件。但问题是我的相机源是 UYVY,所以我不能直接从任何 3rd 方软件播放 video0 设备。我需要 gstreamer 进行颜色转换。

那么我怎样才能通过 Internet 直接从 Gstreamer Pipeline 流式传输? 有没有类似 wowza 之类的软件或其他可用的方法?

【问题讨论】:

    标签: video udp video-streaming gstreamer rtsp


    【解决方案1】:

    如果不提供您的管道,我无法具体看到您正在使用哪些组件,因此无需太多排列即可回答您的问题 - 如何通过互联网直接使用 gstreamer 管道进行流式传输?这是一个服务器和客户端的基本工作示例,您显然需要更改应用程序的源。您可能希望将自动视频接收器更改为具有 h264 硬件视频加速的东西,否则这可能会非常慢。

    服务器

    gst-launch videotestsrc ! queue ! x264enc ! queue ! rtph264pay ! queue ! udpsink host=10.0.0.2 port=9002
    

    客户

    gst-launch udpsrc port=9002 caps="application/x-rtp" ! queue ! rtph264depay ! queue ! ffdec_h264 ! queue ! autovideosink
    

    h263 - 如果硬件解码不是一个选项,它会更快。

    服务器

    gst-launch videotestsrc \
    ! video/x-raw-yuv, width=704, height=576, format='(fourcc)'UYVY \
    ! ffmpegcolorspace \
    ! ffenc_h263 \
    ! video/x-h263 \
    ! rtph263ppay pt=96 \
    ! udpsink host=127.0.0.1 port=9002 sync=false
    

    客户

    gst-launch  udpsrc  port=9002 \
    ! application/x-rtp, clock-rate=90000,payload=96,media=video, encoding-name=H263! rtph263pdepay queue-delay=0 \
    ! ffdec_h263 \
    ! autovideosink
    

    【讨论】:

      猜你喜欢
      • 2019-01-26
      • 1970-01-01
      • 2013-06-23
      • 2013-07-26
      • 1970-01-01
      • 2023-03-31
      • 2012-12-17
      • 1970-01-01
      • 2013-04-13
      相关资源
      最近更新 更多