Type | Status |
---|---|
package version | |
python version | |
auto test | |
code maintainability | |
code coverage | |
code style | |
stat |
2022/08/13:在 0.18.0 之后,ffmpeg 以 imageio_ffmpeg 方式内置(请自行评估其LICENSE影响)。此版本为解决opencv版本及M1芯片的限制,并不再需要额外安装ffmpeg。详见 #178。
2022/03/30:官方不维护任何诸如微信群、QQ群的多人群组,所有信息请通过issue公开交流。不需要任何捐赠支持,如遇到涉及金钱相关的信息请不要相信。
2021/12/15:在 0.16.0 之后,stagesepx 将开始提供部分功能测试的支持,详见 #158
2020/05/21:目前,该项目已经达到一个较为稳定的状态,并顺利在多家头部公司、团队落地,作为正式工具存在。Bug跟踪与建议请优先通过 issue 联系我,感谢所有支持过这个项目的人。欢迎有心优化的同学、落地成功的团队共同建设:)
这段视频展示了一个应用的完整启动过程:
将视频传递给 stagesepx,它将自动分析拆解,得到视频中所有的阶段。包括变化的过程及其耗时,以及在稳定的阶段停留的时长:
你可以据此得到每个阶段对应的精确耗时。
当然,它是天然跨端的,例如web端。甚至,任何端:
与视频一致的高准确度。以秒表为例:
可以看到,与秒表的表现几乎没有差异。请注意,这里的准确度指的是 stagesepx 能够精确还原视频本身的数据与表现。而对于现象(例如某某时间点出现什么状态)而言,准确度很大程度上取决于视频本身,如fps/分辨率等。
如果比起报告,更希望亲自处理原始数据,进而进行二次开发,你可以直接将 report 部分去除。如此做,你将得到一个 python 对象供你随意使用。它提供了大量的API,例如转换成字典:
{
"data": [{
"data": null,
"frame_id": 1,
"stage": "0",
"timestamp": 0.0,
"video_path": "../demo.mp4"
}, {
"data": null,
"frame_id": 2,
"stage": "0",
"timestamp": 0.04,
"video_path": "../demo.mp4"
}, {
"data": null,
"frame_id": 3,
"stage": "0",
"timestamp": 0.08,
"video_path": "../demo.mp4"
}, {
...
从这个字典中我们可以知道,每一帧分别对应的:
用户可以随意处理这些数据,无论是保存或是交给下一段代码。
具体可参见 将 stagesepx 应用到实际业务中。
在正式落地时,推荐使用 完整的python脚本 而不是命令行,以保证更高的可编程性。完整的落地例子另外单独开了一个 repo 存放,传送门。 请一定配合 这篇文章 使用,基本能解决90%的问题。
你也可以直接通过命令行使用,而无需编写脚本:
stagesepx analyse your_video.mp4 report.html
基于此,你可以非常方便地利用 shell 建立工作流。以 android 为例:
adb shell screenrecord --time-limit 10 /sdcard/demo.mp4
adb pull /sdcard/demo.mp4 .
stagesepx analyse demo.mp4 report.html
关于结果不准确的问题请参考 #46。
当然,通常因为场景差异,我们需要对参数进行修改使其达到更好的效果。这使得用户需要投入一些精力在脚本编写上。在 0.15.0 之后,配置化运行的加入使用户能够在不需要编写脚本的情况下直接使用所有能力,大大降低了接入门槛。
{
"output": ".",
"video": {
"path": "./PATH_TO_YOUR/VIDEO.mp4",
"fps": 30
}
}
命令行运行:
stagesepx run YOUR_CONFIG.json
即可达到与脚本相同的效果。其他的配置项可以参考:work_with_stagesepx
标准版(pypi)
pip install stagesepx
预览版(github):
pip install --upgrade git+https://github.com/williamfzc/stagesepx.git
最终我还是决定通过 issue 面板维护所有的 Q&A ,毕竟问题的提出与回复是一个强交互过程。如果在查看下列链接之后你的问题依旧没有得到解答:
问题列表:
不仅是问题,如果有任何建议与交流想法,同样可以通过 issue 面板找到我。我们每天都会查看 issue 面板,无需担心跟进不足。
在 1.0版本 之前,我们接下来的工作主要分为下面几个部分:
随着越来越多的业务落地,我们开始思考它是否能够作为行业级别的方案。
该部分由 issue 面板管理。
欢迎感兴趣的同学为这个项目添砖加瓦,三个必备步骤:
[email protected]
178894043
see CHANGELOG.md
Thank you JetBrains for supporting the project with free product licenses.