我正在使用带有Ubuntu 14.04的nVidia TX1嵌入式主板。
我已经安装了一个相机模块,它可以提供1080p60的UYVY视频输出。我正在使用gstreamer 1.2.4管道预览,udp& rtsp流媒体。这很好。
我可以使用本地局域网中Clinet PC的VLC播放器或gstreamer管道查看流媒体视频。
但是,我如何通过互联网传输这个实时视频源,以便可以在世界任何地方查看?
我遇到了一些可以通过互联网传输WebCam视频的软件。但问题是我的相机输入是UYVY所以我无法直接从任何第三方软件播放video0设备。我需要gstreamer进行颜色转换。
那么我如何通过互联网直接从Gstreamer Pipeline流式传输? 是否有像wowza或其他方法可用的软件?
答案 0 :(得分:0)
如果没有提供您的管道,我无法具体了解您正在使用哪些组件,那么在没有多种排列的情况下回答您的问题 - 您如何通过互联网直接使用gstreamer管道进行流式传输?这是服务器和客户端的基本工作示例,您显然需要更改应用程序的源代码。您可能希望将autovideo sink更改为具有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