在过去的八年里,我带着这盒录像带走遍了四个不同的公寓和一所房子。这是我童年时的家庭录像。
经过600多个小时的工作,我终于把它们数字化,整理得足够好,可以扔掉原始磁带。下面是视频现在的样子:
共有513个单独的剪辑,每个剪辑都有标题、描述、录制日期、视频中每个人的标签以及录制时每个人的年龄。我把所有东西都放在一个私人媒体共享网站上,只有我的家人才能访问这个网站,每月的运营费用不到1美元。
这篇文章解释了我是如何做到的,为什么我花了八年的时间,以及你如何用稍微少一点的努力就能完成同样的事情。
大约在2010年,我妈妈买了一台VHS到DVD的转换器,我们所有的家庭视频都通过它播放。
问题是只有一套DVD。我家里的每个人都住在不同的州,这使得分发光盘很不方便。
2012年,我姐姐给了我DVD。我把它们撕成了视频文件,然后都放到了云存储上。问题解决了!
几周后,我问是否有人看过录像带。没人见过。我也没有。在YouTube的时代,为了寻找有趣的镜头而下载一个3小时的神秘文件似乎很无聊。
唯一兴奋的是我妈妈。“好的,太好了,”她说,“现在,我终于可以扔掉所有这些录像带了吗?”
啊哦。这是个可怕的问题。如果我们错过了录像带呢?如果我们能以更高的质量进行数字化会怎么样?如果录像带标签上有有趣的信息怎么办?
除非我确信我们以尽可能高的质量全面捕获了所有的视频,否则我永远不会觉得丢弃原始的录像带是一件很舒服的事情。那就意味着我自己来做这项工作。
如果你想知道为什么我花了八年零几百个小时,我不怪你。我想这也会是一个很容易的项目。
或者更确切地说,这就是数字化过程在理论上的样子。以下是它在实践中的样子:
我大部分的时间都花在返工上。我会完成一个阶段,但在一两个步骤之后才发现我的技术中有一个缺陷。例如,在意识到音频稍微不同步之前,我从20盘磁带中捕获了视频。或者,经过几周的编辑后,我发现我一直在以一种不支持在线流媒体的格式导出视频。
为了每个人的理智,我解释这个过程就好像它有持续的向前运动,而不是不断地强迫我的读者向后跳跃,和我一起重新开始。
好的,回到2012年。我妈妈急于结束对家庭录像长达20年的看管,所以当我再次见到她时,她递给我一个装录像带的大纸盒。我的数字化之旅开始了。
显而易见的解决方案是将其外包给专业人士。有很多数字化公司,包括专门处理旧家庭视频的企业。
我对隐私相当敏感,所以递给陌生人包括我如厕训练的录像带(在适当的年龄,没有什么奇怪的!)让我感到不舒服。此外,我想,把视频数字化能有多难呢?
老家的录像机还在我爸爸的地下室里,所以我让他下次我们见面吃午饭时把它找出来。我从亚马逊买了一个便宜的RCA转USB适配器,然后我就去参加比赛了。
为了处理来自USB采集设备的视频,我使用了VirtualDub,它的日期是2012年的一点,但不是那个日期。
当我开始编辑过程时,我意识到音频和视频有点不同步。好的,没问题。我可以把音频稍微调一下。
十分钟后,它又不同步了。我是不是第一次移位不够?
我慢慢地意识到,音频和视频并不是简单地被抵消-它们以不同的速率捕获。在整个录像带中,他们的分歧越来越大。为了使它们保持同步,我必须每隔几分钟手动调整一次磁带的音频。
你知道区分提前10毫秒和晚10毫秒发出的声音有多难吗?太难了!你自己判断吧。
这是一段我和我可怜的耐心的小猫黑魔法玩耍的视频。音频与视频略有不同步。音频是在视频的前面还是后面?
也许我应该多花一百美元,而不是浪费几百个小时🔗︎。
仅音频校正一项就耗费了数小时乏味、令人抓狂的工作。我终于想到,如果我选择亚马逊最便宜的视频捕获设备之外的其他设备,我可能会避免这个令人头疼的问题。在进一步研究之后,我买了一个新的:
也许是录像机的问题。数字化论坛表示,拥有“基于时间的校正器”(TBC)的VCR不会出现音频失真,TBC是超级VHS(S-VHS)录像机的常见功能。
当然了!。当有一台超级录像机可以解决我的问题时,我在我那愚蠢的普通录像机上胡闹什么呢?
现在已经没有人生产S-VHS录像机了,但它们仍然可以在易趣上买到。我花179美元买了一台JVC SR-V10U,这是一款录像机,据说非常适合VHS数字化:
超级录像机寄来了。在与不匹配的声音作了几个月的斗争之后,我欣喜若狂,因为我手中有了承诺可以解决我所有问题的设备。
我打开盒子,把所有东西都接上了,但音频还是不同步。叹气。
排除我的硬件故障太痛苦了。我会把所有的设备从衣柜里拖出来,爬到桌面后面把所有东西都插上,试着抓拍,然后发现它不工作。
哦,2008年论坛上的一篇随机帖子说要安装一些粗略的、未签名的中文设备驱动程序?这是个糟糕的主意,但我已经绝望了。这并不能解决问题。
我试过不同的抓拍软件。我买了一盘特制的录像带来清洗录像机的磁头。我买了第三个捕捉装置。结果总是一样的。
一成不变地,我会放弃,切断一切,再把设备放逐到我的衣柜里几个月。
快进到2018年。我把这些录像带和成吨的设备拖到四个不同的公寓,准备从纽约市搬到马萨诸塞州。当事情变得很明显,我永远不可能独自完成这个项目时,我无法证明再次搬走这些东西是合理的。
我问我的家人,如果我把录像带送到数字化公司,他们会不会介意。幸运的是,没有人介意-他们都对再次观看这段视频更感兴趣。
我:但这意味着有一家公司可以访问我们所有的家庭录像带。你不介意吧?我妹妹:是的,我不在乎。你是唯一担心这个的人。等等,你可以从一开始就付钱让人这么做吗?我:呃,…。
将全部45盘磁带数字化需要750美元。这听起来可能很贵,但到那时,为了避免再花一分钟排除视频设备的故障,我会不惜一切代价。
当文件回来时,质量无疑更好了。我拍摄的照片总是有“撕裂”的边缘,但专家们把所有东西都数字化了,没有任何失真。最棒的是,音频和视频完美同步。
以下是一段视频,它将数字化公司的截图与我自己的截图进行了比较:
有了家庭视频,大约90%的镜头是枯燥的,8%是娱乐性的,2%是令人惊叹的。录像带数字化后,还有很多工作要做。
录像带里有一长串混杂着死气沉沉的视频短片。要编辑磁带,您必须确定每个剪辑的开始和结束位置。
我使用Adobe Premiere Elements进行编辑,终身许可的费用不到100美元。它编辑VHS磁带的关键功能是可缩放的时间线。它允许您快速查找粗略的场景边界,然后放大以查找剪辑开始或结束的准确视频帧。
Premiere的问题在于它需要频繁的启动和停止。我的流程是:
漫长的等待意味着我不断地在视频编辑和其他一些任务之间切换上下文,使我的注意力混乱了几个小时。
另一个缺点是不可重复性。修复一个小错误几乎和从头开始做整个事情一样难。当我进入视频分享阶段时,这狠狠地咬了我一口。直到那时,我才意识到我应该以一种网络浏览器可以原生流媒体的格式导出视频。我的选择是重新开始导出数百个剪辑的繁琐过程,或者将导出的视频重新编码为另一种格式,从而降低它们的质量。
在经历了令人尴尬的几个小时后,我想知道是否可以简单地将人工智能投入到这个问题中。识别剪辑边界似乎是一项合适的机器学习任务。我知道精确度不会那么完美,但也许它可以完成80%的工作,剩下的20%我可以手动修复。
我试用了一个名为pyscenedetect的工具,它分析视频文件并打印出场景发生变化的时间码:
$docker run\--volume";/video:/opt";\handflucht/pysceneDetect\--input/opt/test.mp4\-output/opt\Detect-Content--Threshold 80\List-Scenes[PySceneDetect]输出目录集:/opt[PySceneDetect]已加载1个视频,帧率:29.97 FPS,分辨率:720 x 480[PySceneDetect]缩小因子设置为3,有效分辨率:240x160[PySceneDetect]场景列表csv文件名格式:$VIDEO_NAME-Scenes.csv[PySceneDetect]检测场景.[PySceneDetect]在117.6秒内处理了55135帧,平均每秒468.96帧。[PySceneDetect]检测到33个场景。平均镜头长度55.7秒。[PySceneDetect]正在将场景列表写入csv文件:/opt/test-Scenes.csv[PySceneDetect]场景List:--|场景#|开始帧|开始时间|开始时间|结束帧|结束时间。|--|1|0|00:00:00.000|1011|00:00:33.734||2|1011|00:00:33.734|1292|00:00:43.110||3。|1292|00:00:43.110|1878|00:01:02.663||4|1878|00:01:02.663|2027|00:01:07.634|.。
它确实有80%的准确率,但是检查工具的工作花费的时间比节省的时间还多。然而,pyscenedetect引发了我对整个项目最重要的认识之一:识别场景边界和导出剪辑是两个独立的任务。
在此之前,我一直认为“编辑”是我在Adobe Premiere中所做的一切。剪下原始镜头的子剪辑感觉与寻找剪辑边界密不可分,因为这就是Premiere呈现它的方式。当pyscenedetect打印出它的元数据表时,它让我意识到我可以将场景查找与视频导出分离。那是个游戏机。
剪辑如此乏味和耗时的原因是我不得不一直等待Premiere导出每个剪辑。如果我将元数据记录在电子表格中,并编写一个自动导出视频的脚本,编辑过程就会飞快地过去。
更重要的是,电子表格极大地扩展了我捕获的信息类型。最初,我将元数据填充到文件名中,但这是有限且不灵活的。有了一个完整的电子表格,我就可以对剪辑进行更多的分类,比如谁在里面,什么时候录制的,以及当人们观看视频时我想要在视频旁边展示的任何其他数据。
后来,我可以使用这些元数据将信息添加到剪辑中,比如我们都有多大年龄,以及剪辑中发生的事情的详细描述。
有了电子表格,我编写了一个脚本,根据CSV输入将我的原始视频切成较小的剪辑。
在这一点上,我已经花了数百个小时在Premiere中乏味地选择剪辑边界,点击导出,等待几分钟完成,然后重新开始。不仅如此,在后来发现质量问题后,我在同一个片段上重复了几次这个过程。
一旦我实现了剪辑部分的自动化,我的肩膀上就减轻了很大的负担。我不必担心忘记元数据或选择错误的输出格式。如果事后发现错误,我只需调整脚本并重新运行所有内容。
捕捉和编辑这些片段只完成了一半的任务。我仍然需要一种方式,以一种有趣、安全和负担得起的方式与我的家人分享一切。
在这篇文章的第二部分,我描述了我用来与家人分享这些剪辑的开源媒体服务器,每月只需0.77美元。
特别感谢我的家人允许我分享这些剪辑和剧照的精选,感谢他们一开始就记录了一切,并在整个过程中给予了我如此多的支持。