V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
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
secsilm
V2EX  ›  Python

周末休一天写了个小程序合并米家摄像头监控视频

  •  
  •   secsilm ·
    secsilm · 2021-05-10 21:57:10 +08:00 · 4126 次点击
    这是一个创建于 1299 天前的主题,其中的信息可能已经有所发展或是发生改变。

    功能很简单:合并米家摄像头监控视频,生成以天为单位的视频文件。

    米家摄像头的视频的文件结构如下:

    MIJIA_RECORD_VIDEO
        2021021211                   # 年月日时
        	58M11S_1613102291.mp4    # 开始分秒_开始时间戳,每个视频一分钟
    

    代码:

    https://gist.github.com/secsilm/79c7e9ab32b9d966ab04a98c084d66a7

    15 条回复    2022-10-15 13:58:48 +08:00
    Smash
        1
    Smash  
       2021-05-10 22:03:12 +08:00
    视频存在 nas 的?
    lvgsnm
        2
    lvgsnm  
       2021-05-10 22:26:05 +08:00 via iPhone
    你是怎么读取到摄像头的内存卡的
    CallMeReznov
        3
    CallMeReznov  
       2021-05-10 22:33:10 +08:00
    @lvgsnm #2
    merge_dirs(r"D:\Mijia\MIJIA_RECORD_VIDEO")
    hi543
        4
    hi543  
       2021-05-11 01:09:22 +08:00
    @CallMeReznov #3 原文:“@lvgsnm #2
    merge_dirs(r"D:\Mijia\MIJIA_RECORD_VIDEO")”
    ======
    回复:#3 建议用 FFmpeg,我之前在 windows 下用 cmd 命令合并文件,结果播放的时候快进会一卡一卡的。FFmpeg 合并没这个情况。
    secsilm
        5
    secsilm  
    OP
       2021-05-11 07:37:25 +08:00 via Android
    @Smash 不是,目前就内存卡
    FourAndHalf
        6
    FourAndHalf  
       2021-05-11 07:39:54 +08:00
    能网页访问小米摄像头吗?
    magic3584
        7
    magic3584  
       2021-05-11 07:44:32 +08:00
    大佬 360 摄像头可以自己保存吗?为了防丢开了云服务
    lepig
        8
    lepig  
       2021-05-11 08:51:15 +08:00
    收藏一下 。 对事后查看回放起来 比较方便。 没那么多琐碎的文件
    CallMeReznov
        9
    CallMeReznov  
       2021-05-11 08:56:06 +08:00
    @hi543 #4 我是复制楼主的代码
    他本身就是 FFMPEG,重新封装了一下
    secsilm
        10
    secsilm  
    OP
       2021-05-11 09:39:49 +08:00
    @FourAndHalf 应该不能,但是可以在小米电视上看。

    @magic3584 360 不晓得,不过应该所有摄像头都可以插内存卡吧。
    HashV2
        11
    HashV2  
       2021-05-11 13:50:06 +08:00
    好奇问一下 一天的监控视频大概占用多少的存储空间啊?
    secsilm
        12
    secsilm  
    OP
       2021-05-11 13:53:42 +08:00
    @HashV2 我是只录制移动画面,平均一天 1G 左右,1080P,时长大概在 10 小时以内。
    jiangbingo
        13
    jiangbingo  
       2021-05-13 16:31:16 +08:00
    期待远程访问获取视频信息。
    username19027930
        14
    username19027930  
       2022-10-13 11:54:59 +08:00
    D:\>python merge.py Z:\xiaomi_camera_videos\607ea4ea8f1a
    2022-10-13 11:51:20.338 | INFO | __main__:merge_dirs:47 - 20221004, 1071 videos
    Traceback (most recent call last):
    File "D:\merge.py", line 59, in <module>
    merge_dirs(args.indir, args.outdir)
    File "D:\merge.py", line 55, in merge_dirs
    merge_vids("vidslist.txt", Path(outdir).joinpath(f"{date}.mp4"))
    File "D:\merge.py", line 18, in merge_vids
    subprocess.run(cmd)
    File "C:\Users\Administrator\AppData\Local\Programs\Python\Python310\lib\subprocess.py", line 501, in run
    with Popen(*popenargs, **kwargs) as process:
    File "C:\Users\Administrator\AppData\Local\Programs\Python\Python310\lib\subprocess.py", line 969, in __init__
    self._execute_child(args, executable, preexec_fn, close_fds,
    File "C:\Users\Administrator\AppData\Local\Programs\Python\Python310\lib\subprocess.py", line 1438, in _execute_child
    hp, ht, pid, tid = _winapi.CreateProcess(executable, args,
    FileNotFoundError: [WinError 2] 系统找不到指定的文件。

    D:\>
    username19027930
        15
    username19027930  
       2022-10-15 13:58:48 +08:00
    @username19027930 找到问题了 忘记给 ffmpeng 添加环境变量了 加了以后完事
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1140 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 23:31 · PVG 07:31 · LAX 15:31 · JFK 18:31
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.