【问题标题】:gstreamer + raspivid framerate controlgstreamer + raspivid 帧率控制
【发布时间】: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


    【解决方案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>
    

    【讨论】:

    • 是的,我终于找到了。我之前使用的 raspivid 版本似乎有错误,并且 -fps 参数没有进行任何更改。更新 raspbian 解决了这个问题。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-10-10
    • 1970-01-01
    • 1970-01-01
    • 2021-06-18
    • 2011-09-23
    相关资源
    最近更新 更多