Большой архив статей, книг, документации по программированию, вебдизайну, компьютерной графике, сетям, операционным системам и многому другому
 
<Добавить в Избранное>    <Сделать стартовой>    <Реклама на сайте>    <Контакты>
  Главная Документация Программы Обои   Экспорт RSS E-Books
 
 

   Компьютеры -> Видео -> Смотрим DivX ;-) на экране телевизора


Смотрим DivX ;-) на экране телевизора

На первый взгляд кажется что ничего хитрого тут нет... Подключай свою видео-карту с TV-OUT к телевизору и смотри. На самом деле, речь здесь пойдет немного о другом - о возможности смотреть фильмы, записанные в стандарте MPEG-4 по алгоритму DivX ;-) через видео-выход карты аппаратного MPEG1/2 декодера. Почему именно этот случай рассматривается? Во-первых, у этих карт (например: Hollywood Plus, Creative CT7160 Inlay и др.) прекрасный полноценный TV-OUT. Его можно смело подключать "на горячую" к TV, не боясь за последствия. Этим не могут похвалиться видео-карты с TV-OUT. К примеру, TV-OUT моей ASUS-V3400 накрылся сразу же. У приятеля продолжает работать (на карте V3000), но нет синхронизации и по экрану бегут широкие черные полосы. Кроме того, видео-карты часто сжимают изображение при выводе на TV по вертикали и оно не отображается на весь экран (у MPEG1/2 decoder с этим все в полном порядке). У некоторых карт есть возможность программной коррекции размеров и положения изображения, но это все как-то не очень меня лично вдохновляет... Приятным исключением для меня стала карта Matrox G-400 DH. Своими впечатлениями о ней и ее возможностях по части TV-OUT я поделился на отдельной странице.

Я конечно же, не призываю Вас покупать карту аппаратнного декодера специально для возможности просмотра фильмов DivX ;-) (которая не предназначена для этого изначально). Все, что написано на этой странице будет интересно лишь в том случае, если у Вас уже есть карта декодера и было бы интересно попробовать задействовать ее для осуществления подобной задачи, а именно, просмотра перекодированных фильмов через TV-OUT декодера на экране TV. Ктсати, в этом случае Вы еще и изрядно разгрузите центральный процессор, т.к. преобразования будут проходить на аппаратном уровне в самой карте MPEG1/2 декодера. Здесь будет рассказано лишь о двух способах преобразований. Первый - не очень практичный в применении и не совсем разциональный, но работающий. Второй - более сложный и ресурсоемкий, но позволяющий вплотную приблизиться к возможностям стандарта MPEG-1.

Рассмотрим первый вариант. Итак, в чем же заключается сам принцип? Выглядит это следующим образом - выводится звук в формате *.wav с файла самого фильма, видео перекодируется в стандарт MPEG-1. После этого запускаются на выполнение две разные программы одновременно - одна для видео, т.е. программа-проигрыватель (идущая в комплекте с картой декодера), другая для звука (по умолчанию запускается Windows Media Player). Основная проблема заключается в ручной синхронизации видео и звука, но уверяю Вас, это не так уж и сложно. После некоторой тренировки это вполне реально. Если же удалось добиться синхронизации, то до конца фильма она не нарушается. Правда, если это требование соблюдено на источнике и Вы воспользуетесь именно теми программами, о которых здесь будет сказано. Сам я уже неоднократно испытывал этот способ и могу сказать, что он вполне работоспособен. Исключение на сегодняшний день составляют два фильма "Матрица"(к моему огромному сожалению) и Захват(Niko5). При попытках просмотра на перекодированных фильмов через аппаратный MPEG1/2 drcoder на экране идут лишь перекошенные зеленые полосы (Matrix) или постоянно мигает зеленым цветом веркняя половина изображения(Захват), видимо какая-то прооблема со строчной синхронизацией или фильм как-то хитро записан (наверное подмешан сигнал защиты от копирования), либо я не нашел какой-то хитрой настройки в программе кодера... Пока этот вопрос для меня остается открытым, но я обязательно постараюсь с ним разобраться... Кстати, если Вы знаете в чем дело - сообщите, плиз, мне об этом, буду крайне признателен:).

Иногда встречается еще одна проблема - на продолжительных (2 и более) участках фильма с полной темнотой отключается декодер и пропадает картинка. Проанализировав эти участи фильма в программе "Bitviewer" я заметил, что скорость цифрового потока в ник падает чуть-ли не до нуля. Видимо декодер реагирует на это как на конец файла и отключается. Чтобы избежать этого неприятного момента, можно выбрать в настройках кодера постоянную скорость цифрового потока, либо вырезать из фильма участки, которые дают сбой в работе декодера, но это уже из разряда деструктивного редактирования для начинающих редакторов видео-монтажа:)

Если после всего прочитанного у Вас еще осталось желание эксперементировать, то я продолжу:) Для начала нам потребуется место на харде. Лучше отвести под это дело целый логический диск, объемом до 4Мб. Впринципе может хватить и меньше, но время преобразования может сильно возрасти. Кроме того, записывая файлы в определенной последовательности можно облегчить работу жесткому диску и повысить надежность самого процесса. Не лишним будет разместить файл подкачки на том же диске, отведя для него все свободное место (как установлено по умолчанию), опять же, чтобы не сильно дергать хард. Конечно, все может работать и без подобной оптимизации, но лично я люблю, когда все по-возможности разложено по полочкам:)

Сначала копируем файл фильма на хард, чтобы проверить его читаемость и сократить время дальнейших преобразований т.к. скорость обращения к файлу на харде выше, чем на CD-ROM. Далее, запускаем программу VirtualDub и открываем в ней файл фильма File=>Open. Далее, наша задача выделить звук из общего цифрового потока и вывести его в отдельный *.wav-файл. Для этого следуем опциям Audio=>Direct stream copy, File=>Save WAV и задаем имя и расположение получаемого файла звука, обязательно прописывая через точку расширение *.wav. Название лучше всего оставлять родное (чтобы не запутаться в дальнейшем) и располагать файл на том же диске, который мы выделили для экспериментов. Давим на "Ok" и ждем какое-то время. Полученный файл будет занимать примерно 90-110Мб. На самом же деле звук будет сжатым по тому алгоритму, который был применен для его компрессии при записи в файл на исходном диске и не будет являться полностью совместимым с обычными *.wav, однако в нашем случае этого и не требуется.

Следующий этап - перекодировка видео из *.avi в *.m1v. Почему именно в такой формат - потому, что предлагаемая мною для использования программа LSX-MPEG Encoder позволяет осуществлять кодирование именно в MPEG1/2 и на выходе создает файлы с расширениями *.m1v(MPEG-1 video) или *.m2v(MPEG-2 video). Со звуком эта программа не работает в данном случае, поскольку он компрессирован, программа же понимает лишь кодировку PCM и частоты дискретизации до 44100Hz.

Открываем наш исходный файл в программе. Сразу же она сообщит о том, что в нем присутствует компрессированное аудио и его обработка в дальнейнем не будет осуществлена. Что ж, согласимся с этим, нажав "Ok". Далее, выбираем параметры кодирования и нажимаем старт процесса. На моем P-II/450MHz фильм кодируется от 2.5 до 6 часов,в звисимости от выбраных установок.

После завершения процесса кодирования, выходим из программы и запускаем навигационную программу, идущую в комплекте с картой декодера. Открываем в ней наш *.m1v-файл (выбрав опцию "Открыть все файлы"). Затем в проводнике дважды щелкаем на файле звука *.wav и должен запуститься по умолчанию Windows Media Player. Теперь нам необходимо попытаться синхронно (один за одним) включить на воспроизведение оба файла в двух различных программах. Видео и звук пошли... Главная задача теперь подобрать синхронное воспроизведение, манипулируя кнопками "пауза" и "пуск" в любой из программ. Если к примеру видео опережает, то необходимо кратковременно его приостанавливать на доли секунды и потом снова запускать.

Эта процедура может Вам показаться очень сложной не рациональной и не практичной - полностью с Вами согласен, однако по опыту этот метод вполне работоспособен и после удачной ручной синхронизации видео и звука оба файла так и идут вместе до конца фильма. Кстати, подобрать синхронизацию не так сложно. Как и в каждом деле нужна определенная сноровка:) Отчасти можно ориентироваться на показания часов в обеих программах.

На самом деле я нашел для себя несколько способов преобразования файлов MPEG-4 для просмотра на TV. Выше был описан самый первый, который пришел мне в голову и который я неоднократно испытывал. При всех своих неудобствах он достаточно оперативен и не очень ресурсоемок. Если же Вы хотите получить на выходе стандартный поток в стандарте MPEG-1, включающий в себя также и звук, то могу предложить на Ваше рассмотрение другой способ. Однако, сразу хочу предупредить - он гораздо продолжительнее по времени и более ресурсоемок. Вам потребуется около 6Гб дискового пространства, быстрый процессор и куча свободного времени.

Если интересно - продолжим. Для начала опишу суть всех преобразований. Начну с конца. На выходе необходимо получить стандартный *.mpg-файл, включающий к одном цифровом потоке как видео-, так и аудио-информацию. Здесь Вы можете воспользоваться несколькими программами: Panasonic MPEG1 Encoder, LSX-MPEG Encoder или XingMPEG Encoder 2.20. Можете попробовать любую из них. Главное требование для всех программ - использование несжатого аудио в качестве источника. Лично я остановлюсь здесь на LSX-MPEG Encoder, хотя принцип первоначальных установок во всех программах примерно одинаков. Чтобы не иметь проблем с синхронизацией видео и звука, лучше использовать один файл, в котором они запакованы в один цифровой поток, причем частота дискретизации звука не должна превышать 44100Hz. Выполнить же необходимые требования кодера нам поможет программа VirtualDub, которая подготовит соответствующим образом промежуточный файл, используя исходный файл фильма на диске. Как это осуществить - подробно написано здесь.

Если полученный промежуточный файл загрузить в программу кодер LSX-MPEG Encoder, то выбрав желаемые установки компрессии мы получим на выходе желаемый *.mpg-файл стандарта MPEG-1. Кстати, программа позволяет кодировать и в поток MPEG-2, однако для этого метода компрессии требуются более высокие значения цифрового потока, что повлечет за собой адекватное увеличение объема конечного файла. Не думаю, что в нашем случае это имеет смысл, но попробовать Вам никто не запретит:)

Процесс кодирования в стандарт MPEG-1 в программе LSX-MPEG Encoder

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

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

Источник: www.cheldan.chat.ru

 

 
Интересное в сети
 
10 новых программ
CodeLobster PHP Edition 3.7.2
WinToFlash 0.7.0008
Free Video to Flash Converter 4.7.24
Total Commander v7.55
aTunes 2.0.1
Process Explorer v12.04
Backup42 v3.0
Predator 2.0.1
FastStone Image Viewer 4.1
Process Lasso 3.70.4
FastStone Image Viewer 4.0
Xion Audio Player 1.0.125
Notepad GNU v.2.2.8.7.7
K-Lite Codec Pack 5.3.0 Full


Наши сервисы
Рассылка новостей. Подпишитесь на рассылку сейчас и вы всегда будете в курсе последних событий в мире информационных технологий.
Новостные информеры. Поставьте наши информеры к себе и у вас на сайте появится дополнительный постоянно обновляемый раздел.
Добавление статей. Если вы являетесь автором статьи или обзора на тему ИТ присылайте материал нам, мы с удовольствием опубликуем его у себя на сайте.
Реклама на сайте. Размещая рекламу у нас, вы получите новых посетителей, которые могут стать вашими клиентами.
 
Это интересно
 

Copyright © CompDoc.Ru
При цитировании и перепечатке ссылка на www.compdoc.ru обязательна. Карта сайта.