小米摄像头视频文件批量合并处理脚本

小米摄像头的视频记录文件是每分钟保存成一个文件的,后期存档和查看很不方便,对此,我编写了几个小脚本方便自动化的处理其原始视频文件。

思路如下:

  1. 导出监控
  2. 遍历审查所有视频/截图内容,删除不必要的文件
  3. 创建待处理清单
  4. 利用ffmpeg压缩所有文件

具体脚本如下:

1. 导出监控,有两种方式:
方式1:通过小米监控摄像头的NAS同步设置
方式2:手工同步:需要每次在APP中设置 推出储存卡,然后手工取下存储卡,并通过 读卡器,将视频和截图文件保存到电脑上

方式1更方便,但是没有图片截图,后面审查工作会比较费时间,可以通过批处理来生成缩略图:

for /f "delims=" %%i in ('dir *.mp4 /b /s') do (ffmpeg -v quiet -y -i %%i -ss 1 -f image2 %%i.jpeg)

2. 遍历审查所有视频/截图内容,审查完后删除当前文件夹下及所有子目录下的jpeg图片来删除缩略图,命令如下:

del /f /s /q *.jpeg

3. 创建待处理清单:

dir /s /b > files.lst

4. 增加文件头尾辅助字符,以符合ffmpeg的待处理文件清单格式:

@echo off
cd /d "%~dp0"
set "fd=temp"
md "%fd%" 2>nul
@echo off
cd /d "%~dp0"
set "fd=temp"
md "%fd%" 2>nul
for /f "delims=" %%a in ('dir /a-d/b *.lst') do (
    echo;"%%a"
    (for /f "tokens=1*delims=:" %%b in ('findstr /n .* "%%a"') do (
        set "f=%%c"
        if defined f (echo;file '%%c') else (echo;)
    ))>"%fd%\%%a"
    del "%%a"
    move /y "%fd%\%%a" "%%a"
)
echo;%w% +%#%%#% %zx%
rd temp

5. 压缩所有文件

for %%i in (*.lst) do (ffmpeg -hide_banner -f concat -safe 0 -i %%i -c:v libx265 -b:v 384k -c:a aac -s 1280x720 -vf scale=1280:720 -vf fps=20 %%i.mp4)

6. 删除清单lst文件

del /f /s /q *.lst

批处理打包下载:

《关于平台经济领域反垄断指南》利好的项目

国务院出台了《关于平台经济领域反垄断指南》的征求意见稿,几大互联网平台的股价应声下跌。我感觉这里边会有如下的机会:

  1. 平台经济比价工具:针对大数据杀熟的几大平台价格对比,价格波动记录,低价提醒,针对非标品的SKU智能关联映射、价格预估等:
  2. 价格试算工具:类似打车类这种可以根据公式算出各平台定价的工具;
  3. (其他暂不公开)

FFmpeg 快速上手指南

FFmpeg是一个十分方便的多媒体文件全家桶,我在治理摄像头视频存档的时候,发现很多视频编辑软件的底层都是FFmpeg实现的,所以就直接拿FFmpeg来作为视频编辑工具。发现网上很多教程要不就是只言片语,要不就是整段的官方文档,很难有半个小时之内就能看懂上手掌握其基本用法的文章,故有此文。

继续阅读“FFmpeg 快速上手指南”

独立应用开发指导流程

开发应用程序其实可以和培养一朵小花一样浪漫,你需要找到适合的种子,精心的培育,等待花开。本篇会介绍独立应用程序开发的完整流程,从灵感汇集到设计考量,从落实代码到应用上架等,来和我一起培养属于你的「花」吧。

寻找灵感

灵感来源于生活。许多视频博主都会做这样一个挑战,将地图贴在远处的墙上,蒙着眼睛扎飞镖。博主和观众约定扎到哪里就去哪里。本篇文章中,我们将以此为例,构思一个随机地名生成器的应用。二可以借此讲解独立应用开发的完整流程,帮大家梳理出一份学习指南。

明确大概想要做什么之后,接下来需要做的便是将抽象的地标生成器概念具体化。我们会将其转化为可执行的应用方案,并确认目标人群。开篇提到,本应用的灵感来源于飞镖扎中地图上的地名,那么在手机上创建一个飞镖扎地图小游戏合适吗?

好像也不合适,当我们把地图显示出来,并给予用户一个飞镖时,用户还是可以根据地图位置判断可能被扎中的区域。进一步思考将其变成可行应用的方法,可以考虑回到问题的本源来。我们想要的无非是给用户一个具体的、可前往的城市名称。

落到实处,我们可以创造一个能展示随机城市名的界面。提供一个随机按钮,用户按下后,程序直接显示出城市名好像有些枯燥。那么用带点赌博性质的游戏开箱子的机制如何?似乎更有娱乐性一些。我们可以将正面有随机城市名的卡牌背面朝上,当用户翻牌时,卡牌不会立马反面,而是会播放一个小动画拉高用户期待。

继续阅读“独立应用开发指导流程”

技术进步了,但为什么人类却没有闲下来?

很多人相信,随着科学技术的进步,机器会工作了,所以将来的人会有很多空闲时间。

这种观点是错误的。 即使有高度智能的机器,将来的工人也不会闲,反而可能会更忙。

凯恩斯预测,生产率的提高会使发达国家的居民每周工作15小时,而维持正常的生活水平。

他的预测完全错了。 今天,没有一个国家实现了每周15小时的工作。 相反,出现了996。

为什么?

想象一下,一个工厂过去一天能生产100个产品,随着技术的进步,现在一天能生产200个了。 只要能完全销售,工人的劳动时间就不会减少。

市场不变,只能销售100台的话,工厂生产能力的50%就会成为空闲。 此时,老板们有2种选择​:

1、工人只工作半天,工资不变。

2、留下一半工人,解雇剩下的。

所有人都选择第二个选项,因为会增加利润。因此,技术进步带来的好处不会成为劳动者的空闲时间,对一些劳动者来说更忙,对其他人来说更失业。 真正的胜利者是资本家,增加的利益都属于他们。

这就是当今世界正在发生的事情。 有些工人被解雇。 因为信息产业最为显着,技术进步对这个产业影响最大。

资本主义追求利润最大化。 如果销售不能同时扩张,技术的进步必然导致裁员。 如果失业的人不能马上找到工作,他们就会越来越穷。 而还在工作的人则会越来越忙,因为他们要生产原来2倍工人要生产的产品。​

我对中国科技行业的看法(译文)

danwwang 是彭博社的一个技术分析师,写了一篇2019年回顾,详细谈了他对中国科技行业、中美贸易战的看法。

我觉得,他的那篇文章有很多启发,总体比较客观,中国的劣势和优势都谈到了。下面就是主要部分的翻译,插图是我配的。

我对中国科技行业的看法

作者:@danwwang

原文网址:https://danwang.co/2019-letter/

1、

2019年,我从香港搬到了北京。

北京不适宜步行,天气也不好,但它是一个令人着迷的地方。

世界上有几个地方感觉像是世界的中心,北京就是其中之一。(其他的地方还有旧金山,东京和华盛顿特区。)我的朋友说:北京是一个散发出阴郁力量感的城市,孟买和那不勒斯也给人这种感觉。

2、

北京到处都是令人生畏的建筑物,每栋大楼的入口都散发着一种神秘感。

外国人应该记住,北京是一个纯粹依靠政治意愿维持的城市。请问世界上还有哪个主要城市远离重要的河流或水域?

古代的中国皇帝,选择北京将北方的平原与南方的稻田连接起来。这座城市已经连续800年成为中国的首都。

3、

对于那些想要过上快乐生活的人,北京可能不适合他们。亚洲有许多适合生活的地方:香港是一个热带小岛,新加坡基本类似,台北很宜居,东京也不错。

北京吸引的是中国最聪明的人,然后吸引着世界上许多有趣的人。现在旧金山和纽约的人们,对话内容非常局限,谈来谈去就是十几个话题,而北京是众多重要故事的中心。

4、

中国的一个问题是,向世界输出的成功的文化产品太少了。

刘慈欣的《三体》三部曲算一个成功的文化输出。2019年,我可以再添加一个例子:抖音(TikTok)。两者都是好东西。

令人失望的是,过去的十年中,中国没有创造出更多刺激世界其他地区的文化产品。毕竟在这期间,中国的人均 GDP 翻了一番。下一个十年是否会有所不同,我们能在中国看到一系列激动人心的全球性文化创作?北京最好可以回答这个问题。

继续阅读“我对中国科技行业的看法(译文)”

区块链小白书

按:这本书比较适合小白科普,作者李笑来。李笑来是成功上岸的投机者,目前活跃在区块链、比特币圈。


区块链小白书

李笑来(著)© 2019

警告

区块链作为金融互联网新技术,不可避免地会涉及到投资和投机 —— 而对绝大多数普通人来说:

投资有风险,决策需谨慎!

前言

新华社北京10月25日电,中共中央政治局10月24日下午就区块链技术发展现状和趋势进行第十八次集体学习。

中共中央总书记习近平在主持学习时强调,区块链技术的集成应用在新的技术革新和产业变革中起着重要作用。我们要把区块链作为核心技术自主创新的重要突破口,明确主攻方向,加大投入力度,着力攻克一批关键核心技术,加快推动区块链技术和产业创新发展。

习近平在主持学习时发表了讲话。他指出,区块链技术应用已延伸到数字金融、物联网、智能制造、供应链管理、数字资产交易等多个领域。目前,全球主要国家都在加快布局区块链技术发展。我国在区块链领域拥有良好基础,要加快推动区块链技术和产业创新发展,积极推进区块链和经济社会融合发展。

习近平强调,要强化基础研究,提升原始创新能力,努力让我国在区块链这个新兴领域走在理论最前沿、占据创新制高点、取得产业新优势。要推动协同攻关,加快推进核心技术突破,为区块链应用发展提供安全可控的技术支撑。要加强区块链标准化研究,提升国际话语权和规则制定权。要加快产业发展,发挥好市场优势,进一步打通创新链、应用链、价值链。要构建区块链产业生态,加快区块链和人工智能、大数据、物联网等前沿信息技术的深度融合,推动集成创新和融合应用。要加强人才队伍建设,建立完善人才培养体系,打造多种形式的高层次人才培养平台,培育一批领军人物和高水平创新团队。

……

到了 2019 年,是李笑来在区块链世界里生存的第 9 个年头。这些年来,人们对区块链的误解甚至诋毁现在终于可以烟消云散了 —— 因为区块链技术终于在中国获得了认可与支持。

然而,需要注意的是,区块链技术作为金融互联网新技术,不可避免地与投机(或投资)联系在一起,导致的结果是市场上骗局丛生,行业里鱼龙混杂,所以有必要让民众对区块链有正确且清楚的了解。这就是《区块链小白书》的意义 —— 它就是写给小白的,目的不仅是为了让小白少走弯路,更是为了让小白不要误入歧途。

李笑来,二〇一九年十月,于北京

准备工作

1. 不要滥用类比

你将要尝试着学习并理解的,是一个前所未有的重大创新,其中有很多你一下子难以理解透彻的概念,很少有人能一下子全都弄明白……

在这样的时候,人们会不由自主地抄近路走捷径 —— 滥用类比:

“哦! 我明白了,这就好像是……”

比如,你经常会看到人们挣扎着理解了半天,突然冒出一句:“哦,我懂了,比特币就是电子黄金!” 类比是约等号(≈),而“这就是”是等号(=),约等号和等号之间的差别有时甚至超过十万八千里。 比特币与电子黄金之间的关系甚至干脆就谈不上是约等于…… 全然不是一个东西。

在理解全新事物的时候,滥用类比的危害非常大,因为你压根就找不到什么过往已经存在的东西真的和这个创新竟然一模一样 —— 否则,它也不可能被称为创新了,是不是?

这种不恰当的类比被滥用多次之后,就再也没办法形成正确的理解了 —— 因为理解一个创新需要理解多个前所未有的概念,每个都做了不恰当的类比之后,多次非常不恰当的约等于拼接起来之后,无论如何都没办法达到一个与正确理解相近的效果。

请务必注意,每次你的脑子里不由自主地冒出 “这就好像……” 这个念头的时候,你都要把它强压回去。

继续阅读“区块链小白书”

你所不知道的 AI 进展

人工智能现在是常见词汇,大多数人可能觉得,它是学术话题,跟普通人关系不大。

但是实际上,AI 突飞猛进,正在脱离实验室,进入日常生活。仅仅是现在的技术水平,就足以模糊现实与虚拟的界限,颠覆一般民众的认知。

(图1:2018年10月,世界第一幅 AI 生成的肖像画,拍卖成交价43.25万美元。)

为了让普通人了解 AI 的进展,谷歌的机器学习专家格里高利·萨普诺夫(Grigory Sapunov)写了一篇通俗的科普文章,介绍目前的技术成果。这盘文章非常精彩,有大量的图片,加上一些简单的解释,信息量很大,对于了解技术动态很有帮助。

(图2:谷歌的机器学习专家格里高利·萨普诺夫)

下面就是那篇文章的翻译,比较长,图片很多,但是值得耐心读完。我保证,有些内容一定会让你感到吃惊。

一、图像处理

人工智能最早是从图像处理开始的。图像处理是一种常见任务,智能要求比较高,需要使用 PhotoShop 之类的软件人工编辑,一般的算法解决不了。

1.1 对象补全

2017年,日本科学家提出了一种图像的对象补全模型。经过训练,模型可以补全图片上缺失的部分。

(图3:图像的对象补全模型)

上图中,左边是原始图片,然后把中间的花盆涂掉,输入模型。模型会自动补全缺失的部分(右图),由于它不知道,那里有一个花盆,所以只会根据没有涂掉的部分,补上地板和扶手。

继续阅读“你所不知道的 AI 进展”

攻防演练业务人员自查清单 Checklist

自从互联网变成基础设施,而这个基础设施和国际的边界在平时生活中几乎无感,所以对于基础设施的安全也越发的重要。国家对这方面也越来越重视,每年特定时间都会开展HWXD。这对业务人员的安全意识和安全操作规范的要求也越来越高。作为业务人员,如何更高效的配合HW?本文给出懒人自查清单。

邮件链接安全:

  1. 这个链接我可否在手机或微信等其他更安全的环境中再点击?
  2. 这个链接我可以通过“先右键复制链接然后在浏览器地址栏中粘贴”的方式,二次确认该链接的合法性吗?
  3. 这个链接我非点击不可吗?

办公安全:

  1. 我是否使用了WiFi大师或360 WiFi之类的WiFi共享类软件?
  2. 我在进出公司门口闸机时是否确保只有本人通过了?
  3. 我是否运行了未被授权的软件?可否用其他已被授权的软件代替?
  4. 如果临时或由于其他原因不得不使用未被授权的软件或互联网上下载的软件,我是否将其置入沙箱环境之后再打开了?

使用习惯:

  1. 在网盘类、邮箱中、聊天工具中临时分享或同步的文件,用后是否马上删除了?
  2. 陌生的U盘是否隔绝了办公电脑?是否只在沙箱中打开了?
  3. 在像外部或公司其他部门提供的材料中,是否有敏感信息?可否脱敏之后在发送?
  4. 遇到不好拿捏的情况,我是否请示了我的直属领导后再对外发送?

网盘类:

  1. 我的网盘账号是:
  2. 我的网盘中有无敏感文件,是否可以删除或通过其他方式保存?
  3. 我的网盘软件安装在哪些电脑中有使用,是否关闭了自动登录和保存密码等功能
  4. 如果遗忘相关账号,可以通过手机号等方式找回密码,并处理相关文件

代码托管平台:(Github/Gitee等)

  1. 我的源码分享平台账号是:(公司搜集,可以定期扫描提示安全风险,方便主动告警和自查)
  2. 我的源码分享平台项目有哪些:(公司搜集,可以定期扫描提示安全风险,方便主动告警和自查)
  3. 哪些源码分享平台上的项目是已废弃可以关闭或删除的?(如连续1个月star新增数少于100或无fork无push)
  4. 我在源码分享平台上提交issue或wiki里有无发布敏感信息?(发布信息切勿带个性化信息,包括能标示或反推出的个人信息、照片要手动打码【软件打码有时可以逆向还原,建议通过涂鸦等方式覆盖】)

社交平台类:

  1. 我的公众号/百家号/头条号/知乎/脉脉/微博/个人博客/行家/Linkedin等的账号是:
  2. 我有无在这些平台发布敏感信息?
  3. 我有无在这些平台发布和公司相关的信息?
  4. 可否将相关信息进行脱敏化处理或删除,而不仅仅是设置是否可见?
  5. 我在Google或其他搜索引擎上搜索自己的名字、ID、英文名、代号等个性化标签 + 公司名或公司代号等相关信息时,可否将搜索结果逐个排查,确保没有敏感信息?

小米盒子4C优化

之前买了一个小米盒子4C,想着正好用废旧硬盘一起合体,给小孩子放早教视频。后来每次使用速度越来越慢,系统更新后那速度更是惨不忍睹,默认的桌面每次都要拉网络资源、渲染加载,从开机到系统对遥控器有反应起码要三分钟以上,所以想优化一波。

最初的方案是想先root然后刷精简系统,后来发现并没有立等可取的root方案,只好自己手动操作,记录如下:

  1. 开启开发者模式:开启ADB、允许USB调试、允许安装未签名apk,允许远程安装apk;
  2. 安装第三方桌面、播放器、文件浏览器,我安装的是当贝的桌面、播放器(播放器自带文件浏览器),当然,也可以用adb远程连接盒子后远程安装,具体见步骤5;
  3. 电脑连接盒子:第一次连接时需要在盒子界面上授权,另外第一次远程安装apk时也需要盒子界面上授权;
    adb connect 盒子IP
    默认端口号5555
  4. 看看都有哪些程序包:
    adb shell pm list package
  5. 安装oplayer:
    adb install -r /path/to/apk/com.olimsoft.android.oplayer.apk
    注意在adb上载完成后,需要在盒子界面授权,点击确认安装
  6. 删除没用的,注意,因为没有root权限所有有些系统包是相当于“禁用”了,并没有物理删除,但是只要能达到优化的目的对我来说就可以了
    adb shell pm uninstall --user 0 包名(详细清单见后)
  7. 重启试试

我本有个担心是删除了MIUI TV的桌面,会进不去桌面,没想到再删除MIUI TV桌面后,当贝桌面会自动接管,省了不少事情。

删除的包:
adb shell pm uninstall --user 0 com.android.dreams.basic
adb shell pm uninstall --user 0 com.android.providers.calendar
adb shell pm uninstall --user 0 com.android.printspooler
adb shell pm uninstall --user 0 com.droidlogic
adb shell pm uninstall --user 0 com.miui.tv.analytics
adb shell pm uninstall --user 0 com.miui.systemAdSolution
adb shell pm uninstall --user 0 com.mitv.tvhome
adb shell pm uninstall --user 0 com.mitv.screensaver
adb shell pm uninstall --user 0 com.mitv.shoplugin
adb shell pm uninstall --user 0 com.moretv.android
adb shell pm uninstall --user 0 com.xiaomi.devicereport
adb shell pm uninstall --user 0 com.xiaomi.gamecenter.sdk.service.mibox
adb shell pm uninstall --user 0 com.xiaomi.mibox.lockscreen
adb shell pm uninstall --user 0 com.xiaomi.miplay
adb shell pm uninstall --user 0 com.xiaomi.mitv.advertise
adb shell pm uninstall --user 0 com.xiaomi.mitv.tvpush.tvpushservice
adb shell pm uninstall --user 0 com.xiaomi.mitv.calendar
adb shell pm uninstall --user 0 com.xiaomi.screenrecorder
adb shell pm uninstall --user 0 com.xiaomi.statistic
adb shell pm uninstall --user 0 com.xiaomi.voicecontrol
adb shell pm uninstall --user 0 mitv.service
adb shell pm uninstall --user 0 com.xiaomi.mitv.tvmanager
adb shell pm uninstall --user 0 com.mitv.tvhome
adb shell pm uninstall --user 0 com.xiaomi.mitv.settings
adb shell pm uninstall --user 0 com.duokan.airkan.tvbox
adb shell pm uninstall --user 0 com.xiaomi.tweather
adb shell pm uninstall --user 0 com.xiaomi.mimusic2
adb shell pm uninstall --user 0 com.mitv.care
adb shell pm uninstall --user 0 com.xiaomi.account
adb shell pm uninstall --user 0 com.xm.webcontent
adb shell pm uninstall --user 0 com.xiaomi.mitv.providers.settings
adb shell pm uninstall --user 0 com.xiaomi.mitv.pay
adb shell pm uninstall --user 0 com.gitvdemo.video
adb shell pm uninstall --user 0 com.mitv.gallery
adb shell pm uninstall --user 0 com.xiaomi.account.auth

保留的包:
com.xiaodianshi.tv.yst
com.android.providers.media
com.sohu.inputmethod.sogou.tv
com.android.externalstorage
com.android.htmlviewer
com.dianshijia.newlive
com.android.providers.downloads
com.dangbei.tvlauncher
com.mitv.codec.update
com.btkanba.tv
com.ktcp.video
com.android.defcontainer
com.dangbei.lerad.videoposter
com.android.pacprocessor
com.miui.daemon
com.android.certinstaller
android
com.android.backupconfirm
com.android.provision
com.android.statementservice
com.xiaomi.mitv.mediaexplorer
com.xiaomi.mitv.systemui
com.android.providers.settings
com.android.sharedstoragebackup
com.mitv.videoplayer
com.android.inputdevices
hdpfans.com
com.xiaomi.mitv.smartshare
com.xiaomi.tv.nameservice
com.google.android.webview
com.android.keychain
com.xiaomi.upnp
com.android.packageinstaller
com.svox.pico
com.android.proxyhandler
com.mitv.mivideoplayer
com.android.settings
com.dbappstore.lite
com.android.vpndialogs
com.android.shell
com.android.providers.userdictionary
com.duoduo.child.story4tv
com.xiaomi.mitv.remotecontroller.service
com.android.location.fused
com.android.systemui
com.tv.kuaisou
com.android.providers.contacts
com.android.captiveportallogin
com.miui.core

因为只是想优化启动和加载速度,就没有纠结每一个包具体干什么用,可能删的不是太干净,还好,够用即可,此记。