当前位置:  开发笔记 > 编程语言 > 正文

如何使用gstreamer录制实时视频而不丢帧?

如何解决《如何使用gstreamer录制实时视频而不丢帧?》经验,为你挑选了1个好方法。

我正在尝试使用Python中的gstreamer 0.10同时显示v4l2视频源并将其记录到xvid-in-avi.在很长一段时间内,计算机的速度足够快,但如果另一个程序使用该磁盘则会丢帧.这已经足够糟糕了,但是在播放时,视频中有一些运动突发,其中帧被丢弃而不是显示我们能够以较低帧速率编码的帧.

管道是v4l2src ! capsfilter ! tee ! queue ! xvidenc ! avimux ! filesink,发球台也下沉到queue ! xvimagesink sync=false.我试过videorate在前面添加,xvidenc但这似乎让事情变得更糟.

我已经考虑将未压缩的视频假脱机到此管道中的磁盘并在后台线程中对其进行编码.我还能做些什么来解决这个问题?丢帧是xvidencavimux做错了?我可以大大增加编码器前队列的大小吗?



1> Aaron Digull..:

tee如果输出阻止,将阻止,所以它可能是你的瓶颈.我建议编写需要更长时间才能编码到磁盘并从那里进行编码的流.

推荐阅读
拾味湖
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有