推荐学习书目
› Learn Python the Hard Way
Python Sites
› PyPI - Python Package Index
› http://diveintopython.org/toc/index.html
› Pocoo
值得关注的项目
› PyPy
› Celery
› Jinja2
› Read the Docs
› gevent
› pyenv
› virtualenv
› Stackless Python
› Beautiful Soup
› 结巴中文分词
› Green Unicorn
› Sentry
› Shovel
› Pyflakes
› pytest
Python 编程
› pep8 Checker
Styles
› PEP 8
› Google Python Style Guide
› Code Style from The Hitchhiker's Guide
uil330
V2EX  ›  Python

Python 环境下想将 opencv 处理过的影像储存起来,但是录制后的视频时间长度总是比现实时间长度少了一点,怎么解?

  •  
  •   uil330 · Mar 31, 2020 · 3092 views
    This topic created in 2369 days ago, the information mentioned may be changed or developed.
    python3+opencv4,录像的时候设为 15fps

    录制和图像处理部分不同线程,cpu150%但是 4core 所以应该还有余力

    实际上录制的 fps 算下来大概有 14.9

    然后 5 分钟的视频,录下来视频长度可能是 4:55 左右
    4 replies  •  2020-05-09 19:36:06 +08:00
    SuckMyD1ck
        1
    SuckMyD1ck  
       Apr 1, 2020
    因为没看你实际的代码实现,我说一下录像里两个暗坑,一个暗坑是线程退出时缓冲区没写完。另一个是看你保存的视频格式,有些视频文件格式要求你结束的时候补充文件头信息,因此不能直接退出,要优雅退出。
    Latin
        2
    Latin  
       Apr 1, 2020
    帧是有损失的
    triangle111
        3
    triangle111  
       Apr 1, 2020
    opencv 好像会丢帧,可以试试 imutils 的 WebcamVideoStream
    uil330
        4
    uil330  
    OP
       May 9, 2020
    谢谢上面的回复

    我这边发现问题所在了

    主要是嵌入式设备性能不够,其他处理负荷高的时候,会导致处理不过来。另外 opencv 的编码能力也不太行。

    所以最后降低其他的程序的负荷,并且使用 gstreamer 来储存后问题解决
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   1009 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 23:20 · PVG 07:20 · LAX 16:20 · JFK 19:20
    ♥ Do have faith in what you're doing.