VLC和ALC1220编解码器每隔几秒钟就会出现音频故障


2

VLC正在使用我的带有Realtek ALC1220音频编解码器的新X299系统在17.10中为我产生常规的音频故障(每3秒一次)。毛刺似乎是VLC特有的,并且不会在aplay或mplayer中发生。经过一番挖掘后,看起来VLC的复杂音频计时系统在编解码器返回的信息中看到了时序漂移,并插入了静默进行补偿(您可以在VLC的调试级别1的消息中看到此信息)。

我还没有看到其他有关此问题的文章,并且很好奇是否有其他使用ALC1220编解码器的人看到VLC(或任何其他编解码器)的问题。如果是这样,请告诉我您所看到的内容,以及是否已找到解决方法。


除了所有音频问题外,您还已经构建了x299系统并安装了Ubuntu,这真棒!
acer

ALC1220是音频设备(硬件),而不是软件编解码器。您已确定问题-VLC复杂设置。和解决方法-使用
VLC

华擎X299太极搭配Realtek ALC1220。每3秒钟就有相同的VLC音频故障。
naisanza

Answers:


1

经过一番调查,事实证明问题不在于音频芯片,而是与我的系统RTC时钟有大约4%的漂移有关。VLC看到漂移并插入静音以补偿延迟。

要对此进行测试,请关闭ntp服务器(sudo systemctl stop systemd-timesyncd),然后date将其与一段时间内的准确外部时钟进行比较。在我的系统上,我在5分钟的时间内损失了大约12秒。

要解决此问题:

  • 许多人都想先关闭NTP,但我不确定这是否必需
  • 安装adjtimex: sudo apt install adjtimex
  • 分析漂移: sudo adjtimexconfig
    • 这将自动分析漂移并将调整参数放入 /etc/default/adjtimex
    • 参数将立即加载到系统中,并在引导时重新加载
  • 检查是否进行了更新: adjtimex -p
  • 重做date外部时钟测试。
    • 您现在应该看不到漂移。
  • 如果您关闭了NTP,请重新打开它。

Fix非常适合17.10.1
naisanza

顺便说一句,对我来说,这是由于内核错误与SkylakeX上TSC计时器的校准有关。该错误现已在最新的4.15内核版本中修复。
bivouac0

0

biyouac0谢谢您的回答,这似乎是我的问题。我在5分钟内获得〜40秒的时间。不幸的是,刚接触Linux时(大约1个月),我不了解该修补程序是什么及其完成的工作。您可以花几分钟解释一下吗?这个故障也影响了您的视频,尤其是当屏幕明亮时,我的锯齿线会来回移动。我似乎是刷新率问题,但这次似乎很合适。Linux Mint Mate 19.1预先感谢

HP笔记本电脑(W7B87UA#ABL)64位产品:Intel(R)奔腾(R)CPU N3710 @ 1.60GHz供应商:Intel Corp.物理ID:4总线信息:cpu @ 0

      size: 4GiB

* -pci说明:主机桥产品:Atom / Celeron / Pentium处理器x5-E8000 / J3xxx / N3xxx系列


1
Linux有一个内部实时时钟,它通过计算CPU的某种类型的计时节拍来保持时间。在启动时,它会执行校准步骤以弄清楚每个刻度线有多长时间。不幸的是,它并不总是能够正确地计时,从而导致系统时钟漂移。该adjtimex实用程序提供高水平的校准/补偿,以消除漂移。Linux RTC有点复杂,我无法全部解释,但是您可以在Google上搜索有关它的信息。关于视频,我看不到RTC将如何影响视频。这听起来像一个单独的问题。
bivouac0

仅供参考。Linux依靠CPU的TSC来更新其时钟(请参阅en.wikipedia.org/wiki/Time_Stamp_Counter)。不幸的是,具体细节因CPU而异。对于我的SkylakeX,每秒时钟数在内核中只是被错误地编码了。此后已解决。 adjtimex是一个简单的实用程序,可用于补偿内核未正确校准时引起的漂移。
bivouac0
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.