Аппаратная часть
Для передачи картинки будем использовать интерфес HDMI ( High-Definition Multimedia Interface ). Это цифровой интерфейс, обеспечивающий передачу данных без потерь качества (помехоустойчивый). У современных ЖК панелей наверняка есть разъем под него.
Со стороны компьютера этот интерфейс реализован в виде DVI ( Digital Visual Interface ).
По этому нам потребуется переходник DVI ( вилка ) -> HDMI ( гнездо ). Переходник не делает ни каких преобразований и по этому ни каких искажений в цифровую картинку не внесет.

Я купил такой переходник за 350 р.
Подключаем к цифровому выходу видеокарты.

Аудио выход снимаем со звуковухи. Для этого пришлось купить удлинитель 3.5м (штекер jack - гнездо под jack ) примерно за 100 рублей. И подключить к нему имеющийся в наличии шнур штекер jack - 2 тюльпана.
И подключить все это (HDMI шнур и аудио) во вход HDMI2 на ТВ:

ОС
Далее необходимо настроить 2 монитора. В зависимости от драйверов видеокарты и ОС это будет выглядеть по-разному. У меня (Linux, nvidia) делалось это так:
В nvidia-settings мы видим пока один экран: Screen0, но нажимая Configure - можем выбрать TwinView или Separate X Screens.
Я выбрал последнее (чтобы рабочий стол не растягивать на телевизор).

После чего мы увидим уже 2 Screen-а, среди которых будет и телевизор. Смотрим его родное разрешение (Native Resolution).

Потом настраиваем ТВ, выставляя ему это разрешение и сохраняем файл "Save to X Configuration File".

У меня nvidia-settings сгенерировала такой файл: xorg.conf
Теперь просматривать видео на втором экране можно так:
DISPLAY=:0.1 mplayer -fs video.avi
При этом он сразу запустится на ТВ и не будет мешать нам.
Все. Видео можно смотреть. За исключением одного НО!
У меня слабый компьютер!
Слабый компьютер
AMD Athlon XP 2600 (32bit, 1GHz), Nvidia 5700, 1GB RAM
Видео зажатое кодеком h264 - показывает слайд-шоу (не зависимо от разрешения, хоть 1920:1080, хоть 1280:720)
По этому было принято решение - пережимать видео.
Логичнее всего пережать его в разрешение родное для ТВ (у меня это 1360:768), и желательно с минимальными потерями качества.
Перебрав наверное больше десятка кодеков с различными параметрами и уже было отчаявшись - я к с своему удивлению нашел-таки кодек без потери качества HDTV и работающий на слабом компьютере!
Это ffvhuff, входящий в библиотеку libavcodec - FFmpeg с алгоритмом Хаффмана (HuffYUV c использованием YV12).
Т.е. перекодировать фильм можно без потери качества и при этом играющий на слабом компьютере можно командой:
mencoder -ovc lavc -lavcopts vcodec=ffvhuff -oac copy in.avi out.avi
Единственный минус этого кодека - размер. Выходной файл получается порядка 1Гб/мин. Т.е. полуторачасовой фильм у вас разожмется почти на 100Гб. Но если фильм хороший - это того стоит!
К тому же место сейчас не такое дорогое, как апгрейд железа.
Если по месту у вас тоже ограничения - лучшем выбором станет кодек mjpeg. Он показал лучшее соотношение размер/качество.
Особенно меня порадовало качество картинки на динамичных сценах и быстрых сменах планов - ни каких квадратиков.
Пережать кодеком mjpeg можно командой:
mencoder -ovc lavc -lavcopts vcodec=mjpeg:vqscale=2:mbd=2 -oac copy in.avi out.avi
Так же я пережимал аудио из AC3 в mp3 (чтобы снизить нагрузку на CPU во время проигрывания). Все мои изыскания по кодекам можно найти в файле тут: encode-hdtv.sh
Это "самодокументированный" скрипт для пережатия видео под слабый PC.
Подробнее на форуме БЛУГ тут.
Приятного просмотра.

1 коммент.:
Hi... Looking ways to market your blog? try this: http://bit.ly/instantvisitors
Отправить комментарий