Вопрос или проблема
У меня проблема с VLC, когда я воспроизводю видео высокого качества (720p и выше): когда я пытаюсь найти определенную сцену (например, я воспроизвожу фильм и хочу перейти на 30-ю минуту), звук пропадает. Это не происходит всегда, но происходит довольно часто, и когда я теряю звук, он пропадает только на видео, которое я воспроизвожу. У меня никогда не было этой проблемы в Parole Media Player, поэтому я думаю, что что-то неправильно настроено в VLC. У кого-нибудь есть идеи, что может быть не так и как это исправить?
Обновление: Следуя совету от Skuminder
, я запустил vlc -vvv my_video.mp4
, и вот строки, касающиеся аудио, из полученного вывода:
[0xae7705b0] faad decoder warning: decoded zero sample
[0x8803d40] main playlist debug: reusing audio output
[0x87f9030] pulse audio output debug: using stereo channel map
[0xaad017c8] main spu text debug: looking for text renderer module matching "any": 3 candidates
[0x87f9030] pulse audio output debug: changed buffer metrics: maxlength=4194304, tlength=46080, prebuf=0, minreq=15360
[0x87f9030] pulse audio output debug: connected to sink alsa_output.pci-0000_00_1b.0.analog-stereo
[0x87f9030] main audio output debug: output 'f32l' 48000 Hz Stereo frame=1 samples/8 bytes
[0xaaf06568] main volume debug: looking for audio volume module matching "any": 2 candidates
[0x87f9030] pulse audio output debug: base volume: 65536
[0x87f9030] pulse audio output debug: changing sink 0: alsa_output.pci-0000_00_1b.0.analog-stereo (Built-in Audio Analog Stereo)
[0xaaf06568] main volume debug: using audio volume module "float_mixer"
[0x87f9030] main audio output debug: input 'f32l' 48000 Hz Stereo frame=1 samples/8 bytes
[0xaaf07a58] main audio filter debug: looking for audio filter module matching "scaletempo": 14 candidates
[0xaaf07a58] scaletempo audio filter debug: format: 48000 rate, 2 nch, 4 bps, fl32
[0xaaf07a58] scaletempo audio filter debug: params: 30 stride, 0.200 overlap, 14 search
[0xaaf07a58] scaletempo audio filter debug: 1.000 scale, 1440.000 stride_in, 1440 stride_out, 1152 standing, 288 overlap, 672 search, 2400 queue, fl32 mode
[0xaaf07a58] main audio filter debug: using audio filter module "scaletempo"
[0x87f9030] main audio output debug: conversion: 'f32l'->'f32l' 48000 Hz->48000 Hz Stereo->Stereo
[0x87f9030] main audio output debug: conversion pipeline complete
[0x87f9030] main audio output debug: conversion: 'f32l'->'f32l' 48000 Hz->48000 Hz Stereo->Stereo
[0x87f9030] main audio output debug: conversion pipeline complete
[0xaaf0f228] main audio resampler debug: looking for audio resampler module matching "any": 3 candidates
[0xaaf0f228] main audio resampler debug: using audio resampler module "samplerate"
[0xae7705b0] main decoder debug: End of audio preroll
[0x87f9030] pulse audio output debug: cannot synchronize start
[0x87f9030] pulse audio output debug: deferring start (30851 us)
[0x87f9030] pulse audio output debug: deferring start (9397 us)
[0x87f9030] pulse audio output warning: starting late (-12465 us)
[0x87f9030] pulse audio output debug: started
[0x87f9030] pulse audio output debug: changing sink 0: alsa_output.pci-0000_00_1b.0.analog-stereo (Built-in Audio Analog Stereo)
[0x87f9030] pulse audio output debug: underflow
[0xb24024a0] main input debug: Buffering 0%
[0xb24024a0] main input debug: Buffering 0%
[0xb24024a0] main input debug: Buffering 32%
[0xae7705b0] main decoder debug: End of audio preroll
[0x87f9030] pulse audio output debug: underflow
[0xb24024a0] main input debug: Buffering 66%
[0xb24024a0] main input debug: Buffering 99%
[0xb24024a0] main input debug: Stream buffering done (398 ms in 76 ms)
[0x87f9030] pulse audio output debug: underflow
[0xb24024a0] main input debug: Buffering 0%
[0xb24024a0] main input debug: Buffering 0%
[0xb24024a0] main input debug: Buffering 33%
[0xb24024a0] main input debug: Buffering 66%
[0xb24024a0] main input debug: Buffering 99%
[0xb24024a0] main input debug: Stream buffering done (399 ms in 94 ms)
[0xae7705b0] main decoder debug: End of audio preroll
[0x87f9030] pulse audio output debug: underflow
[0x87f9030] pulse audio output debug: underflow
[0xb24024a0] main input debug: Buffering 0%
[0xb24024a0] main input debug: Buffering 0%
[0xb24024a0] main input debug: Buffering 33%
[0xb24024a0] main input debug: Buffering 66%
[0xb24024a0] main input debug: Buffering 99%
[0xb24024a0] main input debug: Stream buffering done (399 ms in 3 ms)
[0xae7705b0] main decoder debug: End of audio preroll
[0x87f9030] pulse audio output debug: underflow
[0x87f9030] pulse audio output debug: underflow
[0xb24024a0] main input debug: Buffering 0%
[0xb24024a0] main input debug: Buffering 0%
[0xb24024a0] main input debug: Buffering 32%
[0xae7705b0] main decoder debug: End of audio preroll
[0x87f9030] pulse audio output debug: underflow
[0xb24024a0] main input debug: Buffering 66%
[0xb24024a0] main input debug: Buffering 99%
[0xb24024a0] main input debug: Stream buffering done (398 ms in 49 ms)
[0xae71ee18] main decoder debug: End of video preroll
[0xae71ee18] main decoder debug: Received first picture
[0xb24024a0] main input debug: Decoder buffering done in 599 ms
[0x87f9030] pulse audio output debug: underflow[0x87f9030] main audio output debug: inserting 27606 zeroes
[0x87f9030] main audio output warning: playback way too early (-575136): playing silence
[0x87f9030] pulse audio output debug: underflow
[0xb24024a0] main input debug: Buffering 0%
[0xb24024a0] main input debug: Buffering 0%
[0xb24024a0] main input debug: Buffering 32%
[0xae7705b0] main decoder debug: End of audio preroll
[0x87f9030] pulse audio output debug: underflow
[0xb24024a0] main input debug: Buffering 66%
[0xb24024a0] main input debug: Buffering 99%
[0xb24024a0] main input debug: Stream buffering done (398 ms in 78 ms)
Надеюсь, что-то интересное.
Если VLC использует PulseAudio (воспроизведите файл через командную строку vlc --verbose 2 --log-verbose 3 "filename"
), возможно, попробуйте зайти в инструменты/настройки/аудио VLC и использовать другой модуль вывода и устройство. Затем перезапустите VLC, возможно, он покажет ошибку, перезапустите снова. Возможно, найдите ошибочные записи из вывода команды VLC в интернете или попросите добавить это в PA или другой модуль, который использует VLC.
Ответ или решение
Проблема с отсутствием звука в VLC при воспроизведении видеозаписей высокого качества (720p и выше) может иметь несколько причин. Рассмотрим несколько решений и рекомендаций, которые помогут вам устранить эту проблему.
Возможные причины и решения
-
Выбор аудиовыхода:
Возможно, ваш VLC использует неверный аудиовыход. Вы можете изменить настройки аудиовыхода в VLC:- Откройте VLC и перейдите в меню Инструменты -> Настройки.
- Выберите вкладку Аудио.
- В разделе «Вывод» попробуйте изменить режим вывода (например, с PulseAudio на ALSA или Линейный выход).
- После изменения настроек сохраните их и перезапустите VLC.
-
Обновление VLC:
Убедитесь, что у вас установлена последняя версия VLC. Разработчики регулярно выпускают обновления, которые могут содержать исправления ошибок и улучшения производительности. -
Проверка кодеков:
Иногда проблема может заключаться в несовместимых или отсутствующих кодеках. Убедитесь, что на вашем ПК установлены необходимые кодеки для воспроизведения видео высокого качества. -
Изменение буфера:
Поскольку в выводе вы видите сообщения об «underflow» (недостаточность звукового буфера), возможно, вам нужно увеличить размер буфера:- Перейдите в Инструменты -> Настройки -> Показать настройки: выберите Все.
- Найдите раздел Аудио -> Вывод.
- В реальных или специальных настройках буфера вы можете увеличить его размер.
-
Анализ вывода логов:
Вы уже выполнили команду vlc -vvv, и в выводе упоминается о «decoded zero sample», а также о «underflow». Это может указывать на проблему с частотой дискретизации или потери пакетов звука.- Проверьте, соответствует ли частота дискретизации (например, 48000 Гц) настройкам вашего аудиоустройства. Если они отличаются, попробуйте согласовать их.
-
Устранение других источников:
Убедитесь, что нет конфликтов между VLC и другими аудиопрограммами или устройствами. Иногда сторонние приложения могут блокировать или изменять настройки аудиовыхода. -
Изменение формы вывода:
Если вы используете PulseAudio, вы можете попробовать изменить профиль аудиоустройства:- Запустите pavucontrol (если он установлен) и проверьте, используется ли правильный профиль для вашего устройства.
-
Тестирование в безопасном режиме:
Попробуйте запустить VLC в безопасном режиме:- Запустите VLC с помощью vlc –reset-config.
Это сбросит настройки VLC к заводским, что может помочь устранить проблему.
- Запустите VLC с помощью vlc –reset-config.
Заключение
Если ни одно из предложенных решений не помогло, рекомендуется обратиться за поддержкой на форумы VLC или на GitLab для PulseAudio, предоставив им все необходимые данные и логи, чтобы они могли помочь вам более детально. Надеюсь, эти рекомендации помогут вам решить проблему с отсутствием звука в VLC.