我正在使用支持1080和720p视频的相机,每秒30帧和25帧。我可以使用我的ARM板上的以下gstreamer命令将网络摄像头流式传输
gst-launch-1.0 -v v4l2src device=/dev/video0 ! "video/x-raw, width=1920,
height=1080, format=(string)YUY2, framerate=30/1" ! xvimagesink sync=false -e
但是,我发现我无法更改任何这些参数。例如,如果我将framerate
更改为25/1
,则会收到错误消息:
error: streaming task paused, reason not-negotiated (-4)
我想知道这可能是硬件问题,还是我错误地使用了gstreamer,可能有更好的方法来做到这一点。
答案 0 :(得分:2)
要了解详细信息,您可以查看调试日志,GST_DEBUG = 3,v4l *:6应该为您提供相当多的信息。
但总的来说,问题在于您的相机驱动程序不希望为这些大写字母提供GStreamer。 25fps而不是30fps。如果你改变了其他的东西,也可能是接收器不接受那些上限的问题,你可能想在xvimagesink前面放一个视频转换和视频来防止这种情况发生。