在进度条上直接看到场景切换点并一键跳转
这是一款 Windows 视频播放器,可找出视频中场景切换的位置并在进度条上标记。场景切换通过 OpenCV 帧差和 VGG16 特征距离两种方式检测,除场景检测外的播放器功能均由我开发。
- 8 项详细面板中的功能
- 2 件事接入播放器的场景检测方式
- 10%每次 Ctrl+滚轮缩小的时间轴范围
进度条上的黄色标记就是场景切换点。鼠标悬停在标记上即可预览该帧。
- 已分配角色
- 除场景切换检测算法外,播放器功能均由我开发,包括进度条上的分割点标记与预览、时间轴缩放、场景跳转、分割点编辑与保存、用 ffmpeg 保存片段以及媒体信息窗口。
- 成果
- 播放器接收 Python 检测结果,在进度条上标记场景切换点,并可在同一界面完成预览、跳转、修改和片段保存。
- 1分割点标记将检测到的帧显示为进度条上的标记
- 2预览与跳转鼠标悬停在标记上可预览该帧,点击即跳转
- 3时间轴缩放用 Ctrl+滚轮以鼠标位置为中心放大和缩小
- 4编辑与保存添加和删除分割点、保存元信息、用 ffmpeg 保存片段
此技术预期带来的变更
长视频也能按场景浏览
通过上一场景、下一场景按钮和进度条上的标记,可直接找到想看的场景。
放大后挑选密集的分割点
用 Ctrl+滚轮以鼠标位置为中心放大时间轴,靠得很近的分割点也能分辨并选择。
人工修整自动检测结果
可以删除误检的分割点、补上遗漏的分割点并保存,自动检测后的人工修正在同一界面中完成。
问题及解决方案
问题在时间轴放大状态下跳到下一场景时,该点会落到可见范围之外。
已解决。当目标点超出范围时,会把范围扩大到比该点再多 5 秒,使其一并显示。
问题用 OpenCV 保存片段时会丢失声音。
已解决。改用 ffmpeg 截取片段,连声音一起保存。
问题播放器无法得知 Python 检测何时结束。
已解决。结果文件生成后即绘制分割点并启用按钮,检测运行期间则阻止新的检测。
播放器界面
场景分割、场景跳转、分割点编辑和片段保存都在这个面板中完成,同时还显示视频的编码和分辨率等信息。