ARTICLE DETAIL

资讯详情

深耕网站建设、视觉设计与SEO优化的一线实战洞察。

从dragonballz_e190-1开始:老动画单集素材修复全流程

从dragonballz_e190-1开始:老动画单集素材修复全流程 第一次在硬盘里看到dragonballz_e190-1这个名字时我下意识以为是谁随手存了一段没头没尾的视频。后来才搞清楚这是老《龙珠Z》素材归档时常见的一套命名逻辑dragonballz 代表作品目录e190 指向动画 TV 版第 190 集-1 则说明它是这一集拆出来的第一段独立素材。和很多人想的“随便编号”不同这套命名背后写满了片源类型、分段位置和后续处理顺序直接决定你拿到文件后第一步该做什么。这篇文章不是要带你完整做一遍《龙珠Z》的 4K 重制那种工程太大了也不是一个单集标题能装得下的。我想拿dragonballz_e190-1当起点把一次针对“老动画单集片段素材”的整理、体检和修复流程完整拆开讲一遍。适合正在做旧番收藏整理、对视频修复有兴趣、或者单纯想知道那些像乱码一样的文件名到底怎么理解的人。我会尽量按实际操作顺序写涉及工具的部分也会给真实命令和参数而不是停在“用某个软件点一下就行”。1. 先把 dragonballz_e190-1 拆开这个文件名到底说了什么1.1 归档命名不是随手写的它标了“素材出处”做老番数字化整理的人肯定见过各种命名字段dragonballz_e190-1.mkv、DBZ_190_partA.avi、dbz190v2.mkv。这些名字看起来乱其实都能拆出几个固定部分。dragonballz是作品系列名e190代表编号-1往往是分段标识。这里有个容易混淆的点e190是按哪个版本计算的集数。当年《龙珠Z》在国内流行时VCD、卫视台和后来互联网上的版本因为删减和拆分方式不同集数经常错位。甚至日版、美版、港版对第 190 集的编号都可能差出一两集。所以拿到类似文件时我习惯先不信任文件名而是打开视频前后各看两分钟确认实际内容到底对应日版目录还是美版目录。这一步看上去多余却能避免后续把时间轴对错尤其是当你手里还有字幕或音轨要合并时一集错位整季都会乱。-1的含义也要看语境。如果文件是整集抓出来的视频轨这可能表示这段只是“正片的第一个时间区段”如果文件是从 DVD 原盘里抽出来的它也可能是该集的 Chapter 1。还有一种常见情况字幕组在做繁简双语字幕或注释字幕时会把一集从自然断点切两个工程文件分别命名为e190-1和e190-2最后再把两条字幕合成一个封装。不要把它当成单纯的序号看到-1时想办法找到同源的-2能少踩很多洞。1.2 老电视动画为什么天然会分成两段《龙珠Z》首播是在电视的 30 分钟档。30 分钟里塞动画正片实际不是一口气放完中间要插播商业广告。那个年代的主流做法是把一集切成“前 10 到 13 分钟 后 10 到 13 分钟”两幕日本人管这叫“A Part / B Part”。进广告前通常会留一个打断点有时角色会摆个 Pose有时镜头会在一个表情上多停两秒这些都被称为“广告切出”。如果你手里的源是从老录像带或者电视台播出信号里录下来的最常见的分段就是 A Part 和 B Part 两条时间流。dragonballz_e190-1指的就是第 190 集的早期幕也就是广告前的部分。一般来讲A Part 和 B Part 之间还会有一段不含正片的空档处理音轨时这是天然的音画边界特别适合测试你对时间轴是否精准。1.3 这时的画面长什么样需要修什么回到具体画质。第 190 集对应的时代制作方式依然是“赛璐璐胶片拍摄、后期转磁带”。换句话说画面里人物的线条并不是数字生成的矢量线而是先画在透明片上再用胶片摄影机拍出来。这带来几个现象线条边缘会有轻微的厚度变化色彩有胶片时代的饱和感动作场面里还常能看到动态模糊。但你现在网络上下到的所谓“高清版”、DVDRip 甚至早期 HDTV 录制版都经历过不止一次模拟转数字和压缩编码。结果是原本干净的线条边缘出现锯齿、彩虹噪点大色块背景出现一条一条的色带人物轮廓周围有黑边或白边般的振铃效应。这时你拿到e190-1该做的事就很明确了——不是简单把分辨率拉高而是先做画面“体检”搞清楚哪些问题来自拍摄哪些问题来自压缩哪些问题是修复时误伤造成的。2. 动手前先做画面评估别一上来就点“AI 超分”2.1 用 ffprobe 判断片源基础信息拿到素材我最先做的事不是打开播放器而是先查它的编码和场序。命令行工具 ffprobe 是 FFmpeg 套件里的一员基本装 FFmpeg 就能用。对任意视频文件执行ffprobe -v error -select_streams v:0 \ -show_entries streamcodec_name,width,height,r_frame_rate,field_order \ -of defaultnoprint_wrappers1 dragonballz_e190-1.mkv输出大概长这样codec_nameh264 width640 height480 r_frame_rate30000/1001 field_ordertt其中field_ordertt或tb表示视频是隔行扫描也就是每一帧被拆成两场储存常见于电视录制源。field_orderprogressive则是逐行扫描通常来自 DVD/BD 后期处理或电脑采集。大多数上世纪动画录像源都是隔行如果不做去交错直接放大画面上的横向线条会出现梳齿效果运动场景尤其严重。另外要留意r_frame_rate30000/1001这是 NTSC 制式的 29.97fps。老动画胶片原始速度其实是 23.976fps但在电视播放或 DVD 制作时会被转成 29.97fps。修复时如果直接按 29.97 处理画面会带了 3:2 pulldown 痕迹导致每 5 帧里就有两帧是重复场拼出来的。更准确的做法是通过剪辑工具先恢复原始帧率再进入下一步处理。2.2 连续截图法把“脏点”分类命令行只能告诉你底层格式真正决定修复方案的还是画面。我会把素材切成几组连续 PNG每组 5 到 10 帧专门挑动作大的区域和天空渐变区域看。做法很简单ffmpeg -i dragonballz_e190-1.mkv -vf selecteq(n\,120)eq(n\,121)eq(n\,122)eq(n\,123)eq(n\,124)eq(n\,125),setptsN/FRAME_RATE/TB -vsync 0 frame_%04d.png这只是示例选中第 120 到 125 帧导出单帧。实际操作时我会在不同时间点分别导出几个序列包括人物脸部特写、气功波爆炸场面、以及静止的对话场景。然后就开始问自己一组问题线条边缘是否发虚背景有没有像水渍一样的色带运动镜头有没有半透明残影画面里如果能看到细小颗粒这是胶片颗粒还是压缩噪声前者的颗粒分布均匀后者经常集中在物体边缘附近像毛刺一样。很多时候我会发现一个反直觉的事实画面里大部分脏点不是“老”造成的而是多次压缩叠加出来的。这类噪声可以大胆清理但胶片颗粒那种均匀质感却要保留直接抹掉会让画面变得像蜡像尤其《龙珠Z》这种带手绘线条的老动画一旦磨平人物脸会变得又滑又假。2.3 给自己定一个“修复终点”不然会永远改不完修复最忌讳“看着像就行”。我见过有人把一集不长的动画丢到 AI 超分工具里输出 4K再把每个爆点都磨一遍结果整集耗时 30 小时动起来的画面却全是抽搐感。原因就是修复目标定得太大。对于dragonballz_e190-1这种单段素材比较务实的目标可以拆成这三个把画面恢复成“类似当年 DVD 原生画质”的干净版本而不是无中生有地创造细节。去掉压缩带来的色块、振铃、蚊子噪声同时保留赛璐璐质感。对画面里特别重要的特写或标志性镜头做局部超分不追求整段无脑放大。在你开始跑任何滤镜之前请先把目标写清楚。你是为了自己收藏想看得清爽还是为了做逐帧分镜研究需要截出清晰的静帧还是想做一个同人混剪素材只要某几个镜头干净。目标不同处理参数完全不同。单集 24 分钟按分钟跑一遍视频滤镜快的也要两三小时。一个模糊目标很可能让你当天夜里反复重跑同一段。3. 单集素材修复实操五个关键步骤的取舍3.1 分离音视频先对齐时间轴视频修复不应该在一开始就把音频和视频焊死在一起。我会先用 ffmpeg 拆出原始音频ffmpeg -i dragonballz_e190-1.mkv -map 0:a:0 -c:a copy e190_original_audio.ac3 ffmpeg -i dragonballz_e190-1.mkv -map 0:v:0 -c:v copy e190_raw_video.mkv拆出来后视频轨单独处理音频单独处理后面做视频滤镜时也不至于每次渲染都捎上音频编码白费时间。音频的另一个用途是帮助定位广告点老电视源的音频里正片和广告之间经常有十几秒空白或“滋啦”声。频谱上看空白段的波形能量会明显掉下去。这一版找出来就能把 e190-1 的结束边界精确到帧而不是靠肉眼估。音画不同步是老动画修复里最常见的问题之一。音频本身可能带了一段无意义的片头延迟也可能因为捕获设备的原因整个音频比视频提前或滞后几百毫秒。一个简单的做法是播放 5 分钟左右观察画面里人物张嘴时听语音是否同步。如果整体差 200ms你可以记录一个偏移值等最终封装时再整体调整。3.2 去交错先把“梳子齿”拿掉再谈放大前面提到胶片原本是 24 帧或 29.97 帧但在老电视源里常被变成隔行扫描。直接在高清设备上看快速移动的人物体边缘会出现水平梳齿状裂痕这是隔行场的典型症状。解决方式是去交错。实操中有两个常见方向第一轻量处理用 yadif 滤镜。FFmpeg 命令行可以写成ffmpeg -i e190_raw_video.mkv -vf yadif1:0:0,formatyuv420p -c:v libx264 -crf 18 e190_deinterlaced.mkvyadif 速度快但毕竟是“猜”出缺失的那半场面对快速动作时会出轻微残影。适合试跑、预览不适合作最终成品。第二高质量处理用 QTGMC 或者 nnedi3。在 VapourSynth 里跑 QTGMC能更精细地重建每一帧动态边缘更扎实但渲染时间会成倍增加。若只是给e190-1这种几分钟的素材做我反而推荐直接上 QTGMC毕竟规模小效果差异肉眼可见。要注意的一点不要把所有隔行源都一刀切。有些 DVD 里其实已经做过让画面“看起来是逐行”的预处理这时再跑强去交错等于把原本清晰的边缘又糊了一次。务必先看field_order信息再抽几帧动态画面比对确认。3.3 人工分段比全片统一跑滤镜更值得一集动画不是每个镜头都需要相同强度的处理。夜里人物的脸上噪点本来就重而明亮的天空场景被压缩时容易出现大块色带。让全片统一套同一个降噪参数只会导致亮场被磨平、暗场噪声又没压住。我做完去交错后会按场景切分段。比如 e190-1 这一段里有室内对话、天空战斗、爆炸特效几类画面我会给每段调不同的参数对话静态场景用轻度降噪爆炸部分除了降噪还要处理亮度闪烁大范围天空背景的段落则专门做色带平滑。切分段不一定全部重压可以先用“无损编码 关键帧”方式导出中间文件。你要知道每次重新编码都会增加一点点画质损耗。给中间结果用接近无损的参数能让最后一步的整体压制少损失一层。实操里我喜欢输出为 FFV1.mkv 或 ProRes当然这会让文件体积猛增但作为中间档文件大是正常的。如果硬盘吃紧也可以用-crf 10的高码率 libx264 代替。3.4 超分工具怎么选AI 也不能凭空造线条现在主流的 AI 超分工具确实强大但直接吃整段视频并不聪明。原因有两个第一老动画里的大部分噪点都会被 AI 当成“细节”放大尤其是天空噪点和线条边缘的振铃结果就是画质没变干净反而变脏了第二AI 模型对动作场面和重复线条的处理并不稳定运动镜头里容易出现闪烁、变形。我更推荐的做法是两段式先做降噪、去色带、去振铃等常规清理让画面尽可能“干净且自然”再对关键镜头做超分比如人物面部特写、大招式释放的瞬间、或你想要截图当桌面壁纸的镜头。对整段视频则只在分辨率不够时做一次 2 倍放大而不是 4 倍。使用 Real-ESRGAN 时动漫向模型是realesrgan-x4plus-anime。处理一段已拆帧的 PNG 序列命令大致如下realesrgan-ncnn-vulkan -i frame_%04d.png -o up_%04d.png -n realesrgan-x4plus-anime -s 2 -f png这里-s 2表示做 2 倍放大而不是全力上 4 倍。模型设计是 4 倍放大但 2 倍出来的画面线条会更稳不放大太多反而不容易出现“粘滞感”。放大后再与原始清晰帧合成保留运动模糊的原始味道。如果你更偏好图形界面Topaz Video AI 里可以选 Artemis 模型。动画素材我一般不开它的“恢复面部细节”功能那个功能更适合真人。面对手绘角色强行加细节只会让五官在几个镜头之间跳动做混剪时尤其明显。3.5 色彩复光别让角色像刚从沙漠回来老动画的调色在不同片源之间差异极大。同一集VHS 转录版通常偏暖偏红DVD 版经常偏淡偏灰电视台录制版还可能受频道台标和亮度限制影响亮部总压着一层白。对e190-1做色彩修正时我一般先在剪辑软件里找一个记忆锚点比如悟空常态的发色应该是偏橙黄的深色龟仙人道服应是比较艳的橙色天空是偏青的淡蓝色。先不管“看起来对不对”把片源里的皮肤色、橙色道服色、天空色分别吸一次和记忆里的参考值做差值再整体套色彩偏移。要特别小心肤色。老动画的数字修复常见的翻车现场就是把肤色调得像晒伤或者像番茄。校正时优先保证画面中间调的肤色不过红不要让阴影区域发绿。最好的办法是把画面输出到监视器不要只盯着电脑屏幕因为不同色域下同一套参数会差得很远。如果不具备校色环境至少做到“在多数屏幕上不会偏得离谱”别追求某种绝对标准。最后做输出封装前用色带检测滤镜扫一遍大渐变背景。推荐用flash3kyuu_deband这类去色带滤镜或者在高比特率压制时给黑色区域加少量抖动噪点避免出现一圈圈“等高线”条纹。4. 修复单集素材时最容易翻车的地方做这种修复最怕的不是慢而是踩了自己没发现的坑最后花了十几个小时导出成品才发现问题全在细节上。下面这几个坑是我反复踩过的整理成速查表遇到类似画面可以快速定位。症状感受常见原因对策画面显得特别“塑料”没有动画感像 AI 自动美颜过的照片把所有颗粒都当噪声抹掉分高频/低频噪声保留一部分颗粒或后期添加轻量胶片颗粒人物轮廓边缘发虚、发毛像隔了一层雾过度降噪把线条边缘高频信息清理掉了降低降噪强度或用边缘遮罩保护线条区域运动镜头出现残影或“果冻感”动起来像慢动作拖尾去交错阶段选错场序或贸然插帧先确认 TFF/BFF 再跑滤镜动态大的素材不要盲目插帧到 60fps角色皮肤颜色一会红一会黄脸部像变色龙色彩校正只做了全局偏移没按场景单独处理分场景做二次校色不要靠一条 LUT 硬套全集字幕或台标被“修复”成高清字幕看起来比画面还硬还带色边直接把带字幕的素材喂进超分模型先用裁剪区域抹除内嵌字幕或只对无字幕段落做超分最终封装后音画不同步嘴型和声音差半拍处理视频时修改了帧率或删帧音轨长度没对应先输出无音轨视频再在封装软件里用音频偏移精准对齐4.1 画面看起来变假多半是颗粒处理过头有次我给一段老动画做降噪把去噪强度拉到很高画面确实干净了但人物皮肤像抹了一层蜡背景纹理全部消失观感反而比带噪声的原片更差。后来我总结经验老动画的画面颗粒里既有胶片颗粒也有压缩噪声。前者在物体表面分布规律后者集中在边缘和亮暗交界附近。用高质量频域滤镜可以分开处理比如用 VapourSynth 里的dfttest或者加一个边缘遮罩只对非线条区域降噪线条区域保留原始纹理。那一步的经验是降噪保护线条边缘。可以先跑一次边缘检测生成 mask再把 mask 后的视频跟降噪后的画面做混合。虽然麻烦但效果会自然得多。4.2 运动镜头里的残影有救吗运动镜头残影通常不是去交错没做好就是超分模型对动态帧产生了“前后两帧信息混叠”。有次我处理一个快速挥拳镜头每帧拆出来单独看都正常但连起来播放的时候拳头后面总是拖一条半透明尾巴。排查后发现是超分工具在处理动态模糊帧时把上一帧的信息带到了下一帧。解决的方法是只对静态或轻微运动的镜头做 AI 超分运动镜头则维持去噪后的原始帧率不强行插帧。如果你确实需要处理运动镜头里的线条重建可以考虑把该段单独拿出来先做帧匹配超分再把超分结果以较低透明度与原帧合成。这相当于“人工控制力度”不至于把整段动作都变成果冻。4.3 为什么修复完还是有色带色带就像相机拍天空时出现的一圈圈横纹根本原因是 8bit 色深不够大面积平滑渐变被量化成“台阶”。强行“降噪”并不能解决色带反而会把台阶变得更圆滑。最有效的方法是在高精度色深下做处理用 16bit 浮点流水线跑滤镜输出时再转回 10bit 或更高色深同时叠加极轻的抖动噪声打散色带边缘。大部分旧素材是 8bit 420 色度采样如果你在 8bit 环境下反复滤镜处理暗部细节会越来越糊。有条件就把流程切换到 VapourSynth 里全程用 16bit
返回列表