在编码视频

问题描述 投票:0回答:0

gst-launch filesrc location=test-16.avi ! h264parse ! ffdec_h264 ! people-heatmap db-path=test-16.sqlite ! xvimagesink

当我尝试一个

Blinddebug

(即,将数据保存到数据库中,但没有视频输出)时,我会这样做:

gst-launch filesrc location=test-16.avi ! h264parse ! ffdec_h264 ! people-heatmap db-path=test-16.sqlite ! fakesink sync=true

fakesink中notice。没有它,代码以非常高的帧率运行,我的视力算法会丢失(因为这取决于系统时钟的运行)。

但是,当我尝试将调试标记的视频重新编码为文件时(以供以后分析):
sync=true

我的代码以高帧速率运行(我想这是我的CPU支持的最大值)。

我认为这是我在盲人案例中解决的问题,但是将此选项放在
filesink元素中,我什么也没能。 因此,在将视频编码为文件时,如何强制整个管道实时运行(根据视频帧速率)?

提前感谢,

我不确定我是否正确获得它,但是您可以尝试使用以'
fakesink sync =true

'结束的

Tee

元素来获得相似的效果。

,这将是:
gst-launch filesrc location=test-16.avi ! h264parse ! ffdec_h264 ! people-heatmap db-path=test-16.sqlite ! ffmpegcolorspace ! ffenc_mpeg4 ! ffmux_avi ! filesink location="debug-test-16.avi"

video computer-vision gstreamer video-processing frame-rate
最新问题
© www.soinside.com 2019 - 2025. All rights reserved.