Добавление поддержки MPEG‑2 и VC‑1 на Raspberry Pi

Быстрые ссылки
Почему это нужно
Что потребуется
Покупка лицензий
Установка лицензий
Тестирование и устранение неполадок
Почему это нужно
Raspberry Pi проектировался как недорогой образовательный компьютер. Чтобы удержать цену низкой, Raspberry Pi Foundation не приобрела глобальную (blanket) лицензию на воспроизведение всех проприетарных видеокодеков, в том числе MPEG‑2 и VC‑1. Это не значит, что аппаратная часть не способна декодировать эти форматы — просто по умолчанию аппаратное ускорение для MPEG‑2 и VC‑1 отключено из‑за отсутствия лицензии.
Фонд исправил ситуацию: лицензии можно купить как раз для конкретной платы Raspberry Pi по её уникальному серийному номеру. Стоимость лицензий небольшая; после активации декодеры начинают работать аппаратно, что даёт плавное воспроизведение DVD, старых AVI и некоторых WMV‑файлов.
Кому это нужно:
- Вы используете Raspberry Pi как медиаплеер и хотите смотреть DVD (с физического привода или ISO).
- У вас есть коллекция AVI‑файлов — большинство из них фактически используют MPEG‑2 внутри контейнера AVI.
- Вы воспроизводите контент, захваченный в Windows Media Center или в формате WMV/VC‑1.
Как понять, нужен ли вам кодек:
- Попробуйте открыть проблемный файл в медиаплеере на Raspberry Pi: если слышно звук, а экрана с видео нет, вероятно, это MPEG‑2/VC‑1 без аппаратного декодера.
- Для точной проверки используйте MediaInfo — он покажет, каким кодеком закодировано видео.
Важно: если файл воспроизводится нормально, никаких действий не требуется.
Что потребуется

Перед началом убедитесь, что у вас есть:
- Raspberry Pi с установленной ОС (Raspbmc, OSMC, Raspberry Pi OS и т.д.).
- Доступ к командной строке (локально на устройстве или через SSH).
- Купленные лицензии: MPEG‑2 (примерная стоимость несколько долларов) и/или VC‑1 (обычно дешевле). Лицензии покупаются на официальном сайте Raspberry Pi Foundation.
Методы установки, которые мы покажем:
- Ручная правка config.txt на SD‑карте (работает с любой сборкой).
- Ввод кода лицензии через графический интерфейс Raspbmc (если вы используете Raspbmc).
Получение серийного номера и покупка лицензии

Лицензия привязывается к конкретной плате по её серийному номеру. Серийный номер хранится в аппаратном реестре и выводится через командную строку.
Как получить серийный номер:
- Откройте терминал на Raspberry Pi или подключитесь по SSH (например, PuTTY) к его IP‑адресу.
- Войдите под своей учётной записью. По умолчанию для Raspbmc это pi / raspberry.
- Выполните команду:
cat /proc/cpuinfo- Найдите строку Serial и скопируйте 16‑значный код.
Повторите для каждой платы Raspberry Pi, для которой вы хотите купить лицензию.
Покупка лицензии:
- Перейдите на страницу покупки лицензии MPEG‑2 и/или VC‑1 на сайте Raspberry Pi Foundation.
- Введите серийный номер в соответствующее поле и добавьте товар в корзину.
- Если у вас несколько плат, оформляйте покупку отдельно для каждого серийного номера.
После оплаты вы получите по электронной почте код(ы) формата:
decode_MPG2=0000000000
decode_WVC1=0000000000Где 0000000000 — ваш уникальный 10‑значный буквенно‑цифровой код для каждой лицензии.
Примечание: фонд указывает, что доставка по e‑mail может занять до 72 часов; иногда коды приходят быстрее.
Установка лицензий
Существует два основных подхода: вручную через редактирование config.txt и через встроенные инструменты Raspbmc.
Ручная установка (универсальная)
Этот метод применим ко всем дистрибутивам и полезен, если вы не используете Raspbmc или предпочитаете работать с SD‑картой напрямую.
- Выключите Raspberry Pi и извлеките SD‑карту.
- Вставьте SD‑карту в компьютер. Откройте раздел FAT (обычно виден первым) — там должен находиться файл config.txt. Если файла нет, можно создать новый.
- Перед изменением сделайте резервную копию: скопируйте config.txt в файл config.old.
- Откройте config.txt в текстовом редакторе (например, Notepad++ на Windows, TextEdit на macOS в режиме plain text или любой Linux‑редактор).
- Вставьте строки лицензий из письма. Пример:
decode_MPG2=ABCDEFGHIJ
decode_WVC1=KLMNOPQRSTЕсли у вас только одна лицензия, вставьте только соответствующую строку.
- Сохраните файл и безопасно извлеките SD‑карту.
- Вставьте SD‑карту в Raspberry Pi и загрузитесь.
Внимание: не меняйте другие строки в config.txt, если не уверены в их назначении; при необходимости сохраните резервную копию.
Установка через Raspbmc (GUI)
Если вы используете Raspbmc, настройка ещё проще:
- В интерфейсе Raspbmc перейдите в Programs –> Raspbmc Settings.
- Откройте вкладку System Configuration и найдите Advanced System Settings.
- Нажмите на MPEG2 и/или VC1 и введите только 10‑значный код, который идёт после “decode_MPG2=” или “decode_WVC1=” в письме. Не вводите префикс decode_MPG2= или decode_WVC1=, только сам код.
- Подтвердите и перезагрузите устройство через меню питания.

Проверка и тестирование
Чтобы убедиться, что кодеки успешно активированы, вы можете:
- Открыть медиафайл, который ранее не воспроизводился (например, DVD ISO или AVI с MPEG‑2).
- Проверить статус кодека из командной строки:
vcgencmd codec_enabled MPG2
vcgencmd codec_enabled WVC1Ожидаемый ответ — строка, подтверждающая, что кодек enabled (включён). Пример вывода для MPG2 показан ниже.

Если вы видите, что кодек включён и видео воспроизводится — всё настроено правильно.
Типичные проблемы и их решения
1) Кодек не активируется после ввода кода
- Убедитесь, что вы ввели только 10‑значный код (после знака =), а не всю строку decode_MPG2=…
- Проверьте, что серийный номер платы совпадает с тем, который вы указали при покупке.
- Если вы редактировали config.txt на компьютере, убедитесь, что файл находится в корне FAT‑раздела и не в другом каталоге.
2) Видео всё ещё не воспроизводится, звук есть, но видео чёрный
- Возможно, файл использует другой, неподдерживаемый кодек. Уточните через MediaInfo.
- Убедитесь, что медиаплеер использует аппаратное ускорение (в некоторых сборках можно отключить HW acceleration).
3) Получен ответ “disabled” на vcgencmd
- Проверьте правильность записи в config.txt и отсутствие опечаток.
- Перезагрузите устройство полностью после внесения изменений.
4) Лицензия привязана не к тому устройству
- Лицензии привязываются к серийному номеру платы; если вы указали другой номер при покупке, код работать не будет. Обратитесь в поддержку Raspberry Pi Foundation.
Альтернативы и когда это не работает
- Программный (software) декодер: некоторые медиаплееры могут декодировать MPEG‑2/VC‑1 полностью программно, но на старых моделях Raspberry Pi это приведёт к высокой загрузке CPU и дрожащему/пропускающему видео.
- Перекодирование: если у вас большая библиотека, можно перекодировать видео в современный формат (например, H.264/HEVC) на ПК, чтобы не зависеть от лицензий; однако это потребует времени и места.
- Использование внешнего медиаплеера или приставки с поддержкой нужных кодеков.
Контрпример: если ваше видео уже закодировано в H.264 или VP9, покупка MPEG‑2/VC‑1 ничего не даст — эти лицензии не влияют на другие кодеки.
Методология — краткий чеклист действий
- Узнать, действительно ли видео требует MPEG‑2/VC‑1 (через MediaInfo или по симптомам).
- Получить серийный номер платы (cat /proc/cpuinfo).
- Купить соответствующие коды у Raspberry Pi Foundation.
- Установить код: вручную в config.txt или через Raspbmc GUI.
- Перезагрузить и проверить через vcgencmd и воспроизведение.
Роль‑ориентированные чеклисты
Для новичка:
- Убедиться, что SD‑карта и ОС работают.
- Подключить Raspberry Pi к сети и монитору.
- Получить серийный номер и заказать код.
- Использовать Raspbmc GUI (если установлен) для ввода кода.
Для администратора/энтузиаста:
- Собрать серийные номера всех плат, централизованно оформить покупки.
- Автоматизировать проверку через SSH и скрипт, который вызывает vcgencmd.
- Сделать резервную копию config.txt перед изменениями.
Критерии приёмки
- Воспроизведение проблемного видео без пропусков и с синхронизированным звуком.
- Команды vcgencmd возвращают enabled для соответствующего кодека.
- Нет негативного влияния на загрузку системы при воспроизведении (CPU в пределах ожидаемого для аппаратного декодирования).
Быстрый справочник (cheat sheet)
- Получить серийный номер: cat /proc/cpuinfo — копировать значение Serial.
- Формат кода в письме: decode_MPG2=XXXXXXXXXX или decode_WVC1=YYYYYYYYYY.
- В config.txt вставлять только XXXXXXXXXX или YYYYYYYYYY.
- Проверка кодека: vcgencmd codec_enabled MPG2 и vcgencmd codec_enabled WVC1.
Матрица рисков и смягчение
- Неверный серийный номер при покупке: риск — лицензия не сработает; смягчение — сверить серийный номер перед оплатой.
- Потеря доступа к SD‑карте при редактировании: риск — некорректный загрузочный файл; смягчение — создать config.old и сохранить резервную копию.
- Ошибки ввода в GUI: риск — неверный код; смягчение — копировать/вставлять код напрямую из письма.
Безопасность и конфиденциальность
- Лицензионные коды — чувствительные данные. Храните письма с кодами в защищённом почтовом ящике и не выкладывайте коды публично.
- Серийный номер платы сам по себе не даёт доступа к устройству, но используется для привязки лицензии.
Часто задаваемые вопросы
Как узнать, нужен ли мне MPEG‑2 или VC‑1?
Проверьте кодек файла через MediaInfo или попробуйте воспроизвести: если есть звук, но чёрный экран — скорее всего нужна лицензия.
Могу ли я использовать один кодек на нескольких Raspberry Pi?
Нет. Лицензии привязаны к серийному номеру конкретной платы, покупайте отдельно для каждой.
Что делать, если письмо с кодом не пришло?
Подождите до 72 часов и проверьте папку спама. Если письма нет — обратитесь в поддержку Raspberry Pi Foundation.
Можно ли зарегистрировать код вручную при загрузке через сеть?
Да, вместо редактирования SD‑карты можно использовать SSH и редактировать /boot/config.txt прямо на устройстве: например, sudo nano /boot/config.txt.
Пример сценариев тестирования (acceptance)
- Тест 1: Воспроизведение DVD ISO — ожидание: видео и звук воспроизводятся плавно.
- Тест 2: vcgencmd codec_enabled MPG2 — ожидание: вывод указывает, что MPG2 enabled.
- Тест 3: После удаления строки decode_MPG2 устройство не воспроизводит MPEG‑2 аппаратно — ожидание: видео либо программно тормозит, либо не воспроизводится.
Короткий вывод
Для просмотра старых DVD, AVI и WMV на Raspberry Pi покупка и установка лицензий MPEG‑2 и VC‑1 — простое и недорогое решение. Процесс включает получение серийного номера, покупку кода на сайте фонда и его ввод в config.txt или в Raspbmc. После установки проверьте работу командой vcgencmd и воспроизведением тестового файла.
Если у вас есть предложения по материалам о Raspberry Pi, напишите в комментариях или отправьте письмо на tips@howtogeek.com.
Похожие материалы
ReadyBoost в Windows 7: включение, отключение и советы
Как исправить ошибку Hulu P-DEV310 на Windows
Как выйти из BIOS, если компьютер застрял
Исправить экран блокировки Windows на другом языке
Экстренные контакты и функции iPhone