Gstream 视频流错误

Gstream 视频流错误

我正在尝试将网络摄像头视频从一台计算机传输到另一台计算机,并且延迟低或为零。我使用了以下命令。
发送者:

gst-launch-1.0 v4l2src !  video/x-raw,width=640,height=480 !  x264enc ! h264parse ! rtph264pay !  udpsink host=127.0.0.1 port=5000

但我收到以下错误:

Setting pipeline to PAUSED ...
ERROR: Pipeline doesn't want to pause.
ERROR: from element /GstPipeline:pipeline0/GstV4l2Src:v4l2src0: This isn't a device '/dev/video0'.
Additional debug info:
v4l2_calls.c(575): gst_v4l2_open (): /GstPipeline:pipeline0/GstV4l2Src:v4l2src0:
system error: Success
Setting pipeline to NULL ...
Freeing pipeline ...

有人知道我该如何消除这个错误吗?

答案1

该错误意味着 /dev/video0 不是视频捕获设备。也许您需要使用以下命令设置另一个设备:

gst-launch-1.0 v4l2src device="/dev/videoX" ! video/x-raw,width=640,height=480 !  x264enc ! h264parse ! rtph264pay !  udpsink host=127.0.0.1 port=5000

其中“X”是您的视频捕获设备的编号。您的设备可能无法以 640x480 进行捕获,因此您可能需要在 caps 前添加 videoscale,并且如果输入是编码器无法处理的格式,在编码器之前使用 videoconvert 也是安全的。

因此类似于:

gst-launch-1.0 v4l2src device=<device> ! videoscale ! video/x-raw,width=640,height=480 ! videoconvert ! x264enc ! h264parse ! rtph264pay !  udpsink host=127.0.0.1 port=5000

相关内容