本鱼拟成立工作室承接项目开发/软件定制/云设施开发运维/办公设备技术支持等,如您有相关需求,欢迎来询 | ::博客文章推荐::

开源个小工具:监控视频自动合并

: 原创作品 木魚 2592℃ 1评论

监控视频自动合并工具

这是一个基于 .net core / C# 的监控视频自动合并工具,基于 ffmpeg 进行视频无损合并。

原始创意是技术交流群里一个大佬的个人需求,因为现在的监控(如小米监控摄像头)支持把视频全都自动上传到NAS中,但是上传的视频都是分段的,数量众多且难以维护,因此他在寻求这样一个工具,可以自动将所有的分段视频按照月份进行合并成一个视频。

在尝试了用批处理、Shell脚本以及AI写程序之后,他折腾了不少时间还是没成功完成这样的需求,因此这样一个简单的工具就出现了。

支持的视频文件名格式

目前适配的是小米摄像头生成的监控视频片段,支持以下两种文件名类型的视频片段:

  • 20240320192213_20240320193309.mp4
  • 43M19S_1705916599.mp4

支持的功能

  • 自动搜索MP4视频文件,支持按时间自动分组/排序
  • 支持按月合并或按日合并
  • 支持自定义输出文件名
  • 支持两种监控录像文件名格式
  • 如果已部分合并过,支持追加合并
  • 支持自动重命名或删除已合并文件
  • 视频&音频无损合并,自动检测音频不兼容并转码

用法

从源码编译出可执行文件后运行,或您可以选择从[博客](https://blog.iccfish.com/?p=5591)中下载已经预编译的可执行文件。

命令行格式:

# Windows
.\VideoRecordingJoiner.exe <选项> 要合并的视频目录或文件,可以支持多个
# Linux
./VideoRecordingJoiner <选项> 要合并的视频目录或文件,可以支持多个

软件基于 ffmpeg ,因此您的系统中需要已安装相关包,或当前软件目录下可找到它的可执行文件。

支持的命令行参数:

-o <路径> 指定输出目录; 如果不指定,将默认输出当前运行目录下
-d 指定合并后删除源文件,如果不指定此选项,则会修改源文件名(防止重复合并)
-f <格式> 输出文件名格式,不包含扩展名,支持 yyyy、MM、dd占位符,如 "yyyy-MM\dd"
-t <类型> 输出文件类型,可选 mkv 或 mp4,默认为 mkv,建议使用 mkv
-gm 按月合并(默认为按日合并)

注意:
- 按月合并模式下,默认输出文件名模板为 【yyyy-MM】,可以使用 -f 选项覆盖
- 按日合并模式下,默认输出文件名模板为 【yyyy-MM\dd】,可以使用 -f 选项覆盖

输出目录可手动指定,如果不指定,则默认在当前目录下。

源目录将会自动搜索子目录。

输出格式建议用 mkv,因为mp4已经发现部分情况下音频编码会存在不兼容的情况,需要进行格式转换,导致速度降低。

下载

win_x64 (vrj_win_x64_20240521.7z, 1.3 MB, 140次下载) linux_x64 (vrj_linux_x64_20240521.7z, 1.5 MB, 49次下载) 仓库地址 鱼的镜像仓库地址
喜欢 (0)
发表我的评论
取消评论
表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
(1)个小伙伴在吐槽
  1. 能否提供一个armv7环境下的可执行文件

    齐达亮2024-08-09 15:15 回复