
VLC може запускатися до 33 секунд під час відтворення MP3 на деяких ПК з Windows. Розробники відкритого медіаплеєра VideoLAN стверджують, що причиною є помилка Microsoft Defender.
Джонатан Блоу, дизайнер ігор та програміст, відомий за Braid і The Witness, заявив, що врешті-решт перейшов з VLC на Media Player від Microsoft, оскільки перший став надзвичайно повільним. Він також зазначив, що «значний сектор програмного забезпечення з відкритим кодом зараз перебуває у справді ганебному становищі».

VideoLAN не змогла проігнорувати цю критику та звинуватила Microsoft, заявивши, що оновлення Windows 11 Defender втручається в кеш плагінів VLC. Однак, перевіривши звіти про помилки VLC, ми виявили, що декілька користувачів Windows 10 і Windows 11 описують схожу проблему із запуском.

VLC стверджує, що Microsoft Defender спричиняє 33-секундну затримку
Варто зазначити, що критика стосується MP3-файлів, а не відео, з якими VLC зазвичай асоціюється. Я вже давно віддав перевагу стрімінговим сервісам, як-от Spotify, і не мав досвіду таких затримок, хоча користуюся VLC майже щодня.
Але для тих, хто використовує VLC для прослуховування музики та стикається з 33-секундною затримкою, причиною називають кеш плагінів VLC.
Але навіщо VLC взагалі потрібен кеш плагінів?
Це було наступне запитання Блоу до VLC, і воно зацікавило і мене: навіщо медіаплеєру кеш лише для відтворення одного MP3?

Виявилося, що VLC побудований майже повністю з плагінів. Кодеки, демультиплексори, модулі введення та виведення завантажуються за потреби, а не вбудовані в один бінарний файл. Усі вони перелічені у файлі plugins.dat.
Кеш існує для того, щоб не сканувати всю папку з плагінами щоразу при відкритті медіафайлу. Це логічна конструкція, але вона стає єдиною точкою відмови, коли щось (Defender чи інше) втручається між VLC та цим файлом.
VLC також містить vlc-cache-gen.exe, який може відновити кеш. Відповідно до заяви організації, це або перевстановлення VLC має вирішити проблему.

Проте, я дослідив публічний трекер помилок VLC, а не просто довіряв словам однієї зі сторін, і виявив, що картина значно менш однозначна.
Звіт про помилку VLC показує, що це не лише проблема Windows 11
Повільний запуск VLC на Windows — це не новина. Обговорення на форумах щодо цієї проблеми датуються більше ніж роком. Один користувач Windows 10 описував 24-секундну затримку, яка зникала одразу після першого запуску VLC, але поверталася після тривалого простою комп’ютера.
У трекері VLC один користувач повідомив, що заміна плагіна Qt нічого не виправила, але відновлення plugins.dat допомогло. Інший користувач Windows 11, який використовує Ryzen 9 9800X3D та 32 ГБ DDR5 (комп’ютер, який навряд чи мав би проблеми з відкриттям MP3), зазначив, що оновлення кешу також вирішило проблему. Кілька людей підтвердили такий самий обхідний шлях на своїх машинах.
Однак, автор оригінальної помилки заперечив щодо відновлення кешу. Він сказав, що plugins.dat вже існував на обох його уражених машинах, і коли він замінив його на робочий файл кешу, затримка запуску зникла. Це суттєво відмінний режим збою від відсутнього кешу, тому розробники VLC знову відкрили проблему та продовжили досліджувати взаємодію кешу та Windows Defender.

Один із розробників VLC врешті-решт дійшов того ж висновку, що й у твіті VideoLAN: сповільнення, схоже, спричинене Windows Defender, незалежно від стану кешу плагінів. Інший розробник раніше позначив усе як «виправлене», оскільки відновлення кешу здавалося вирішенням проблеми для нього. Обидва були праві, але для різних користувачів. Деякі користувачі виявили, що виключення всієї папки VLC з Defender працювало, тоді як виключення лише vlc.exe — ні. Це свідчить про те, що Defender справді залучений, навіть якщо механізм ще не з’ясований.
Отже, ні, це не вигаданий привід. Але це також не той, який розлетівся соціальними мережами, стверджуючи, що Microsoft зламала відкритий код.
Як виправити VLC, коли він довго запускається на Windows
Якщо VLC раптом починає відкриватися 10, 20 або 30 секунд, спробуйте ці кроки перед тим, як вимкнути Microsoft Defender:
- Відновіть кеш плагінів VLC за допомогою vlc-cache-gen.exe з папки встановлення VLC, вказавши каталог плагінів.
- Перевстановіть VLC за допомогою офіційного інсталятора, щоб кеш плагінів був згенерований знову.
Декілька користувачів повідомили, що відновлення кешу вирішує проблему, тоді як інші виявили, що виключення папки VLC з захисту відновило миттєвий запуск. Результати не однакові для всіх, що є ще однією причиною не вважати один обхідний шлях універсальним.
Називати відкритий код ганебним — занадто легко
Блоу не помиляється, коли каже, що чекати пів хвилини, щоб відтворити MP3 на сучасному ПК, — це абсурд. Там, де він помиляється, — це коли одна помилка стає вироком для всього програмного забезпечення з відкритим кодом. VLC має реальну проблему з кешем, над якою його розробники ще працюють, і VideoLAN також має реальні докази, що звинувачують Defender.

Однак, є певна іронія і в тому, на що перейшов Блоу. Windows Latest вже розглядав Media Player від Microsoft і виявив, що це повільніший і «важчий» варіант, який помітно довше відкриває відео, ніж VLC, споживає близько 377 МБ оперативної пам’яті в режимі простою та все ще має проблеми з такими форматами, як HEVC, які VLC відкриває без вагань.

У будь-якому випадку, VLC мусить працювати з тим, що йому підкидає Windows, особливо враховуючи, що це не єдиний хороший медіаплеєр на ринку.
Якщо вам потрібен швидший плеєр з відкритим кодом, спробуйте mpv
Ми не радили б усім відмовлятися від VLC через цю помилку, особливо коли я особисто досі ним користуюсь. Але якщо ви вже шукаєте щось легше, mpv варто спробувати.

mpv — це безкоштовний медіаплеєр з відкритим кодом, який має навмисно мінімалістичний інтерфейс і зосереджений на продуктивності та гнучкості. Він менш дружній до новачків, ніж VLC, і до його інтерфейсу може знадобитися певний час, щоб звикнути, але ця простота також є частиною його привабливості.
Для більшості людей VLC є простішою рекомендацією, оскільки він надає знайомий інтерфейс і майже всі опції відтворення в одному місці. Але після 33-секундного очікування для відтворення MP3, ніхто не може звинувачувати користувача Windows у спробі знайти щось інше.
