电子设计24376播放电视屏幕

一种咒语,以排除音视频同步问题

2018年10月29日,
在筛选千兆字节的压缩数据时,一个失业的软件开发人员会发现一个不好的值。

获取故障排除文章的完整概要。现在下载PDF格式

早在20世纪初,我就是个DVR迷。我的TiVO和ReplayTV收藏还有我在《纽约时报》的一篇关于DVR用户的文章中被提到过。

2003年ReplayTV 5000系列DVR发布。除了早期型号的自动商业跳跃功能外,这种新型号还可以将节目发送到另一个房间或世界上任何地方的ReplayTV上。

尽管新产品的销量有所增加,2003年对该公司来说仍是糟糕的一年。TiVO是最大的DVR品牌,广播公司就商业跳过和节目共享功能提起诉讼。不久,诉讼费用就超过了申请破产保护的母公司SONICBlue。

虽然该品牌被DNNA品牌下的Denon & Marantz Holdings收购,但ReplayTV仍在苦苦挣扎。

在ReplayTV 5000的第一年,用户报告说一些录音失去了音频同步。视频会暂时冻结,恢复后的音频会慢几秒钟。我也会遇到同样的问题,这只是时间问题。

在与技术支持交谈后,我了解到已经没有开发人员来解决这个问题了。我是一个失业的软件开发人员,要照顾两个年幼的孩子。我在音频和视频压缩方面有空闲时间和经验,所以我决定看看我是否能找到原因并修复它。

ReplayTV的录音格式是黑客发现磁盘分区表和文件系统后才知道的。开发人员创建了访问这些文件的工具,这些应用程序在www.avsforum.com等网站上共享。

这意味着,通过将DVR驱动器连接到计算机上,技术用户就可以使用命令行工具提取录音。

DVArchive是一个Java应用程序,它巧妙地模仿了ReplayTV网络协议。一台运行DVArchive的电脑看起来就像一台DVR,而ReplayTV则允许两者共享节目。

录制的节目是一个大型MPEG2文件。我认为这个问题可能是由硬件问题引起的,比如坏磁盘或MPEG编码器/解码器问题;一个软件缺陷;或者是错误的数据流。

MPEG视频被设计成在数据丢失时优雅地播放和完全恢复。因为回放无法恢复,所以不像是解码错误。这可以简单到一个坏键位、字节或以gb为单位的数据值。从哪里开始呢?

我的聪明之处是让录音质量不好的用户把他们的录音发给我的dvr。在将文件移动到带有DVArchive的PC上后,我有15+GB的文件需要检查!

MPEG文件是音频、视频和专有系统数据的交错流。我把每段录音压缩到故障发生前后的几秒钟,希望问题就在附近。我只能希望是这样,因为这些剪辑好的视频在我的DVD播放器和Cyberlink的PowerDVD上播放得很好。

我编写了一个程序来解析MPEG流,这样我就可以检查所有的数据包。经过几周的工作,我几乎没有取得任何进展,解码的数据看起来很好。

因为这些记录是在一个封闭的系统中生成的,所以我忽略了除数据类型和大小字段外的大部分数据帧头。我忽略了嵌入在每个数据帧中的解码时间戳(DTS)和演示时间戳(PTS),它们告诉解码器何时解码和演示数据。我发现这些值可能会被MPEG解码器(包括上面提到的那些)忽略,而MPEG解码器可以正确地播放这些片段。

我的想法用尽了,我决定检查时间戳,尽管我完全不知道什么是“坏”值。因为编码和播放速率是一致的,所以我决定检查连续数据块中PTS和DTS值之间的偏移量。

我非常幸运,在显示的数千个值中,有一个负PTS偏移脱颖而出。这可能是原因吗?

我确认了在之前的PTS之前设置了一个坏PTS。在所有共享记录中都发现了向后跳转。因为PTS是从之前的PTS派生而来的,所以任何错误都会一直传播到最后。

解决方法很简单;我需要重新计算坏音频PTS,然后更新剩余的时间。我在avsforum.com上与用户分享了我的流修正工具。用户开始用我的工具修复他们的录音。

这个故障排除的恶作剧花了我很多时间,但它被证明是非常值得的努力,因为我喜欢帮助ReplayTV社区!

我与ReplayTV分享了我的发现,但不幸的是,他们从未解决他们的问题。

Jeff Davies是一名消费电子硬件和软件设计师和开发者,目前致力于智能照明产品。他喜欢把东西拆了再重建,让它们比新东西表现得更好。

注:这篇文章是提交给电子设计2018年万圣节“Double, Double辛劳和疑难解答”竞赛。

从我们的合作伙伴

协同处理器体系结构:一种用于快速成型的嵌入式系统体系结构

2021年7月6日
编者注:尽管它以数字处理性能和吞吐量而闻名,但协处理器体系结构提供了嵌入式系统…

如何使用ESP32微控制器及其ESP-IDF进行OTA升级

2021年8月10日,
物联网(IoT)产品的设计者需要不断地评估平台和组件的选择,以降低成本和提高产品质量。

欢迎来到边缘

随着嵌入式网络设备成本的下降——以树莓派为例——它们变得无处不在。但是,这一激增的隐藏成本……

336 w无Auxless AC/DC电源参考设计,80 Plus白金兼容性能

一个完全组装的板已开发用于测试和性能验证,并没有出售。设计文件。下载准备……

声音你的意见!

本网站要求您注册或登录后发表评论。
目前还没有任何评论。想开始对话吗?
Baidu