0

我正在使用以下命令从 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 -不会改变输出视频帧率)。所以我决定使用videorategstreamer 元素来改变它:

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

4

1 回答 1

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>
于 2018-11-08T21:30:13.750 回答