我正在使用以下命令从 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
现在我想降低流视频帧率。我发现 command 的-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