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"