这一切始于一条评论……

高中的时候我开始沉迷拍摄。天天书包里就背着部索尼的 HDR-HC5E,学校啥活动都去凑个热闹拍下来。
久而久之家里就囤了一书柜的磁带。应该说,除掉那些拍完就采集到电脑硬盘然后覆盖掉的素材外,还剩200多盘没采集的带子在书柜里。这一鸽子就是将近二十年。
气氛都烘托到这儿了,算了一下200盘磁带对于当时的我是天文数字,但对于现在的我而言也就区区 2.4 TB。那就动手把它全盘下来!
软件是第一个坑
三年前我曾经分享过怎么在 Mac 上采集 HDV 源码。实际上当时有很多坑都没解决:
- Apple Silicon 真的砍掉了 FireWire 支持吗?并非 —— 其实只是 FCP 和 PR 的 ARM 版砍掉了对应的功能
- 为什么当时我用 PR 2022 识别不到我的 HDV?那倒确实是 PR 的问题,但可解 —— 只需要在 HDV 里把 i.LINK 输出模式由自动改为 HDV,PR 就能正确捕捉到画面了。非常诡异的 bug
鉴于此,我开始思考能否摆脱掉 PR 这类商业软件。因为我不确定假如我再持续鸽个一两年,到时候还能不能从 Adobe CC 里下载到 PR 2022 了。
调(A)查(I)了一下发现确实可以。对于标清格式的 DV,只需要用到之前说的办法把 1394 转接到雷电口接上 Mac 后,使用 FFmpeg:
ffmpeg -f avfoundation -list_devices true -i ""这行命令能列出你的电脑上识别到的所有音视频设备。顺利的话,会看到个类似 HDV-VCR 之类的玩意。然后使用这个命令:
ffmpeg -f avfoundation -capture_raw_data true -i "HDV-VCR" -c copy -map 0 -f rawvideo output.dv并且同时在摄像机上手动开始播放,就可以把 DV 比特流原封不动地拷下来了。
出乎我意料的是,这个方法竟然同样适用于 Apple Silicon 平台的 Mac。摄像机同样会被 macOS 的 AVFoundation 框架识别为一个普通的摄像头。
所以事情就是这么简单 —— 了吗?并非。正当我想如法炮制把高清格式的 HDV 也采集下来的时候,我发现它出来的只有一轨 MPEG-2 视频,没有音频,也没有元数据。
因为它们不太一样:对于 DV,它在磁带上是视频和音频封装在一起的 DV-DIF 比特流,Mac 的 AVFoundation 框架会把它原封不动地抛给上层应用处理。而对于 HDV,它的底层是和高清数字电视一样的 MPEG-TS 比特流。Claude 的说法是 AVFoundation 会在内部对这种格式进行解嵌再抛给应用,而 FFmpeg 因为这样那样我也没搞懂的原因所以只取了视频轨 —— 总之,用这个办法去读 HDV 拿到的已经不是原始比特流了。
暂时无解,好在我那台 2018 年的 Intel i7 MBP 还没丢,上面的 PR 2022 也还没卸。所以折腾了一圈,我发现还是 PR 能战。
更大的问题其实是磁带本身
我原以为磁带是一种非常稳定的存储介质:你看,它一盘的数据量是 12 GB,在当时同样容量的 SD 卡得上天了;但是它又不会像硬盘那样摔一下就寄,也不会像 SD 卡之类的半导体一样静电pia一下或者其它莫名其妙原因突然就再也识别不出来。
但如果放到二十年这个尺度上你就有点为难它了:消磁,一个熟悉的词。就连现在完全没有磁性的 RFID/NFC 卡都老有人说会消磁会消磁,更何况真的靠磁性材料承载信息的磁带。带基老化、磁粉脱落,那是真的会消磁的。
如果可以穿越回去,我就会跟十八年前的我说:松下那种蓝色的带子放个十八年完全没问题,索尼那种红色带子就坚持不了那么久。
但也不是完全没救。查(A)了(I)一下发现:久置的 DV 磁带最好先做一次 retension —— 也就是快进到磁带末尾,再快退回开头。这样可以让收缩的带基重新恢复一点原本的形态。这个办法确实有点用。
反正就是,运气好的时候可以一盘带子从头走到尾 —— 也不见得是运气好,因为它有时候中间会偶尔有几秒读不出来,所以我需要留个心在旁边看着,非常熬人。
运气不好的时候,可能采集了个 1、2 分钟,画面突然就没了,只剩下时间码在走(甚至连时间码也没了)。然后再做一次 retension,它又回来了,然后又是只能坚持个几分钟……
那,有没有什么办法可以把第二种情况采出来的碎肉拼起来,甚至还能帮我检测到第一种情况里那些漏掉的损坏呢?
有的兄弟,有的。现在是 AI 时代,有什么东西不能靠许愿得到呢?
第一次工业革命
最简单粗暴的做法是,我直接把采出来的文件放进了一个目录里扔给了 Claude Code:

整个思路基本上是这样的:
- 用 FFmpeg 完整走一遍解码,检测出哪里出现了解码异常
- 对被迫拆分出来的每个文件在 GOP 层面找到重叠(相同)的地方,然后拼起来变成一个完整的文件
我想总不能每盘带子都哗哗地真金白银烧 token 吧,于是一番交涉之后,Claude 帮我写了个脚本:

简单来说,这个脚本就做三件事:
- 分析目录下所有片段的完整性,找出损坏的和缺失的地方
- 告诉你需要补充采一下哪些区间,然后扔进目录里再次分析
- 最后把拼凑出来的完整的视频导出成最终文件
非常好脚本,所以我只需要:
- (可能是连滚带爬地)采完一盘带子,扔进一个工作目录里
- 跑脚本,看哪里坏了
- 倒回去重新采一下这段带子,把新的文件扔进这个目录里
- 跑脚本,看哪里坏了
- 再倒回去重新采下一段袋子,把新的文件扔进这个目录里
- 跑脚本,看哪里坏了
- ……
这时候有朋友肯定要问了:这么麻烦的操作,也不直观,有办法改善一下吗?
有的兄弟,有的。现在是 AI 时代,有什么东西不能靠许愿得到呢?
第二次工业革命
于是我又把需求跟 Claude 说了一遍,并且让它邀请 Codex 来负责 UI。让它自己挂个通宵之后,我得到了这么个软件:

相比于上一代的脚本方案,它:
- 能直观看到整个文件哪里坏了,哪里缺了
- 坏的地方有截图,操作 DV 快进的时候可以大致知道在什么地方
- 只需要拖动就可以自动把文件复制进工作区
- 它甚至还同时支持 DV 和 HDV
总之,我和 Claude 和 Codex 我们仨真的太厉害了。现在我只需要:
- 采完一盘带子,拖进软件
- 点一下重新分析,看哪里坏了
- 倒回去重新采一下这段带子,把新的文件拖进这个软件里
- 点一下重新分析,看哪里坏了
- 再倒回去重新采下一段袋子,把新的文件拖进这个软件里
- 点一下重新分析,看哪里坏了
- ……
这时候有朋友肯定要问了:这好像也没好到哪里去啊?
有的兄弟,有的。但我先来说说另一件事。
还记得上面我提到 FFmpeg 的问题,导致我不得不又用回 PR 采集了吗?
现在是 AI 时代,有什么东西不能靠许愿得到呢?
于是我又在下班的路上在手机里把这个需求跟 Claude 说了一下。等我回到家时,Claude Code 已经帮我把代码提交到仓库里了。

既然 PR 在 Mac 上能用,那说明底层的接口肯定还在的。于是 Claude 进行了一番调研后,发现其实苹果在十多年前曾提供过 FireWire 的 SDK,里面就包含了 DV 采集的相关示例代码。
于是 Claude 花了点时间把这个 SDK 的示例进行了一些产品化的完善,并且做了些修复让它可以在 macOS 15 上构建。变成了一个简易的命令行 (CLI) 工具:
- 支持 DV、HDV 的源码级采集
- 执行快进、快退、跳转至指定时间的操作
- 实时显示当前采集位置的磁带时间码、录制时间
出乎我意料的是,这个小工具竟然能在我 M1 Max 的 MBP 上运行,说明苹果即便在 Apple Silicon 上其实还留着 FireWire 的相关接口,只不过是 FCP 和 PR 那些编辑软件自己阉割了。
但这里也有个坏消息:macOS 15 Sequoia 将是最后一代支持 FireWire 的系统;macOS 26 Tahoe 上这个驱动已经被彻底移除了。还好我的 M1 Max 还没升级。
那这里说 CLI 又有什么作用呢?不还是得采一下、点一下、采一下、点一下……
有的兄弟,有的……
现在是 AI 时代……
第三次工业革命
让我来盘一下过去一段时间我都让 Claude 搓了哪些工具:
- 量化分析采集质量的工具 TapeFlow,底层是之前写的 hdvmerge 和第三方的 dvrescue
- 纯命令行操作的采集工具 tapecap
所以你只需要先这样:
npx skills add xingrz/tapecap然后再这样:
npx skills add xingrz/tapeflow然后打开你的 AI 客户端 —— 可以是 Claude Desktop,可以是 Codex —— 进行一段吟唱:
帮我用 tapecap 把这台电脑上连接的那部 DV 上的磁带完整采集下来。完了之后用 tapeflow 分析完整性,并且继续使用 tapecap 对损坏的地方进行补采,直到它完美,或个别点位实在无法读出。
于是我看到了:一台2008年生产的机器,放着2009年拍的带子,通过 i.LINK 转 FireWire400 转 FireWire800 转 Thunderbolt 2 转 Thunderbolt 3 接到一台2021年生产的 Mac 上,被一个2026年的 AI 操控着:
Codex 老师非常勤奋。之前我需要时刻留意磁带的采集状况,并且操作机器倒带重采,现在它能自动帮我完成这一切:

Codex 一直奋战到了今天凌晨6点,其中包括若干次 retension 和两次时长30分钟的冷却,最终采集了148个片段,这是人工难以顶得住的枯燥的工作量。

不过遗憾的是,这盘带子的情况不容乐观。之前我遇到最恶劣的情况也只是进行了37次重采。而这盘带子在进行了148次重试之后还是有80多处异常。


但无论如何,这个过程终于是被自动化了。剩下这百来盘磁带人只要负责换带就行了。
盘下来非常奇妙:
- 2026 年是 AI agent 的第一年
- 2026 年也是 FireWire 的最后一年
就这样吧。

