对于来自网络摄像头的视频流,我对gstreamer管道使用以下命令:
gst-launch-1.0 v4l2src device=/dev/video0 ! videorate ! video/x-raw,format=I420,width=1920,height=1080,framerate=25/1 ! xvimagesink
不幸的是,显示的流有一个非常低的帧率,感觉可能是每秒3帧。我真的不知道这里会有什么问题。如何提高这个视频流的性能?
我已经尝试减少宽度和高度值,以降低分辨率,但这并没有给我留下任何明显的改善。这种格式的东西会不会让我慢下来?也许我选择了I420,因为在nodewebRTC实现中,函数似乎只使用这种格式的框架调用。
发布于 2020-11-25 00:54:17
首先检查你的相机能力,例如用v4l2-ctl --list-formats-ext -d /dev/video0
。可能是I420
需要转换。如果您的PC无法跟上转换,您将看到如下消息:
WARNING: from element /GstPipeline:pipeline0/GstXvImageSink:xvimagesink0: A lot of buffers are being dropped.
如果是这样的话,请考虑使用MJPG
在更高的框架中进行流。
https://stackoverflow.com/questions/64875132
复制相似问题