2007-05-24

dastapov: (Default)
2007-05-24 05:32 pm
Entry tags:

Что делать, если libdvdread отказывается ломать CSS-ключи для просмотра DVD?

Вчера мне пришлось столкнуться с глупой проблемой, решение которой оказалось достаточно нетривиальным. Судя по поиску в google, проблема достаточно широко распространена, а вот информация о решении - нет. Поэтому, поделюсь-ка я с широкой общественность решением.

Итак, проблема:
Дано: компьютер с linux-ом, libdvdread с включенной поддержкой DeCSS, мешок видеопроигрывателей (mplayer, xine, totem, vlc, ogle), DVD с фильмом "Пираты Карибского Моря".

Проблема: при попытке проиграть DVD получаем либо "Sector read error", либо сообщения о том, что "libdvdread: Error cracking CSS key". Правда, какие-то ключи все-таки ломаются, он сильно это не помогает - фильм все равно не показывается ни одним из проигрывателей (вместо видео - мусор, вместо аудио - шум). На соседнем компьютере с теми же версиями софта - все проигрывается.

Решение:

Оказывается, libdvdread не умеет ломать CSS-ключи на некоторых новых DVD-приводах, если у этих самых приводов не выставлен "DVD region". Я про ту самую настройку, которая в теории должна ограничивать возможность просмотра DVD, произведеных в "далеких странах" и которую можно поменять всего два-три раза, после чего привод отказывается работать (или как-то так). На практике все на эту настройку забивают, чтобы пользователь не выкинул шибко умное железо на мусорник.

Да, так вот. Если у моего привода вообще не устанавливать этот "регион", то ключи ломаться не будут. А если поставить програмку "regionset" (apt-get install regionset) и с ее помощью установить любое значение "DVD region", то все начинает работать.

Правда, не сразу - сначала надо удалить из ~/.dvdcss те ключи, которые libdvdread якобы сломал до установки "DVD region". После этого ключи будут вычислены по-новой и все заработает.

Have fun.