gst 启动窗口导致黑屏

问题描述 投票:0回答:1

我想使用 UDP 接收器和 src 元素通过网络流式传输视频。

我正在使用以下内容:

  1. i.MX6双处理器作为服务器

  2. x86 系统作为 Ubuntu 18 的接收器

  3. 连接到 i.MX6 双处理器的 UVC 相机

当我运行 gst 管道时,gst 启动窗口弹出但视频不播放它显示黑屏。

我使用的管道 服务器:

gst-launch-1.0 v4l2src !视频转换!视频比例!视频率! “视频/x-raw,宽度=720,高度=576,格式=I420,帧率=30”! rtpvrawpay! udpsink host=162.168.0.105 port=5000 sync=false

接收器:

gst-launch-1.0 udpsrc port=5001 caps = "application/x-rtp, media=(string)video, clock-rate=(int)90000, encoding-name=(string)RAW, sampling=(string)YCbCr -4:2:2, depth=(string)8, width=(string)720, height=(string)576, payload=(int)96, a-framerate=(string)30" ! rtpvrawdepay!视频转换!队列 ! xvimagesink 同步=假

我尝试更改一些参数,例如:分辨率、帧率等,但没有用,它只显示黑屏。我也尝试删除参数但在删除参数后它没有显示 gst 启动窗口或任何错误。

我已经检查了摄像头是否接受输入,但是当我在本地系统上播放时它工作正常。

能否请您帮助管道流式传输视频并避免黑屏?

gstreamer multimedia usb-camera
1个回答
0
投票

流式传输视频时,我建议您对流进行编码。这将减少流的大小并获得更好的性能,这是常见的做法。这里我有一些服务器和接收器管道,我在其中编码和解码我的视频。两者都在我的电脑上运行。

服务器管道

gst-launch-1.0 -e -v v4l2src ! videoconvert ! videoscale ! videorate ! "video/x-raw,format=I420,width=640,height=480,framerate=30/1" ! x264enc key-int-max=15 ! rtph264pay ! udpsink host=localhost port=5000

在之前的管道中,我保留了您使用的第一个元素。然后我使用

x264enc
元素进行H264编码。 x264enc 是 GStreamer 中的一个由软件编码的元素,但由于您使用的是 i.MX6,因此您可以使用硬件加速编码器,如
vpuenc
,您可以在此 link 中查找更多信息。然后
rtph264pay
元素将
video/x-h264
转换为
application/x-rtp
。最后,我指定我的主机地址和端口。我正在使用本地主机,因为我在我的电脑上流式传输。

接收管道

gst-launch-1.0 -v udpsrc uri=udp://localhost:5000 ! application/x-rtp,media=video,clock-rate=90000,encoding-name=H264,payload=96 ! rtph264depay ! avdec_h264 ! autovideosink

在此管道中,我使用 uri 属性指定流的来源。您应该将地址更改为服务器的 IP,并将端口更改为您在服务器管道中指定的地址。最后,您使用

video/x-h264
解码元素将
video/x-raw
解码为
avdec_h264

我希望这有帮助。

© www.soinside.com 2019 - 2024. All rights reserved.