视频工坊.psd1
|
@{ RootModule = '视频工坊.psm1' ModuleVersion = '1.3.0' GUID = '00279415-4bd7-49fe-aaf4-721625314781' Author = '埃博拉酱' CompanyName = '一致行动党' Copyright = '(c) 2026 埃博拉酱. MIT License.' Description = @' 视频工坊是面向本地视频处理的 PowerShell 工具模块,封装 ffmpeg、ffprobe 和 mkvmerge,提供烧录字幕、DV转HDR10、超级合并、轨道叠加、设置ffmpeg路径、压缩到指定大小、转GIF、反转视频八个命令。适合本地片段整理、字幕硬烧、Dolby Vision 兼容转换、合集封装、多源轨道混流、定量化压缩、生成 GIF 动图和视频倒放。依赖 ffmpeg/ffprobe,超级合并还需要 mkvmerge;缺少依赖时相关命令会尝试通过辅助安装脚本补齐。 功能简介: 烧录字幕:选取第一个视频轨和指定字幕轨,将文本字幕或常见位图字幕硬烧到画面,视频转 HEVC,音频和其它轨道尽量直接复制。 DV转HDR10:使用带 libplacebo 滤镜的 ffmpeg 将 Dolby Vision 片源处理为 BT.2020、PQ、TV range 的 HDR10 HEVC 输出,支持质量参数和短样本测试。 超级合并:按输入文件数组、列表文件或剪贴板顺序合并多个片段;同构轨道优先走 mkvmerge 精剪与 ffmpeg concat 的无损快速路径,异构片段按视频、音频、字幕兼容性选择 copy 或最小化重编码,编码格式允许动态分辨率时尽量保留原始尺寸,必要时才统一分辨率、补静音或补空字幕。 轨道叠加:把所有输入文件的所有轨道叠加到同一个 MKV 文件,各轨道并行、不在时间轴上拼接、不做重编码;自动识别并还原 B站客户端缓存 m4s 的头部混淆填充。 设置ffmpeg路径:指定模块优先使用的 ffmpeg/ffprobe 目录,永久保存,跨会话生效。 压缩到指定大小:二次编码把视频轨重编码到指定文件大小,视频统一 HEVC,优先 NVIDIA NVENC,其余轨道原样保留。 转GIF:两遍调色板流程把第一个视频轨转成高质量 GIF,支持指定宽高(可只给一边、允许异于原宽高比)或缩放率倍率(默认 1,小于 1 缩小、大于 1 放大,二者互斥),帧率可高于原视频自动插帧。 反转视频:把所有音视频轨按时间轴倒放,分辨率帧率不变;重编码采用二次编码并按原码率锁定体积,GPU 优先回退 CPU(参照超级合并策略),字幕等其它轨道无法反转,警告后原样复制。 使用方法:烧录字幕 [-输入文件] <路径> [[-输出文件] <路径>] [[-字幕序号] <从0起的字幕轨序号,默认0>] 烧录指定序号字幕轨到画面,默认输出“原文件名_烧录字幕+原扩展名”。 DV转HDR10 -输入文件 <路径> [-输出文件 <路径>] [-质量 <1~51,默认19,越小质量越高文件越大>] [-测试秒数 <只转开头N秒,默认0为完整转换>] 默认输出“原文件名_HDR10.mkv”,测试模式默认输出“原文件名_HDR10_testNs.mkv”。 超级合并 [[-输入文件] <一个或多个路径>] [-输出文件 <默认第一个输入文件同目录\合并+第一个输入文件的名称>] [-列表文件 <默认 .\要合并的文件列表.txt,未显式传入时改读剪贴板>] [-不兼容策略 Min|Max,默认Min] [-详细模式] 输入来源三选一:-输入文件(第一个位置参数,优先)或 -列表文件 或剪贴板;-输入文件 与 -列表文件 不能同时指定。 轨道叠加 [-输入文件 <一个或多个路径>] [-输出文件 <默认 .\merged.mkv>] [-列表文件 <默认 .\要合并的文件列表.txt,-输入文件 为空时改读剪贴板>] [-详细模式] 把所有输入文件的所有轨道叠加到同一个 MKV,流复制不重编码,自动还原 B站混淆 m4s。 设置ffmpeg路径 <目录或ffmpeg.exe完整路径> 传 $null 或空字符串可清除设置恢复默认查找;目录下缺少 ffmpeg.exe/ffprobe.exe 时会自动清除该设置并回退 PATH。 压缩到指定大小 [-输入文件] <路径> [[-输出文件] <路径,默认“原文件名_压缩.mkv”>] [-目标大小] <大小,如 700MB、1.5G、512000KB、1990㎆ 或纯字节数> 二次编码把视频轨重编码到目标大小。 转GIF [-输入文件] <路径> [[-输出文件] <路径,默认“原文件名.gif”>] [-宽度 <像素>] [-高度 <像素>] [-缩放率 <正数倍率,默认1不缩放,小于1缩小、大于1放大>] [-帧率 <浮点fps,如 23.976 或 (23.57/5.8),默认0保持原帧率,可调高插帧>] 两遍调色板流程生成高质量 GIF;宽度/高度 与 缩放率 互斥——要嘛指定宽高(可只给一边,另一边按比例算),要嘛指定缩放率;宽高可与原视频不同,画面按目标尺寸直接缩放。 反转视频 [-输入文件] <路径> [[-输出文件] <路径,默认“原文件名_反转+原扩展名”>] reverse/areverse 把所有音视频轨倒放;分辨率帧率保持不变,体积与原文件接近;字幕/附件等其它轨道无法反转,警告后原样复制。 '@ PowerShellVersion = '5.1' FunctionsToExport = @('烧录字幕', 'DV转HDR10', '超级合并', '轨道叠加', '设置ffmpeg路径', '压缩到指定大小', '转GIF', '反转视频', '按LLC剪切') PrivateData = @{ PSData = @{ Tags = @('ffmpeg', '字幕', '杜比视界', 'HDR10', 'HEVC', '视频合并', '混流', 'B站m4s', '压缩', '二次编码') LicenseUri = 'https://opensource.org/licenses/MIT' ProjectUri = 'https://github.com/Ebola-Chan-bot/Video-Workshop' ReleaseNotes = @' 按LLC剪切的 RM/RMVB 输出保留原容器,所有轨道均不转码;缺少 RealMedia Editor 时自动安装。修复 RM/RMVB 片段开头缺少首关键帧造成的画面静止。 修复 ffprobe 警告混入 JSON 导致的媒体探测失败;超级合并支持 RM/RMVB 同构片段无转码合并,默认输出到第一个输入文件所在目录,文件名为“合并+第一个输入文件的名称”。 新增按LLC剪切:读取 LosslessCut 项目,将已选片段按最近关键帧分别输出为独立文件;RM/RMVB 自动使用 MKV 容器。 超级合并 新增 -输入文件 公开参数(第一个位置参数,字符串数组):显式指定时优先于列表文件和剪贴板,且不能与 -列表文件 同时使用;原 -输出文件/-列表文件/-不兼容策略 位置顺延为 1/2/3,从剪贴板合并时请改用 -输出文件 具名传参。另修复同构快速路径:SPS/PPS 修复的位流过滤器按视频编码选择(H.264→h264_mp4toannexb、HEVC→hevc_mp4toannexb),之前硬编码 h264_mp4toannexb 导致 HEVC 输入直接失败 '@ } } } |