还在手动分割聊天记录来准备证据?是时候自动化了 | 基于PaddleOCR的自动化证据截图并排版生成PDF

准备证据时,经常会遇到需要截取一些聊天记录或者长图

通常有两种办法

通过视频录像,然后手动截取或者通过potplayer按秒截取,然后选择需要的部分

因为滑动速度不同,只能一张张挑

或者进行长截图,然后再手动分割成短图

但每次截图可能长短不一,还要截图-粘贴-截图-粘贴很多次

最后把这些图片整合,手动放到word或者pdf里面排版,如果图片长了,还要手动缩短

非常繁杂

为什么不自动化呢

*本文仅为笔者个人观点,不视为任何法律建议或法律意见。

一、效果演示

视频处理

只需要上传视频并设定简单的参数,点击开始按钮后,程序就会自动对视频进行截图,并通过AI模型基座的OCR功能,自动判断并保留具有一定重叠部分的截图,并按需求进行排版、生成PDF

通过【选择文件】选择本地的视频录像后,点击【上传视频】完成准备工作

在参数设置中,帧提取间隔指每N秒截取一张图进行处理,截图越少,处理越快,但有丢失内容的可能性

排除白名单指OCR过程中,无视哪些内容,有助于避免错认“重叠区”(即证据所需的内容重叠部分)

点击【加载参考帧】后,可以在参考帧中划定具体要进行OCR判断的区域,减少例如用户名、按钮、时间等内容所造成的重叠区误判问题

如果不设置参考帧,则OCR将处理全页的文本,重叠区也会以全页文本进行判断。如为聊天记录,建议均设置参考帧,能避免很多误判

例如微信聊天框,建议按上图框选中间区域(用户名栏和输入框之间,且不包含用户头像),可极大提高判断准确率

通过PDF输出设置,可以设定输出PDF时如何排列截图

完成全部设置并点击【处理视频并生成PDF后】,右侧状态栏会显示具体的处理进度和日志

全部生成完毕后,就可以预览提取结果(双击图像放大),可以看到截图已经按【部分重叠】的方式进行截取。如对效果不满,可以调节参数重试

添加图片注释,不超过 140 字(可选)

预览无误后,点击下载PDF,即可生成最终排版好的文件,如下

添加图片注释,不超过 140 字(可选)

长截图处理

长截图则是选择一张超长(其实也限制长度),设置每张图的高度的分辨率和重叠区的分辨率,点击【裁剪并生成PDF】后,即可生成具有同等高度,且每张图都有重叠部分的多个截图,并直接保存成排版好的PDF

同样可以设置导出的PDF行列参数,最终生成结果如下

二、安装教程

考虑到每次发布新工具,总有读者朋友茫然不知如何搭建Python环境,因此这次我直接打包成了docker文件,只需要简单拉取即可

当然,首先需要根据系统安装docker

如果想部署在NAS/网站上,基本都已经内置了Docker功能

安装成功并开始运行docker后,就可在终端输入以下命令拉取镜像:

docker pull ghcr.io/byronleeeee/chat_evidence_tool_web:latest

(可选)在你的工作目录下创建两个文件夹(本地数据目录),用于持久化保存处理的中间文件:

mkdir temp_sessions_host

拉取完毕后,可直接运行容器:

docker run -d -p 18765:18765 \

参数说明: -d: 后台运行 -p 18765:18765: 将主机的 18765 端口映射到容器的 18765 端口 -v ./temp_sessions_host:/app/temp_sessions: 挂载临时文件目录 -v ./output_host:/app/output: 挂载 PDF 输出目录 –name chat-evidence-tool: 为容器命名

如果是Windows设备,只需要在Docker Desktop运行镜像即可

运行成功后,只需要打开浏览器,访问 http://127.0.0.1:18765(或 http://本机ip:18765)即可使用

同时,同一网络下的其他设备(无论手机/电脑),都可以通过http://主机ip:18765访问该程序

可以做到,手机马上录屏/长截图,马上生成PDF

三、常见问题

1. 视频处理功能极度依赖OCR结果,如果视频滑动过快,录像帧率不足,导致视频模糊,无法OCR出内容时,截图功能可能会失效。因此录像时请保持稳定的速度进行滑动

2. 视频、处理的中间产物(如截图)都会保存在本地设备中,这是一个纯本地应用(甚至Docker镜像中已经帮各位打包好ffmpeg、PaddleOCR模型),因此不存在把内容上传给第三方的泄密风险

3. 无论ffmpeg还是PaddleOCR都较为轻量,因此适合绝大部分设备安装和使用。为了最大化适配各类设备,镜像中用的是CPU版本的PaddleOCR,有GPU版需求的朋友可以自行替换

4. 复核!复核!复核!视频的OCR结果和滑动情况、截图那一帧的清晰度等有很大关联性,有一定几率会出现识别错误导致无法完整截图的情况,因此在生成PDF前请先进行复核,避免缺漏问题

四、技术说明

截图实现:FFMPEG

这是一个开源的视频处理软件

很多同行会使用PotPlayer进行按秒截图然后人工挑选并组合成PDF,实际PotPlayer的核心组件就是FFMPEG

OCR实现:PaddleOCR

PaddleOCR是由百度开源的OCR套件,基于轻量级的AI模型进行OCR,在笔者体验中,中文OCR能力较为出众

五、需要帮助?

如在部署或使用上有疑问或建议,欢迎关注并联系我

滚动至顶部