2003
Случилось мне как-то поучаствовать в разработке и тестировании MoviX (). И хоть знаком я был с этим пакетом давно, но... одно дело - оценивать продукт, а другое - участвовать в его разработке. Уровень критичности возрастает: хочется проверить всё, а не только то, что представляется интересным тебе лично.
Именно поэтому, наверное, в какой-то момент мне захотелось проверить декларируемую MoviX возможность вывода изображения на TV. Стыдно признаться, но, работая и отдыхая в окружении компьютеров уже не первый десяток лет, соединяя их, по долгу службы, со всевозможными устройствами (от индикаторных панелей до автоматизированных цехов), я по сию пору не удосужился подключить к IBM PC обычный телевизор. Ну, не принадлежу я к любителям кинематографа, каюсь. А тут вот - случилась такая оказия. Тем более, что современные видеокарты практически "поголовно" предоставляют возможность вывода на TV, а стоят при этом начиная от 30-ти условных...
Нужно сказать, что сам я уже третий год использую исключительно TFT-мониторы и дома, и на работе, и каждый раз, при столкновении с необходимостью воспользоваться ЭЛТ-монитором, замечаю, что предпочтение моё укрепляется. Однако мимо моего внимания не прошли высказывания о том, что фильмы смотреть всё же лучше по телевизору. Одним словом: пришло время пробовать. О чём и хочу поведать.
Чтобы читателю стало понятным название данной заметки, процитирую анекдот:
Только недавно я понял, что фотографировать, входить в Интернет и звонить по мобильному телефону - элементарно! Всё-таки самое приятное в прогрессе то, что он развивается в сторону нас, идиотов.
К числу таких же "элементарных" вещей принадлежит и подключение телевизора к IBM PC (если видеокарта его поддерживает, разумеется). То есть, я хочу сказать, что ЛЮБАЯ видеокарта с TV-Out выводит изображение на телевизор и для этого ей не требуются никакие драйвера и вообще программное обеспечение, за исключением, разве что, прошитого в BIOS видеокарты и компьютера. Только для того, чтобы пользоваться возможностью, задуманной конструкторами "для всех" (начиная от детей и идиотов), нужно вести себя соответственно. То есть: подключить видеовход телевизора к телевизионному выходу видеокарты и потом включить компьютер. Не получилось? Бывает. А монитор вы тоже подключили? Напрасно. Конструкторы, очевидно, не предполагали, что у вас есть и монитор, и телевизор. При наличии монитора вашу принадлежность к вышеуказанной категории пользователей можно подвергнуть сомнению. Так что: отключите-ка монитор.
Насколько мне известно, не существует видеокарт с TV-Out, которые при наличии подключённого телевизора и отсутствии подключённого монитора не выводили бы изображение на телевизор. Но справедливо и следующее утверждение: существуют видеокарты, которые по включению синхронно выводят изображение и на TV, и на VGA выходы. Это, правда, не всегда хорошо: в этом режиме видеокарта ведёт себя, обычно, несколько иначе, чем при отсутствии монитора. Возможное неприятное следствие: ОС будет перестраиваться каждый раз, когда вы загрузитесь после подключения или отключения телевизора.
На этом этапе вас может подстерегать только одна неприятность: несоответствие телевизионных стандартов телевизора и видеокарты (PAL, SECAM, NTSC - слышали, наверное?). Телевизоры нынче всё больше мультисистемные, но вероятность такой ситуации всё же существует. Выглядит это как нарушение строчной и кадровой развёрток и отсутствие цвета. Карту, как правило, можно перестроить, но делается это уже с помощью какой-нибудь программки, и если в Linux вам не составит труда набрать что-то вроде nvtv -S PAL даже "вслепую", то найти соответствующее окошко/кнопочку под MS Windows может оказаться весьма затруднительным...
Однако, я, кажется, несколько поторопился. Вернёмся к загрузке. Если вы оказались достаточно удачливы и проблема несоответствия стандартов обошла вас стороной, то вы увидите то же, что и всегда при включении компьютера: сообщения BIOS видеокарты и материнской платы, результаты работы POST и, наконец, сообщения начального загрузчика. В простейшем случае, если у вас установлена одна операционная система одного известного производителя, загрузчик (MS- или NTLoader) попытается её запустить. Если же вы знаете (и даже используете) мультизагрузчик, то вам и так понятно, что происходит. Так или иначе, мы подошли к загрузке операционной системы, и здесь вариантов развития событий может быть столько, сколько этих самых систем разместилось на вашем винчестере.
Приверженцев MS-DOS я хочу поздравить и разочаровать одновременно:
Если же вы предполагали работать, используя телевизор вместо монитора, то могу только посочувствовать: большая размытость и меньшая контрастность изображения, так "кстати" скрашивающие изъяны видеоряда, делают работу за телевизором в качестве монитора почти невозможной.
Однако много ли сейчас найдётся приверженцев MS-DOS?... Правильно. Поэтому переходим немедля к MS Windows. Здесь, собственно, рассказывать особенно нечего. Считайте, что вы поставили новую видеокарту с препаршивым, можно сказать, монитором. Напоминаю: пока речь идёт о загрузке без VGA-монитора. Ну, сами знаете: стандартный VGA режим, установка драйвера, пару раз перезагрузиться для пущей важности - и вот они, любимые "окошки". Теперь меняем свойства экрана... Опаньки! Это может расстроить: для многих видеокарт может оказаться, что недоступно не только разрешение 1024х768, но и 800х600. Справедливости ради, нужно отметить, что для воспроизведения видео хватило бы и 640х480 (а для всеми любимых avi-шек с Горбушки и того меньше), но попробуйте управлять при таком разрешении окнами "Свойств экрана", "Проводника" или проигрывателя! Да и просто плохо видно, если речь не о видео, а о вашем "Рабочем столе". Добавим к этому, что при возврате к работе с монитором, нужно будет заново настроить разрешение и частоту кадровой развёртки, привести в порядок расположение иконок на "Рабочем столе" (хорошо, если это занятие принадлежит к вашим любимым).
Н-да. Придётся признать, что из-под MS Windows смотреть видео без монитора можно, но не совсем удобно. А монитор, как необходимое условие управления компьютером, когда вы собрались кино посмотреть, выглядит, как досадное "излишество". Есть ли альтернатива?
Представьте - есть. Только не ждите обычного обсуждения "MS Windows vs Linux": что-то не хочется. Да и нечего тут сравнивать: MS Windows - система "из коробки", придуманная и сделанная для продажи. Linux - только ядро, используемое во множестве систем: от микроконтроллеров до кластеров суперкомпьютеров. Так что представлять Open Source в рамках обсуждаемой темы лучше всего могут только какие-нибудь системы, ориентированные исключительно на использование в качестве мультимедиа-станций. Кроме уже упомянутого итальянского Movix, мне известен французский GeexBox, возможно, есть и другие. Или - будут. Попытаюсь объяснить, почему мне так кажется.
Не потому, что в Linux проще воспользоваться алгоритмами обхода региональной защиты и шифрования DVD. И не потому, что в Linux есть несколько весьма конкурентоспособных медиа-проигрывателей, некоторые из которых работоспособны при самых скромных ресурсах системы. Но потому, что экран телевизора, даже если удаётся заставить его работать с разрешением 1024х768, по качеству отображения алфавитно-цифровой информации приблизительно соответствует экрану терминала (80х25 символов). Можно ли эффективно управлять в таких условиях какой-нибудь другой системой, кроме Linux? Боюсь, что нет.
Всё это достаточно хорошо можно проиллюстрировать на примере всё того же Movix. Именно консольного Movix, а не описанного мной когда-то MoviX2, использующего графическую среду X-Window. И пусть вас не пугает определение "консольный". Всё те же меню и мышь, только без излишних на экране телевизора окон с их обрамлением, заголовками, тулбарами и т.п.
На примере Movix удобно также обсудить сложность использования той или иной системы. Не имеет значения, насколько сложен Movix "изнутри". Я считаю: прост, с точки зрения пользователя MS Windows - сложен, наверное, но факт, что запустить его, в подавляющем большинстве случаев, можно практически без каких-либо подготовительных операций. Вывод на TV, решённый почти исключительно аппаратными средствами видеокарты - одна из демонстраций этого.
На этом рассказ о TV-out можно было бы и закончить, но, на самом деле, оканчивается только рассказ на "детском" уровне. Мне представляется, что в данном случае "детский" уровень вполне соответствует и наиболее рациональному. Судите сами: если вы собрались смотреть кино, то работать в то же самое время, очевидно, не будете? А если вы предполагали смотреть кино на экране телевизора, удобно расположившись в кресле или, скажем, лёжа на диване, то зачем вам в это время монитор? Не правда ли? Однако для полноты картины мы всё-таки коснёмся некоторых аспектов вывода на телевизор при подключённом мониторе.
Итак, как уже было сказано, большинство видеокарт прекращают передачу изображения на TV-выход, если при загрузке обнаруживают подключённый монитор. Не стоит упрекать за это конструкторов: обеспечивать полноценный вывод одновременно на монитор и на телевизор могут далеко не все видеокарты, какой же может быть выход? Только предоставить пользователю управление TV-out, по умолчанию используя в качестве устройства отображения монитор. ...Вот так мы и становимся заложниками драйверов и операционных систем.
Для начала выясним, что же такое есть у видеокарты, снабжённой TV-выходом, "внутри", для чего требуется специальное программное обеспечение. Прежде всего - средства управления. Упомянутый выше стандарт телевизионного сигнала, размеры изображения, так называемое "перекрытие" (превышение размера, предполагаемого видеосигналом над размером реально выводимой "картинки", составляющее для телевизионных приёмников около 10%), смещения вправо-влево и вверх-вниз, не говоря уже об обычных яркости, контрастности и цветонасыщенности. О менее существенных настройках умолчим, но очевидно, что всё это вещи хотя и полезные, но не необходимые (за исключением стандарта, пожалуй).
Гораздо важнее доступ к средствам включения/выключения выводом на TV. Вы ведь не забыли, что при загрузке с подключённым монитором с вероятностью около 90% телевизор выводит идеально чистую картинку успокаивающего голубого цвета и без "вмешательства извне" ничего более интересного не покажет? Тут-то нам без специальной программной поддержки и не обойтись. Поддержка эта может быть в виде драйвера (обычно поставляемого производителем), отдельной программы или и того и другого. В MS Windows или Linux с X-Window для начала хватит драйвера от NVidia или ATI, для консольной реализации Linux - программ nvtv (). Ну, а если интерес ваш на этом не иссякнет, то стоит обзавестись tvtool для MS Windows или собрать ту же nvtv "в графической ипостаси" для X-Window.
Как раз на этом этапе уже можно проверить, насколько "умна" ваша видеокарта: более умные имеют две головы (я не шучу: так это и называется: HEAD) - по штуке на канал видео вывода, поглупее - одну. С одной головой никакой драйвер не заставит вашу видеокарту вывести независимые (и с разными разрешением, частотой и т.п.) изображения. Выглядит это так, что драйвер предлагает вам выбрать ОДНО устройство вывода, иногда любезно предоставляя возможность настроить (и проверить) его характеристики ещё до переключения. Спасибо, конечно, но обидно как-то... Особенно если о карте известно, что она может выводить два независимых изображения. Бывает. Вспомните, что вы теперь в заложниках производителей драйвера и ОС со всеми вытекающими последствиями, как-то: ошибки в новых драйверах, отсутствие нужной локализованной версии и тому подобное. Деваться, однако, некуда: отправляйтесь к ним на сайты и почти наверняка нужный драйвер окажется существующим, просто у вас его почему-то не оказалось.
Положим, "миновала вас чаша сия" и в опциях драйвера замелькали всякие Twinview, Clone и Dual, как бы намекая, что чего-то у вас стало больше. Так и есть: можно включить вывод на TV, как правило, дополнительно его настроив. Под Clone понимается, как вы, возможно, догадались, дублирование на экране телевизора изображения на мониторе (но с другими свойствами - в соответствии с возможностями телевизора и настройками драйвера). Альтернатива: сделать экран телевизора "продолжением" экрана монитора, что позволит в одном окне (на экране телевизора) смотреть кино, а в другом (на экране монитора) в Excel подсчитывать убытки за день, например. Как по мне: сомнительной ценности перспектива, но - интересно.
Поскольку в данном случае и в MS Windows, и в X-Window, как правило, используются драйвера одних и тех же производителей, то разница определяется только подходом: если в MS Windows ваша задача состоит в том, чтобы найти, понять и правильно использовать "менюшки-кнопочки" и другие элементы "интуитивно понятного интерфейса", то в X-Window нужно прочитать прилагаемую документацию и в соответствии с этим отредактировать /etc/XF86Config. "О вкусах не спорят". Более подробно описывать операции настройки драйвера смысла не вижу: они отличаются не только для драйверов разных производителей, но и от версии к версии. "Ищите и обрящете..."
Ещё одно отличие использования TV-out под MS Windows или X-Window состоит в том, что драйвер в данном случае позволяет полнее реализовать возможности видеокарты. Среди этих возможностей 3D-ускорение, абсолютно бесполезное при просмотре видео, и 32-х битный цвет, отличить который от 24-битного true color, обеспечиваемого в Linux-консоли, мне не удаётся. В случае X-Window для вывода видео можно попробовать различные драйвера видеовывода, но и в этом случае мне не удалось наблюдать изображение, сколько-нибудь заметно лучшее, чем обеспечивает тот же Movix, например. Во избежание споров напомню, что имеется в виду изображение на экране телевизора.
Упомянутые выше tvtool, nvtv и atitvout изрядно выходят за пределы рассказа "для маленьких", поэтому на сей раз мы о них умолчим. Таким образом...
Лично мне возня с компьютером сама по себе часто доставляет удовольствие. Многие, из читающих эти строки, наверное, поймут меня. Интерес, однако, - хорошее дело, но не всё, что можно сделать, делать действительно нужно. Нужно ли, например, подключать телевизор к компьютеру? Для себя я определил только один случай, когда это уместно: "мочи нет ни монитор, ни, вообще, рабочее место видеть! Кино хочу. Лёжа." Откуда слабый интерес к клонированию десктопов и сомнения в ценности "многоголовых" видеокарт. Хотя, случаи, конечно, разные бывают.
Определив однажды, что перенос компьютера к телевизору не отнимает у меня и двух минут (напомню, что для Movix, кроме системного блока, достаточно одного устройства ввода: клавиатуры, мыши или дистанционки - на ваше усмотрение), я посмотрел за неделю 4 фильма, что ровно в четыре раза больше, чем за весь предыдущий год.
Дальше - больше. Первый просмотр DVD произвёл впечатление, но стоит ли покупать DVD player? Потом пришла в голову мысль послушать mp3 через музыкальный центр, ввиду его почтенного возраста всяческие mp3-фокусы напрочь игнорирующий. Благо расположен он рядом с телевизором - тоже неплохо получилось. Следующая мысль: а не увеличить ли число компьютеров в доме ещё на один, вменив ему в обязанности "работать", прежде всего, в качестве мультимедиа-центра?
Стоп. Это, кажется, уже лишнее. Около двух сотен стоит так называемый barebone - промышленная, можно сказать, реализация этой же идеи: тот же мультимедиа-PC, но какой красивый... За 70 у.е. можно купить безымянно-китайский PC-dvd-player и он тоже будет проигрывать и DVD, и mp3. Только вот компьютером он никогда не станет... Также, как barebone от MicroStar никогда не станет "вечным конструктором", за которым можно проводить в экспериментах долгие зимние вечера...
Очевидно, и здесь: "на вкус и цвет - товарищей нет". Это хорошо, что есть выбор: каждому - по потребностям. С учётом возможностей, правда.
Приобщим золотушных компьютерщиков в высотам мирового кинематографа! Ура.
Не праздный вопрос: а каковы требования к конфигурации IBM PC, чтобы имело смысл его использовать для просмотра видео? В общем, не такие уж "страшные". Нужно учитывать, что для получения хорошего качества при качественном "первоисточнике" (DVD, например) от компьютера требуется меньше, а максимальный результат на полном экране из mpeg-файла с исходным разрешением 300х120 достижим уже только для достаточно мощного компьютера. Итак:
avi граница "приемлемости" лежит где-то на уровне 700МГц. Дефектов изображения можно даже не заметить, но mplayer честно признается, что для сохранения синхронизации кадры иногда приходилось пропускать. Численная оценка затруднительна: если для декодирования mpeg-4 процессору потребовалось, например 10% мощности, то на масштабирование изображения (если этого не делает аппаратно видеокарта) может потребоваться столько же, а на пост-процессорную обработку, весьма желательную после декодирования - и того больше. Суммарная цифра в 40-50%, как будто, не пугает, но при такой средней загрузке процессора наверняка встретятся фреймы, которые он не успеет обработать. Одним словом: мощность CPU лишней не будет.
Так под какой ОС смотреть видео всё-таки лучше? Если на экране телевизора, то, пожалуй, под Linux. Под Movix или GeexBox, если быть точным. Если результат их автоконфигурации окажется достаточным. Если нет, то плохо знакомому с Linux вряд ли удастся преодолеть отсутствие звука или, тем более, изображения.
В данном случае, к сожалению, нельзя утверждать, что всё, сказанное о Linux, справедливо и для других ОС UNIX-клона. То есть можно, если речь идёт об X-Window, но нельзя, если о консольном режиме: framebuffer, "родной" для Solaris и почти "родной" для Linux, отсутствует или плохо реализован в BSD-системах (говорят).
Не всё "безоблачно" и под MS Windows. Мало того, что "окошки" плохо видно на экране телевизора, так ещё и драйвера, задуманные как предельно дружественные к пользователю, норовят лишить его и так не слишком большой свободы выбора. Перестроившись после загрузки с одним телевизором, драйвер может не только не выводить изображение на монитор при последующем "нормальном" включении, но и не предложить вам возможности перестроиться. Ищите: где-то там должна быть возможность переопределения внешних устройств...
Ещё один плюс названных систем Linux-происхождения - это то, что они, в принципе, сделаны как Live CD. И Movix (20Мб), и GeexBox (менее 5Мб) загружаются с CD, "располагаются" в памяти и к носителю собственному больше не обращаются. Такую систему невозможно ни повредить, ни инфицировать, да и MS Windows на вашем винчестере "целее будет". При этом желающие могут перенести содержимое Live CD на винчестер, а особо любопытные - переделать его на своё усмотрение: все необходимые для этого средства доступны. Для Movix - внутри дистрибутива, для GeexBox - на сайте авторов.
Отдельный совет линуксоидам: создайте вариант загрузки вашей системы с framebuffer 640х480 без автозапуска X-Window. Позаимствуйте у Movix конфигурацию mplayer: OSD-меню, help, шрифты субтитров и тегов mp3 - и вас будет довольно симпатичный мультимедиа-центр с выводом на телевизор, системой помощи, субтитрами и тегами в кодировке cp-1251: ведь именно её они используют, несмотря на безусловную перспективность unicode и "привычность" koi-8.
Невозможно не признать, что мультимедиа-PC на базе barebone-а выглядит более презентабельно, чем обычный для нас tower юго-восточного происхождения. Одно из главных преимуществ такого "красавца" - дистанционное управление. Выясняется, однако, что в этом плане "самоделкиным" есть что предложить: LIRC () - Linux Infrared Remote Control. Замечательная идея: научить ИК-приёмник компьютера принимать сигналы ЛЮБОГО пульта дистанционного управления. Разве не тем компьютер отличается от телевизора или видеомагнитофона, что его-то как раз и можно "научить"? Как следует из названия, родился LIRC в среде линуксоидов, но идея настолько хороша, что уже существует и windows-реализация. Чего не пробовал - хвалить не буду, но Linux-версия работает замечательно.
Ладно, дистанционку взяли, скажем, от видеомагнитофона: не собирались же вы одновременно смотреть и DVD с помощью компьютера, и кассету с помощью видеомагнитофона? Но приёмник-то где взять? По порядку (к уже имеющим в компьютере ИК-порт это не относится):
Программная часть LIRC исключительно "прозрачна". Возможно, вам так не покажется, если до сих пор вы пользовались только прекомпилированными дистрибутивами. Но надо же когда-то начинать? Так вот, в качестве первых "самосборных" модуля и демонов LIRC вполне подходит.
В заключение: несколько слов о многократно упомянутом MoviX. Рекомендую версию 0.8.2, которая вот-вот появится на movix.sf.net. Наконец-то остались в прошлом проблемы с субтитрами и тегами в кириллице. Наконец-то я избавился от орфографических ошибок в русском варианте. Надеюсь. А русская версия iso даже инструкции загрузки будет содержать на "великом и могучем".
Пользователям MS Windows тоже, возможно, интересно будет попробовать: как Live CD, MoviX нуждается только в возможности загрузки с CD ROM. "Лиха беда - начало": почему бы не увидеть Linux-продукт во-первых "в деле", а, во-вторых, без установки на винчестер?
Кстати, возможность переноса MoviX на винчестер существует и под MS Windows. Вот только запуск его в этом случае осуществляется с помощью loadlin.exe, а это, как известно, DOS-приложение. Для Win"9X это не страшно: выход в DOS-prompt известен всем, а вот если ваша ОС - ХР, да ещё и разделы отформатированы в NTFS... Будут трудности.
Раз уж была речь о LIRC, то нужно сказать, что в состав MoviX он включён. Только не нужно рассчитывать, что MoviX сам определит, какая именно у вас дистанционка. На сайте LIRC можно найти конфигурационные файлы для сотен пультов, но вашего может и не оказаться. На мой взгляд, проще создать такие файлы самому, чем искать подходящие в ftp-архиве LIRC. Подробнее - на.