video - 如何以编程方式记录视频更改的时间?
问题描述
例如,想象一个视频,视频右上角有一个蓝色方块和一个红色方块。每个方格内都有一个字母。我只对蓝色方块的字母变化的时间感兴趣,一个警告是方块会根据可能存在的其他方块移动一点(从左到右)。
我提出的一些想法是:
- 使用 ffmpeg 裁剪视频以仅显示正方形行(我的想法是,视频处理起来要小得多,因此速度要快得多)
- 使用https://pyscenedetect.readthedocs.io/en/latest/examples/usage/#detection-methods之类的东西处理这些裁剪的图像,以进行基于阈值的检测并记录更改的时间代码
有没有人对如何解决这个问题有任何想法?我精通 JavaScript 和中级 Python 开发人员,但也很高兴听到任何其他可能提供正确功能的语言。我更喜欢开源,但也愿意听到付费解决方案。
解决方案
如果您可以为某些处理软件(例如 VirtualDub 等)编译示例(存根)插件,您可能可以获得 RGB 帧。它们可以用纯 C 或 C++ 快速处理。
蓝色方块的当前内容可以描述为
struct {
char Area[MaxY][MaxX][3]; //This is the actual square contents
int CurWidth; //Current width of the square (may vary if it reflects the character width)
} MyArea;
当前位置int CurX;
据我了解可以简单描述为,MyArea 的显着变化应该触发检测器,而 CurX 的变化不应该。
如果您可以为此构建一个小型插件,我将在Pastebin 之类的地方放置一个代码示例。
UPD:把它写成一个大脑练习。这里的示例,还将 CurHeight 添加到结构中。
推荐阅读
- amazon-web-services - CloudFormation :在运行 lambda 的 VPC 中创建 VPC 端点
- sql - 如何修复“子查询返回多个值”?
- python - 如何按名称为特定的行和列赋值?
- react-native - React Native 倒数计时器不断重置
- python - 如何从非 root 记录器记录 INFO 消息?
- python - 如何正确地将两个 python 列表转换为字典?
- primeng - PrimeNG 表空行
- c# - 一条线的对齐,如果这只是最小的倾斜
- angular - 如何在 Angular 中使用“when”关键字
- java - Spring RabbitListener 在发送消息后调用方法