【发布时间】:2018-11-09 05:54:14
【问题描述】:
我正在使用以下命令从 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
现在我想降低流式视频帧率。我发现raspivid 命令的-fps 参数不能像我预期的那样工作(运行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>
但是捕获的视频具有超高的延迟和帧率。当我尝试在没有流式传输的情况下在 raspberry 上播放视频时效果相同:
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
【问题讨论】:
标签: raspberry-pi gstreamer raspbian gstreamer-1.0