手里攒了一堆绝区零、原神、崩坏:星穹铁道的录像,要在 2026 年 8 月 30 日这个批次节点上完成归档交付,最常见的状态是:录像文件躺在 OBS 默认目录里,文件名全是2026-08-30_16-45-23.mkv这种时间戳,不打开播放器根本不知道里面录了什么,更别说按游戏、按任务类型去抽查和交付。这篇就专门解决这个问题,把个人手打录像从录制、命名、归档、压缩到校验交付的完整流程过一遍。
先明确项目边界。这里的“录像”指的是个人手动操作游戏的录屏存档,核心目的不是剪辑成短视频,而是保留完整操作轨迹,确保过程可回放、可追溯。它有三个最值得关注的功能点:按“日期-游戏-任务”三层归档的目录结构、基于 ffmpeg 的批量转码与压缩脚本、以及带 MD5 校验和 ffprobe 信息摘要的批量验收流程。从这套流程本身看,它不依赖特定显卡,也不需要高显存,CPU 编解码和 GPU 硬件编码都能跑,门槛主要在存储空间和脚本习惯,而不是硬件配置。
下面这套流程适合三类读者:一是自己做代肝交付、需要录像留痕的个人玩家;二是需要整理多开账号日常素材的小团队;三是单纯的游戏记录爱好者,想把游戏过程按日期归档下来。文章会带你把环境准备、OBS 录制参数、目录命名、ffmpeg 批量任务、文件校验和常见坑依次跑通。整个流程以2026-08-30这个批次为示例,实际使用时把日期、游戏代号和任务类型替换成自己的即可。
1. 核心能力速览
| 能力项 | 说明 |
|---|---|
| 适用对象 | 绝区零、原神、崩坏:星穹铁道等游戏的个人手打录像归档与交付 |
| 核心链路 | 录制参数设置 → 目录结构设计 → 批量重命名 → ffmpeg 转码压缩 → 校验抽查 |
| 录制工具 | OBS Studio,支持窗口捕获、按热键停止、自动生成 MKV 原始文件 |
| 批处理工具 | ffmpeg、ffprobe、PowerShell / Bash 脚本 |
| 归档粒度 | 按日期 → 游戏 → 任务类型 → 序号逐层归档 |
| 校验方式 | MD5 文件哈希、ffprobe 时长与编码信息、人工播放抽查 |
| 硬件门槛 | 无固定显存要求,CPU 可编解码;GPU 硬件编码可明显提升处理速度 |
| 适合场景 | 个人录像存档、批量交付预处理、多账号素材整理、过程可回放留痕 |
| 合规要求 | 使用前确认游戏用户协议、账号授权、隐私信息和素材版权边界 |
这套流程的重点不是某个单一软件,而是把“录完就丢”的零散文件变成“可索引、可校验、可交付”的录像资产。OBS 负责抓画面,ffmpeg 负责批量处理,脚本负责统一规则,最终输出一套带清单的归档目录。
2. 适用场景与使用边界
这套工作流最适合的场景是:你需要在固定时间点交付一批手打录像,且每个录像对应固定的游戏、账号和任务内容。比如 2026 年 8 月 30 日这一批,可能包含绝区零的防务清剿日常、原神的每日委托与深渊、崩铁的正宇宙与模拟宇宙刷取,每种任务类型都需要留档。按日期、游戏、任务三层目录归档以后,后续不管是要抽查某一把的流程,还是要按游戏批量导出,都很直接。
它不适合的场景也很明确。如果你只想快速剪一段高光操作发视频,这套全量保留原始录像的流程会显得臃肿;如果你需要远程实时推流而不是事后整理文件,那应该去选推流方案;如果录像只是临时看一眼,不做长期归档,那也不需要建目录结构和跑校验脚本。
代肝、账号共享类操作的合规边界必须提前说清。开始整理之前,先确认当前游戏的用户协议是否允许账号共享、代操作或录像交付;如果游戏明确禁止,请只在合法合规的环境中记录自己的游戏过程。涉及他人账号时,必须有账号持有人的明确授权,账号密码、令牌等敏感信息不能写进脚本、文件名或日志中。另外,不推荐在录像整理流程中使用任何外挂、脚本或自动化点击工具,这既违反大部分游戏条款,也会让“手打录像”失去证明意义。录像中如果包含社交聊天、角色昵称、充值记录等隐私信息,交付或公开前需要做模糊处理。
3. 环境准备与工具清单
这套流程以 Windows 环境为主,Linux 和 macOS 也能跑,只是脚本语法稍有差异。核心依赖只有三个:OBS Studio、ffmpeg、以及系统自带的 PowerShell 或 Bash。OBS 负责录屏,ffmpeg 负责转码、裁剪和拼接,脚本负责批量重命名和校验记录。额外建议安装一个支持查看 MKV/MP4 信息的播放器,比如 PotPlayer、VLC,用于人工抽查播放。
在正式开工前,先检查磁盘空间。录像原档是最大的占用来源,以 1080p 60fps 为例,单段 10 分钟的视频在默认高码率下可能超过 1GB,一整天下来几个任务就有几十 GB。建议录制前按“原始录像 + 压缩交付 + 临时处理”三份空间做预算,避免处理到一半磁盘写满。目录规划可以先把最外层定下来,例如:
D:\VideoArchive\ 2026-08-30\ ZZZ\ defense_clear\ # 绝区零 防务清剿 hollow_zero\ # 绝区零 空洞 Genshin\ daily_quest\ # 原神 每日委托 abyss\ # 原神 深渊 StarRail\ daily_dungeon\ # 崩铁 日常 simulated_universe\ # 崩铁 模拟宇宙版本方面,不建议纠结最新版本,OBS 用能正常编码的稳定版即可,ffmpeg 选择带完整编码器的新版安装包或静态构建版本。装好后先跑一下ffmpeg -version和ffprobe -version,确认命令能被终端直接识别。如果命令提示“不是内部或外部命令”,需要把 ffmpeg 的 bin 目录加到系统 PATH,或者在脚本里写死 ffmpeg 的完整路径。
4. 录制端设置与参数观察
4.1 OBS 基础录制配置
录制参数直接决定原始文件质量和后续处理成本,建议在 OBS 里先做一次统一设置。采集方式选“窗口捕获”或“游戏捕获”,分辨率保持游戏原生分辨率,不要为了省空间强行改输出分辨率。帧率方面,官方 60 帧游戏优先录 60fps,性能紧张再降到 30fps;补帧重插这类操作不在流程内。编码器按自己的显卡来:N 卡用 NVENC,A 卡用 AMF,核显或低占用需求用 x264 也是可以的。码率不要盲目拉满,1080p60 常规 12000 到 16000 kbps 已经够用,之后做 ffmpeg 压缩时还能再往下降。
音频方面,如果只是留存操作过程,可以只录系统声音;如果需要配解说或语音标注,再开麦克风音轨。录屏的容器格式建议选 MKV,因为 MKV 对录制中断的容错更好,断录后原文件通常还能用。如果交付平台强制要求 MP4,可以先用 MKV 存原档,之后统一用 ffmpeg 转成 MP4。
4.2 录制资源占用观察
录制过程中不要只看画面,打开任务管理器观察 CPU、GPU 和磁盘占用。OBS 自带统计面板也能看丢帧率。硬件编码(NVENC/AMF)对 CPU 负载很低,磁盘写入速度反而是更容易出现瓶颈的项。如果持续出现“渲染掉帧”或“编码超时”,先把码率降一档,再考虑改 30fps,不要一上来就换硬件。录像文件记录的是游戏本体和操作过程,如果游戏本身卡顿,录出来的文件也会卡顿,这部分问题在录制源头就要解决,后处理救不回来。
5. 目录结构与批量命名规则
5.1 为什么默认文件名不能用
OBS 默认文件名类似2026-08-30_16-45-23.mkv,只包含录制时间,没有任何游戏和任务信息。一旦文件从录制目录复制出来,或者多开录制任务,很难确认哪个文件对应哪段内容。单独重命名一两个文件还好,几十个上百个文件时,必须用脚本和规则批量处理。
推荐命名模式是:日期_游戏代号_账号代号_任务类型_序号。例如:
2026-08-30_ZZZ_acc01_defense_01.mkv 2026-08-30_ZZZ_acc01_hollow_02.mkv 2026-08-30_Genshin_acc01_daily_01.mkv 2026-08-30_StarRail_acc01_simulated_03.mkv游戏代号要短且唯一:ZZZ、Genshin、StarRail。账号代号不要直接用完整账号名,可以用脱敏后的acc01、acc02。任务类型对应目录结构里的第三级名称,保持命名和目录层一致,后面写批量脚本时能省很多事。
5.2 用脚本预创建目录结构
目录结构可以直接用 PowerShell 一次性生成。下面是按三个日期、三款游戏、三种任务类型建目录的示例,实际使用时改成自己的游戏和任务列表:
$dates = @("2026-08-30") $games = @("ZZZ", "Genshin", "StarRail") $tasks = @("daily", "abyss", "defense_core", "hollow_zero", "simulated_universe") foreach ($date in $dates) { foreach ($game in $games) { foreach ($task in $tasks) { $dir = "D:\VideoArchive\$date\$game\$task" New-Item -ItemType Directory -Force -Path $dir | Out-Null } } } Write-Host "目录创建完成"跑之前先看下D:\VideoArchive下有没有同名旧目录,脚本里的-Force不会覆盖已有文件,只会补齐不存在的层级。
5.3 批量重命名示例
假设录像全部在一个临时目录里,文件名是默认时间戳,可以用 bat 脚本按顺序重命名。注意下面的脚本会把临时目录里的所有*.mkv重命名为固定前缀加序号,执行前先把目录里的文件确认一遍:
@echo off setlocal enabledelayedexpansion set idx=1 cd /d D:\VideoTemp for %%f in (*.mkv) do ( set "newname=2026-08-30_ZZZ_acc01_defense_!idx!.mkv" ren "%%f" "!newname!" set /a idx+=1 ) echo 重命名完成,共 %idx% 个文件顺序序号可能和真实录制顺序不完全一致,如果必须对应先后顺序,先按修改时间排序再重命名。更稳妥的办法是在录制停止的瞬间记一张任务表,之后按任务表对应文件,而不是靠文件名里的时间反推。
6. 批量处理与任务脚本
6.1 先看素材信息
批量处理之前,先用 ffprobe 查看单段录像的编码、分辨率、帧率和时长,确认录制端设置没有异常:
ffprobe -v error -show_entries format=duration,size:stream=codec_name,width,height,r_frame_rate -of default=noprint_wrappers=1 "input.mkv"输出里如果分辨率、帧率、时长都对,再往下转码;如果时长是 0 或者编码器很怪,说明文件本身有问题,不要硬处理,先回到录制端排查。
6.2 时间轴裁剪
录制时如果一次录了一整段,需要按任务点裁开。只做时间裁剪且不转码时,建议用-c copy,速度最快:
# 从第10秒开始裁30秒,不重新编码 ffmpeg -ss 00:00:10 -t 00:00:30 -i "input.mkv" -c copy "clip.mkv"这种方式不会重新压缩,但裁剪点是关键帧对齐的,可能在开始和结尾多保留一点点画面。如果要做精确到帧的裁剪,去掉-c copy重新编码即可,速度会慢,但时间点更准。
6.3 批量转码压缩
原始 MKV 文件体积大,交付前通常转成 H.264 的 MP4。CRF 值控制输出质量,23 是画质与体积的平衡点,想更小可以试 26 到 28,但不要低于 18 以下的无脑高画质,体积会失控:
ffmpeg -y -i "input.mkv" -c:v libx264 -crf 23 -preset medium -c:a aac -b:a 128k "output.mp4"这段命令适合单文件验证。批量处理用 PowerShell 遍历整个 2026-08-30 目录:
Get-ChildItem -Path "D:\VideoArchive\2026-08-30" -Recurse -Filter *.mkv | ForEach-Object { $output = $_.FullName -replace "\.mkv$", ".mp4" & ffmpeg -y -i $_.FullName -c:v libx264 -crf 23 -preset medium -c:a aac -b:a 128k $output Write-Host "已处理: $($_.FullName)" }如果机器支持 NVENC,并且显卡编码器可用,可以把libx264换成h264_nvenc,处理速度会明显提升。处理前先用一个文件做测试,确认输出播放正常后再放开 batch,避免整批文件都转到坏参数上。
6.4 多段拼接
同一个任务如果分了几段录制,可以先统一转成相同参数,再用 concat 拼接。先准备一个concat.txt:
file 'part1.mp4' file 'part2.mp4' file 'part3.mp4'然后执行:
ffmpeg -f concat -safe 0 -i concat.txt -c copy merged.mp4-c copy要求各段参数完全一致,否则会出现时间轴错乱或音画不同步。稳妥做法是先统一转码成同一参数,再拼接,最后视需要做一次统一压缩。
7. 录像校验与抽查流程
批量处理完成后,不能只看“文件都在”就认为完成。建议做三层校验:哈希校验、信息校验、人工抽查。
哈希校验用 MD5 即可。每段录像处理完,把原始文件和输出文件都记一个 MD5,交付时附在清单里。PowerShell 里可以这样批量记录:
Get-ChildItem -Path "D:\VideoArchive\2026-08-30" -Recurse -Include *.mp4 | ForEach-Object { $hash = Get-FileHash $_.FullName -Algorithm MD5 $duration = & ffprobe -v error -show_entries format=duration -of default=noprint_wrappers=1:nokey=1 $_.FullName [PSCustomObject]@{ File = $_.FullName SizeMB = [math]::Round($_.Length / 1MB, 2) DurationSec = $duration.Trim() MD5 = $hash.Hash } | Export-Csv -Append -Path "archive_2026-08-30.csv" -NoTypeInformation }这样输出一个 CSV 清单,每行对应一个文件,列里有路径、大小、时长、MD5。后续不管是自己复查还是交付核对,直接看这张表就够了。
手工抽查不能省。每个游戏目录里随机抽一两个文件,用播放器拖动到开头、中间、结尾各看十几秒,重点确认:画面是否黑屏、声音是否正常、操作过程是否连续、有没有录制中途断掉。自动校验只能发现“文件是否坏了”,看不出来“这波操作是否录得不完整”。如果发现某段有问题,回到原始 MKV 再确认,原始文件也坏了的话,只能重新录,所以录制阶段多留原始文件很有必要。
8. 常见问题与排查方法
| 问题现象 | 可能原因 | 排查方式 | 解决方案 |
|---|---|---|---|
| OBS 录制黑屏或绿屏 | 窗口捕获权限不足、游戏以管理员权限运行 | 查看 OBS 日志,检查预览画面 | 改用游戏捕获模式,或让 OBS 与游戏使用相同管理员权限 |
| 录像文件损坏打不开 | 录制中断、写入磁盘时断电/磁盘满 | 看文件大小和 ffprobe 时长是否为 0 | 恢复磁盘空间,用 MKV 原档重新转码,注意不要一边录制一边处理同一文件 |
| 转出的 MP4 不兼容播放器 | 编码参数异常或音频流格式不标准 | 用 ffprobe 查看流信息 | 使用-c:v libx264 -c:a aac的组合,避免使用特殊封装参数 |
| ffmpeg 提示 No such file or directory | 路径含中文、空格或反斜杠转义问题 | 查看脚本里路径引号是否完整 | 使用绝对路径,并对路径加引号 |
| 批量脚本中文乱码 | bat/PowerShell 文件编码问题 | 查看命令提示符显示内容 | bat 另存为 ANSI 或 UTF-8,PowerShell 脚本注意$OutputEncoding |
| 录制的文件太大,磁盘空间不足 | 码率设置过高、压缩参数过保守 | 查看单文件大小和磁盘剩余 | 降低录制码率,或在交付前统一用 CRF 压缩 |
| MD5 校验不一致 | 文件被修改、传输损坏、处理时正在写入 | 对比原始文件和输出文件的大小与哈希 | 重新转码或重新拷贝,不要在文件写入过程中做哈希 |
| 播放时掉帧卡顿 | 硬件解码能力不够、码率过高 | 查看播放器解码占用 | 用 H.264 高兼容格式,压到播放设备能接受的码率 |
| 同一段任务分多段,时间对不上 | 各段录制参数不一致,拼接时错位 | 用 ffprobe 对比各段分辨率和帧率 | 先统一转码参数再 concat,或者用时间轴重裁 |
排查时最忌讳连续改动多个参数,改一项、测一个文件、看一次结果,确认正常再继续。批处理也一样,小样本验证完再扩大范围。
9. 最佳实践与交付建议
这套流程真正要建立的不是复杂工具链,而是一个稳定的归档习惯。下面几条建议是实际整理录像时最容易踩的坑,提前处理能省下大量时间。
第一,每段任务单独录制,不要一个文件录半天。长文件后处理、定位、拼接都很麻烦,而且一旦文件损坏,整段素材都废了。单独录制虽然文件数量多,但配合命名规则和目录结构,管理成本反而更低。
第二,把原始目录、处理目录、交付目录分开。原始 MKV 保留在D:\VideoArchive\raw,压缩后的 MP4 放在日期目录,待交付文件集中在一个交付目录。不要混在一起,否则批量脚本很容易误处理到原档。
第三,第一次执行整套流程时,先跑一个小批次。比如先处理 5 个文件,把建目录、重命名、转码、校验全走一遍,确认输出没问再放开全量任务。批量任务必须带日志,至少要把每个文件的处理状态输出到终端或写入文本,否则某个文件失败了你都不知道。
第四,文件名里不要放敏感信息。账号密码、登录令牌、实名信息等一律不能出现在目录名、文件名和脚本里。需要区分账号时用编号,对应的真实账号信息单独保密存放。
第五,交付前生成清单。Csv 清单里包含文件路径、大小、时长、MD5,再人工抽查一轮播放。批量交付如果可能,把清单一并交付,接收方可以按哈希核验文件,避免“文件传过去但内容损坏”的纠纷。
第六,录像内如果有非游戏画面,比如桌面、浏览器、聊天窗口,交付前用剪辑工具做裁剪或模糊处理。涉及他人账号、他人角色昵称、聊天记录和充值信息时,更要先确认授权和质量。
最后说合规。个人手打录像的价值在于过程可回放、操作真实,任何脚本、自动化点击、未经授权的账号共享都会让这层价值失效。开始批量整理之前,务必确认游戏条款允许对应操作,有授权再动手。
如果你也有一批积压录像急等着归档,不要上来就改一堆参数。先把一个文件的“录制 → 命名 → 压缩 → 校验 → 抽查”流程跑通,再把规则复制到整个目录,这才是最省时间的路径。