我正在使用以下命令从rapsberry pi流式传输视频:
raspivid -t 0 -o - | gst-launch-1.0 fdsrc ! h264parse ! rtph264pay config-interval=1 pt=96 ! udpsink host=<host> port=<port>
并捕获:
gst-launch-1.0 udpsrc port=<port> ! application/x-rtp, encoding-name=H264,payload=96 ! rtph264depay ! h264parse ! avdec_h264 ! videoconvert ! autovideosink sync=false
现在,我想降低流式视频的帧速率。我发现-fps
命令的raspivid
参数不能按预期工作(运行raspivid -t 0 -fps 15 -o -
不会改变输出视频帧率)。因此,我决定使用videorate
gstreamer元素对其进行更改:
raspivid -t 0 -o - | gst-launch-1.0 fdsrc ! h264parse ! omxh264dec ! videorate ! video/x-raw,framerate=15/1 ! omxh264enc ! rtph264pay config-interval=1 pt=96 ! udpsink host=<host> port=<port>
但是捕获的视频具有超高的延迟和帧速率。当我尝试在树莓派上播放视频而没有流媒体时,效果相同:
raspivid -t 0 -o - | gst-launch-1.0 fdsrc ! h264parse ! omxh264dec ! videorate ! video/x-raw,framerate=15/1 ! videoconvert ! autovideosink
或没有更改帧速率的事件:
raspivid -t 0 -o - | gst-launch-1.0 fdsrc ! h264parse ! omxh264dec ! autovideosink
如何在raspbian上使用gstreamer更改h264编码视频的视频帧率?
Debian 8
gstreamer 1.4
答案 0 :(得分:1)
您可以改为更改摄像机输出的帧速率。通过在raspivid中添加-fps规范来尝试此操作:
raspivid -t 0 -fps 10 -o - | gst-launch-1.0 fdsrc ! h264parse ! rtph264pay config-
interval=1 pt=96 ! udpsink host=<host> port=<port>