Matrix 首页推荐
Matrix 是少数派的写作社区,我们主张分享真实的产品体验,有实用价值的经验与思考。我们会不定期挑选 Matrix 最优质的文章,展示来自用户的最真实的体验和观点。
文章代表作者个人观点,少数派仅对标题和排版略作修改。
这一切始于一条评论:

我从高中的时候开始沉迷拍摄,天天书包里就背着部索尼的 HDR-HC5E,学校啥活动都去凑个热闹拍下来。久而久之家里就囤了一书柜的磁带。或者应该说,除掉那些拍完就采集到电脑硬盘、然后覆盖掉的素材,还剩 200 多盘没采集的带子在书柜里。
这一鸽就是将近二十年。
气氛烘托到这儿了,算了一下 200 盘磁带对当时的我来说可以说是天文数字,但于现在的我而言也就区区 2.4 TB。那就动手把它全盘下来吧!
三年前我曾经分享过怎么在 Mac 上采集 HDV 源码。实际上当时有很多坑都没解决:
鉴于此,我开始思考能否摆脱掉 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:

整个思路基本上是这样的:
我想总不能每盘带子都哗哗地真金白银烧 token 吧,于是一番交涉之后,Claude 帮我写了个脚本。

简单来说这个脚本就做三件事:
非常好脚本!所以我只需要:
这时候有朋友肯定要问了:这么麻烦的操作,也不直观,有办法改善一下吗?
有的兄弟,有的。现在是 AI 时代,有什么东西不能靠许愿得到呢?
于是我又把需求跟 Claude 说了一遍,并且让它邀请 Codex 来负责 UI。让它自己挂个通宵之后,我得到了这么个软件。

相比于上一代的脚本方案,它:
总之,我和 Claude 和 Codex,我们仨真的太厉害了。现在我只需要:
这时候有朋友肯定要问了:这好像也没好到哪里去啊?
有的兄弟,有的。但我先来说说另一件事。还记得上面我提到 FFmpeg 的问题,导致我不得不又用回 PR 采集了吗?
现在是 AI 时代,有什么东西不能靠许愿得到呢?
于是我又在下班的路上在手机里把这个需求跟 Claude 说了一下。等我回到家时,Claude Code 已经帮我把代码提交到仓库里了。

既然 PR 在 Mac 上能用,那说明底层的接口肯定还在的。于是 Claude 进行了一番调研后,发现其实苹果在十多年前曾提供过 FireWire 的 SDK,里面就包含了 DV 采集的相关示例代码。于是 Claude 花了点时间把这个 SDK 的示例进行了一些产品化的完善,并且做了些修复让它可以在 macOS 15 上构建。变成了一个简易的命令行 (CLI) 工具:
出乎我意料的是,这个小工具竟然能在我 M1 Max 的 MBP 上运行,说明苹果即便在 Apple Silicon 上其实还留着 FireWire 的相关接口,只不过是 FCP 和 PR 那些编辑软件自己阉割了。但这里也有个坏消息:macOS 15 Sequoia 将是最后一代支持 FireWire 的系统;macOS 26 Tahoe 上这个驱动已经被彻底移除了。
还好我的 M1 Max 还没升级。
那这里说 CLI 又有什么作用呢?不还是得采一下、点一下、采一下、点一下……
有的兄弟,有的……现在是 AI 时代……
让我来盘一下过去一段时间我都让 Claude 搓了哪些工具:
所以你只需要先这样:
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 多处异常。但无论如何这个过程终于是被自动化了,剩下这百来盘磁带人只要负责换带就行了。


整个过程盘下来非常奇妙:
就这样吧。
> 下载 少数派 2.0 客户端、关注 少数派公众号,解锁全新阅读体验 📰
> 实用、好用的 正版软件,少数派为你呈现 🚀