我正在使用Ubuntu桌面和gstreamer将USB网络摄像头视频发送到RPi Zero。当我建立连接时,我首先要确保使用以下命令设置了串行端口(Linux Deskstop上的ttyACM0和RPi Zero上的ttyGS0):
stty 115200 raw -echo < /dev/ttyACM0
stty 115200 raw -echo < /dev/ttyGS0
我正在使用以下命令从Linux桌面上的USB网络摄像头抓取视频并将其发送到RPi:
gst-launch-1.0 v4l2src device=/dev/video0 ! image/jpeg,width=640,height=480,framerate=30/1 ! jpegparse ! jpegdec ! filesink location=/dev/ttyACM0 blocksize=1024 max-bitrate=115200 sync=false
我通过在RPi上执行以下命令来验证数据是否通过端口:
cat /dev/ttyGS0
要读取Rpi上的数据,请使用以下命令:
gst-launch-1.0 -v filesrc location=/dev/ttyGS0 blocksize=1024 ! fbdevsink
我正在使用fbdevsink,因为我无头运行,但是我将Rpi挂接到了显示器上。我知道fbdevsink可以工作是因为我可以毫无问题地运行gstreamer测试模式。
但是,当我使用它通过串行端口读取视频时,出现以下错误:
root @ raspberrypi:/ home / pi#gst-launch-1.0 -v filesrc location = / dev / ttyGS0块大小= 1024! fbdevsink将管道设置为 已暂停...管道已预卷...管道已预卷... 将管道设置为PLAYING ...新时钟:GstSystemClock从 元素“ pipeline0”。 0:00:02.373297098设置后执行结束 管线到PAUSED ...将管线设置为READY ...设置管线 变为NULL ...释放管道...
有人建议通过串行端口流视频并显示吗?