Архивы: по дате | по разделам | по авторам

Просмотр DVD фильмов на FreeBSD

АрхивЛинуксоид (архив)
автор : Станислав Лапшанский   29.10.2002

Несколько плееров для просмотра DVD в FreeBSD и немного теории

В сегодняшней статье мы поговорим о проигрывании DVD-дисков. Я продемонстрирую вам четыре плейера, которые так или иначе справляются с этой задачей. Поскольку мои изыскания базируются на информации почерпнутой из соответствующего раздела руководства администратора (см. http://www.freebsd.org/handbook/video-playback.html), то вам, вероятно, тоже не помешает его прочитать.

С проигрыванием DVD на компьютере тесно связаны два понятия, о которых вы должны иметь представление. Во-первых это так называемые коды регионов (зон). (Перед дальнейшим чтением я очень рекомендую ознакомиться с отличной статьей Алексея Шишкова «Как сделать DivX из DVD», см. http://www.computerra.ru/offline/2002/463/20678/, особенно с той ее частью, которая посвящена избавлению вашего DVD-привода от функции региональной защиты – прим. переводчика.) Практически каждый купленный вами DVD-диск, имеет фиксированный региональный код, описывающий ореол легального распространения данного релиза DVD-диска. Код региона можно обнаружить на тыльной стороне коробки из под диска, обычно он находится внизу, рядом с другими значками Dolby Digital, названием студии и рейтингом фильма. Так как фильмы в разных регионах мира выпускаются в разное время, региональные коды используются для предотвращения продажи DVD-дисков до даты официального релиза. Обычно это не является проблемой, кроме случая, когда вы купили DVD во время заграничной поездки и, после возвращения, неожиданно обнаруживаете, что у вас дома диск невозможно использовать.

Поскольку большинство портов предназначенных для проигрывания DVD по умолчанию настроены на первый регион, и вам может потребоваться поменять это значение, для этого я собрал список номеров регионов с расшифровкой их географии в этой (чрезвычайно мрачной – прим. переводчика) таблице:

Код регионаГеографическое расположение
1Канада, США и их территории
2Япония, Европа, Южная Африка, Ближний Восток, Египет
3Юго-восточная Азия, Западная Азия
4Австралия, Новая Зеландия, Океания, Центральная Америка, Мексика, Южная Америка
5Россия, Индия, Пакистан, Африка (кроме Египта), Северная Корея, Монголия
6Китай
7Резерв
8Самолеты, корабли

Вторым немаловажным понятием является CSS (Content Scrambling System – Система шифрования содержимого). Многие DVD (обычно те, которые имеют региональный код) зашифрованы для предотвращения незаконного тиражирования дисков пользователями. Это означает, что для нормального просмотра содержимого диска, аппаратный DVD проигрыватель должен иметь соответствующее программное обеспечение для расшифровки DVD. Тут все становится печальным и мрачным. Поскольку разрешение этой проблемы находится в руках судей, а я не являюсь адвокатом, я оставляю исследование этого вопроса на ваше усмотрение. Будете вы смотреть шифрованные DVD на вашем компьютере или нет, решать вам. Поиск на Google фразы «dvd css», дает много пищи для размышлений. Так или иначе шифруются не все DVD. Когда я прошелся по моей коллекции DVD, я обнаружил, что зашифрованы примерно 75% дисков.

Проигрывание DVD на компьютере до сих пор является занятием для экспериментаторов, поэтому ваши достижения на этом поприще могут сильно зависеть от процессора, марки видеокарты и настроек видеорежима на вашем компьютере. Очень вероятно, что ваши результаты будут отличаться от моих, поэтому отнеситесь к этой статье с зерном сомнения и постарайтесь уделить немного времени собственным экспериментам. Я настоятельно рекомендую вам, что бы и ваша FreeBSD, и ваша коллекция портов, были самыми свежими. Так же пользуйтесь самой последней версией XFree86 и не забудьте оптимизировать систему для проигрывания DVD:

  • переконфигурировать ядро с поддержкой CPU_ENABLE_SSE
  • в файле /boot/loader.conf включена опция dma
  • настроены системные переменные в файле /etc/sysctl.conf
  • на устройство /dev/acd0c назначены права 666

Пошаговые инструкции для реализации такой оптимизации были приведены в статье «Звук во FreeBSD».

Если вы не собираетесь удовлетворяться «умолчальными» параметрами принятыми в DVD плеерах, а заняться их тонкой настройкой, то следующие ссылки будут отличным введением в терминологию DVD и хорошим навигатором в куче устройств ввода-вывода:

Я очень рекомендую почитать сайт MPlayer'а. Ему стоит посвятить вечер.

Теперь, войдите в систему под суперпользователем и создайте следующие символические ссылки:

ln -s /dev/acd0c /dev/dvd
ln -s /dev/racd0c /dev/rdvd

Одним из первых наблюдений, которые я сделал, начав проигрывать DVD диски на моем компьютере, было то, что большинство из моих дисков зашифрованы при помощи CSS. Мне повезло и самый первый DVD, который я попробовал посмотреть, оказался нешифрованным. А вот следующий DVD был зашифрован, что заставило меня поразмышлять о том, что иногда вещи кажущиеся простыми, в одночасье становятся очень сложными. Во время демонстрации возможностей каждого проигрывателя, я расскажу об отличиях между результатами проигрывания обоих дисков.

Вот четыре порта, способные проигрывать DVD диски: vlc, xine, mplayer и ogle. Моими критериями выбора лучшего плеера были:

  1. Отсутствие рывков и пропаданий звука или видео во время проигрывания диска
  2. Работоспособность плеера «из коробки», без утомительного чтения массы документации
  3. Симпатичный внешний вид и поддержка скинов.

vlc

Пожалуй хватит теории, давайте перейдем к практике. Начнем с плеера «vlc»:

cd /usr/ports/graphics/vlc 
make install clean

Исполняемый файл устанавливается в /usr/local/bin/vlc. В настоящий момент «vlc» не умеет пользоваться скинами, однако он имеет вполне пристойный пользовательский интерфейс, который, к тому же очень интуитивен. Просто вставьте в DVD привод DVD диск, нажмите на кнопку «Disk» в окне программы и выберите раздел диска с которого вы собираетесь начать просмотр.

Если во время просмотра DVD вы обнаружите, что на экране видно только две трети фильма, то значит разрешение вашего экрана слишком велико. Нажмите комбинацию «Ctrl+Alt+Серый минус». При помощи этой нехитрой комбинации вы можете постепенно уменьшать разрешение до тех пор, пока не найдете подходящего для просмотра DVD.

Я обнаружил, что при использовании настроек «из коробки», в плеере «vlc» имеет место пропадание звука, а так же отставание его от видео на одну-две секунды. Шифрованные DVD проигрываются еще хуже, так что смотреть их невозможно. В настроечном окошке Settings -> Preferences имеется огромное количество опций, однако всякий раз, когда я проносил указатель мыши над кнопками выбора опций, я получал сообщение, начинающееся словами: «по умолчанию, выбирается самый лучший модуль». Таким образом мне не удалось изменить предложенные по умолчанию настройки. Как выяснилось из vlc FAQ (см. http://www.videolan.org/vlc/doc/FAQ), прерывистый звук во время проигрывания дисков, является известной проблемой, над устранением которой уже ведутся работы. Для себя я решил на некоторое время отложить «vlc», для того что бы через несколько месяцев вернуться к нему, для того что бы посмотреть на изменения, произошедшие за это время.

xine

Следующим я попробовал xine:

cd /usr/ports/graphics/xine
make install clean

Сам по себе xine может проигрывать только нешифрованные DVD. Однако к нему существуют штепсели, которые позволяют так же смотреть и шифрованные DVD:

/usr/ports/graphics/xine_d4d_plugin
/usr/ports/graphics/xine_d5d_plugin

И вот еще штепсель, при помощи которого осуществляется поддержка меню в DVD-фильме:

/usr/ports/graphics/xine_dvdnav_plugin

В процессе тестирования я установил все четыре порта. Xine устанавливается в /usr/X11R6/bin/xine, при этом каждый установленный штепсель отображается в виде кнопки на основном окне xine. Интерфейс xine поддерживает скины, которые можно загрузить с сайта http://xine.sourceforge.net. Если вы нашли интересный скин, то проделайте следующее:

cd ~/.xine
mkdir skins

Затем загрузите скин в каталог ~/.xine/skins. Скины xine, серьезно меня напрягли. Автор каждого скина считал своим долгом изменить местонахождение и название кнопок, а так же поменять настройки. Некоторые скины не были интуитивно понятны. Часто я не знал к чему приведет нажатие той или иной кнопки. Иногда все заканчивалось сообщением «xine engine error», которое невозможно было убрать, кроме как убив процесс xine.

Еще более ужасные ощущения мне пришлось испытать, при попытке проиграть DVD-диски. Иногда, нажатие на кнопку «DVD», а затем на «Play», запускало проигрывание незашифрованного DVD-диска, а иногда только, нажатие кнопки «MLR», а затем «DVD» и «Play». Время от времени бывали ситуации, когда нажав все что только можно я, в результате, получал только зависшую программу.

С кнопкой «NAV», которая появилась после инсталляции штепселя «dvdnav», мне повезло больше. Этот штепсель добавляет новые функции для получения названия DVD и поддержки мыши в DVD-меню. До его установки мне приходилось непродуктивно тратить время на выяснение того, какая кнопка вернет меня из главного меню в фильм.

Проигрывание нешифрованных DVD при помощи xine выявило проблему с точностью до наоборот присутствующую в vlc: звук был удовлетворительным, а вот видео слегка заикалось и шло не всегда синхронно со звуком.

Для проигрывания зашифрованных DVD, я попробовал воспользоваться кнопками D4D и D5D. Если при нажатии кнопки «DVD» я получал сообщение «xine engine error», то вероятнее всего это оказывался шифрованный DVD-диск. Использование кнопки «D4D» приводило исключительно к ошибке защиты памяти. При нажатии кнопки «D5D», несколько минут уходило на расшифровку ключей. Получившееся в результате видео было просто великолепным. Я забыл насколько разрешение компьютерного монитора лучше, по сравнению с телевизионным. Качество звука менялось от чистейшего до заикающегося. С досады я едва не выкинул компьютер из окна! Я думаю, что перед тем, как еще раз попробовать xine, надо слегка подождать, пока доведут до ума его штепсели.

MPlayer

Затем я протестировал MPlayer. Этот порт идет с большим количеством опций, большинство из которых уже включено или автоматически будет включено в зависимости от возможностей вашего компьютера. Несмотря на это, включение некоторых вещей вы должны указать явно:

WITH_GUI                #собирать графический интерфейс
WITH_LIVE               #включает поддержку потокового
			# контента с сайта live.com
WITH_TDFXFB             #включает поддержку чипов Voodoo 3/Banshee

У меня нет видеокарты Voodoo и я не интересуюсь live.com. Но вот поддержку графического интерфейса я включу. Вот так:

cd /usr/ports/graphics/mplayer
make WITH_GUI=yes install clean

Я могу использовать и другой метод указания опций:

make -DWITH_GUI install clean

После окончания установки я покинул аккаунт суперпользователя. После этого зайдя в тот же каталог, уже под своим обычным пользователем, я выполнил команду:

make install_user

Так как я собрал графический интерфейс, для запуска MPlayer, я воспользуюсь файлом /usr/local/bin/gmplayer. Если вы решили обойтись без графики, запускайте /usr/local/bin/mplayer.

Графический интерфейс MPlayer'а поддерживает скины, поэтому я собрал и их:

cd /usr/ports/graphics/mplayer-skins
make install clean

Меня спросили, какие скины я хочу установить. Я выбрал все. При первом запуске MPlayer, я был поражен его интерфейсом. Именно так должен выглядеть DVD проигрыватель. Остальные плееры не идут ни в какое сравненье!

Щелчок правой кнопкой мыши в любом месте плеера давал мне возможность сменить скин, войти в окно настройки программы или открыть DVD диск. Я подумал: «Великолепно, я нашел плеер с отличным и интуитивно понятным интерфейсом». К сожалению мой энтузиазм был недолог.

Я начал с нешифрованного DVD, который начал проигрываться с четким видеоизображением и чистым звуком. По прошествии около 20 секунд, на экран было выдано очень длинное сообщение об ошибке, смысл которого сводился к тому, что у меня слишком медленная машина. Подавив раздражение от столь вопиюще глупого предположения, я послушно остановил DVD, записал предложенные в сообщении об ошибке действия и в соответствии с ними, исправил настройки программы. Внесенные изменения только ухудшили ситуацию: теперь звук и изображение стали заикаться, при этом появлялось тоже самое сообщение об ошибке.

Не испугавшись, я начал методично менять настройки, по одной опции за раз. Максимум чего мне удалось добиться от настроек «no sound», «chopper sound» и «perfect sound», – двух минут нормальной работы. После исчерпания всех возможных вариантов одиночных настроек, я стал их комбинировать. Тут я решил посмотреть документацию. Недостатка в ней не было. Есть подробная страница руководства man mplayer, и еще более длинная /usr/local/share/doc/mplayer/documentation.html. Однако в определенный момент моих исследований мне вдруг стало ясно, что я делаю слишком много работы для обычного проигрывания DVD-диска.

В отчаянном стремлении достигнуть успеха, я попробовал запустить MPlayer без графического интерфейса, надеясь на то, что он просто конфликтует с моей системой:

mplayer -dvd l

Безрезультатно. Единственная разница была в том, что мерзкое сообщение об ошибке тихонько выдавалось в окне xterm, а не всплывало поперек фильма. Так что мне пришлось с грустью проститься с замечательным графическим интерфейсом и поместить MPlayer в мой список вещей, к которым я собираюсь вернуться через некоторое время.

ogle

Наконец я взялся за ogle. По умолчанию ogle использует интерфейс командной строки, однако существует разновидность порта, который компилирует простенький графический интерфейс.

cd /usr/ports/graphics/ogle-gui
make install clean

Программа помещается в /usr/local/bin/ogle. Интерфейс не имеет ничего такого о чем стоило бы написать, он опрятен и интуитивен. Для проигрывания DVD надо пройти в меню File -> Open disk. Ogle автоматически устанавливает поддержку меню, так что вы можете выбрать необходимый пункт после начала фильма.

Я начал с проигрывания нешифрованного диска, и, к моему удивлению, великолепное видео точно совпадало с кристально чистым звуком. Ни пятен, ни заиканий. С трудом веря в свое счастье, я вставил зашифрованный DVD. После нескольких минут, требующихся на расшифровку, я опять получил прекрасное видео и идеальный звук. Это произошло когда я уже почти совсем разочаровался в идее просмотра DVD на компьютере. Ogle удовлетворяет двум первым моим критериям: проигрывание без заиканий «из коробки», без утомительного чтения документации и кучи настроек, лишь при нажатии кнопки «Play». На самом деле я не знаю ошибка это или намеренно введенная функция, но при нажатии в меню ogle Edit -> Properties, ничего не происходит. Недостаток один – программа не поддерживает скины.

Ну вот и все результаты моих исследований проигрывания DVD на FreeBSD. Я помню, что в прошлой статье обещал описать RealPlayer и некоторые другие программы, но описание DVD заняло намного больше места, чем я предполагал и поэтому описание RealPlayer'а и компании переносятся в следующую статью.

© ООО "Компьютерра-Онлайн", 1997-2024
При цитировании и использовании любых материалов ссылка на "Компьютерру" обязательна.