如何使用Gstreamer阅读framebuffer(/ dev / fb0)?
我试图在我的Raspberry PI上读取帧缓冲区并使用RP上的硬件h264编码器将其传输到我的笔记本电脑。
首先我试过这个链接: https://www.raspberrypi.org/forums/viewtopic.php?t=43227&p=486061
并使用命令:
gst-launch-1.0 -v multifilesrc location=/dev/fb0 ! videoparse format=29 framerate=30/1 ! decodebin ! videoconvert ! omxh264enc ! rtph264pay ! gdppay ! tcpserversink host=192.168.11.100 port=5000
但视频没有垂直同步。
然后我发现了这个Render OpenGL scene in Qt and stream it to HTML5 interface
并尝试过:
gst-launch-1.0 -v filesrc location=/dev/fb0 blocksize=1920000 ! video/x-raw,format=BGRA,width=800,height=600,framerate=1/1 ! videoconvert ! video/x-raw,format=RGB,framerate=1/1 ! videoflip method=vertical-flip ! videoscale ! video/x-raw,width=400,height=300 ! imagefreeze ! video/x-raw,format=RGB,framerate=30/2 ! clockoverlay shaded-background=true font-desc="Sans 38" ! omxh264enc ! rtph264pay ! gdppay ! tcpserversink host=192.168.11.100 port=5000
但它只在黑屏上显示一个时钟。
我使用此命令观看流:
gst-launch-1.0 -v tcpclientsrc host=192.168.11.100 port=5000 ! gdpdepay ! rtph264depay ! avdec_h264 ! videoconvert ! autovideosink sync=false