![Gstream 视频流错误](https://linux22.com/image/1084504/Gstream%20%E8%A7%86%E9%A2%91%E6%B5%81%E9%94%99%E8%AF%AF.png)
我正在尝试将网络摄像头视频从一台计算机传输到另一台计算机,并且延迟低或为零。我使用了以下命令。
发送者:
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