Решение проблем с кодеками.




Итак, нужные кодеки установлены, практически все видеофайлы воспроизводятся нормально, но есть еще несколько фильмов, которые посмотреть не удается. Эта часть статьи посвящена решению оставшихся проблем.

Если файл отказывается воспроизводиться, необходимо выяснить, какого именно системного компонента не хватает для нормальной работы. В первую очередь – определить тип контейнера у данного файла и убедиться, установлен ли в системе соответствующий сплиттер. Если да, то, скорее всего, загвоздка в отсутствии кодека. Узнать его FourCC-код поможет программа GSpot, скачать которую можно по адресу https://gspot.headbands.com/. Открываем в ней проблемный файл, и в правой верхней части окна видим FourCC-код, название кодека и его наличие/отсутствие в системе. К сожалению, GSpot работает только с контейнерами AVI и MPEG1/2, потому в случае новых ogg, mkv или mp4 придется действовать иначе. Открываем файл в VirtualDubMod, в меню File выбираем пункт File Information – в строке FourCC Code находится необходимая нам информация.

Теперь стоит заглянуть в настройки FFD­show (ярлык Video decoder configuration), поскольку по умолчанию включена поддержка только самых основных форматов (из полусотни «знакомых» программе). Если нужного там не окажется, то узнать, какому кодеку соответствует полученный FourCC-код, можно в уже упомянутой программе GSpot, выбрав в меню Tables пункт Video Codecs. Если и это не поможет, то просматриваем большой список FourCC-кодов, расположенный по адресу https://www.fourcc.org/, там же есть и ссылки на страницы закачки описанных кодеков.

Перейдем к следующей проблеме, которая встречается намного чаще. Файл открывается, начинается воспроизведение, однако изображение отсутствует или выводится неправильно. Причиной этого обычно является использование неподходящего декодера или, что бывает намного реже, ошибка в декодере. И тут надо объяснить, почему не стоит применять кодек-паки – чаще всего виновниками подобных недоразумений оказываются именно они. В качестве примера возьмем достаточно популярный K-Lite Codec Pack. Его полная версия представляет собой свалку всего, что попало под руку составителю. Отметим самые яркие проявления подобного подхода: в K-Lite Codec Pack Full имеются три кодека для MPEG2 (не считая FFDshow), столько же сплиттеров для MPEG2, по три кодека для MP3, AAC и AC3, из кодеков MPEG4, кроме последних версий DivX, XviD и FFDshow, есть редко встречающийся 3ivX Pro и старые версии MS MPEG4 и DivX 3.11.

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

Вернемся к проблеме неправильного декодера. Читатель, последовавший советам практической части нашей статьи, может задать вопрос – а откуда возьмется неправильный декодер, если я его не инсталлировал? Это происходит из-за того, что некоторые приложения считают своим долгом установить различные кодеки и сплиттеры, даже не спрашивая разрешения у пользователя. В первую очередь этим грешат программы для обработки видео в MPEG2/4, ПО для тюнеров, DVD-плееры и даже Nero Burning ROM – последний при установке добавляет в систему больше десятка своих кодеков и сплиттеров для форматов MPEG2/4 и QuickTime; при инсталляции InterVideo WinDVD 7 без спроса устанавливаются кодеки DivX 6.

Имеют такое свойство и игры: к примеру, демо-версия Mayabin3 без спроса внедряет в систему кодек XviD и предлагает добавить еще ogg splitter неизвестно какой давности. К тому же штатной возможности удалить такой кодек игра не предоставляет, так что после ее деинсталляции чистить систему приходится вручную. Стоит отметить, что проблемы с воспроизведением видео возникают не из-за простой установки дополнительных продуктов, а из-за того, что подобные программы назначают своим кодекам бóльшие приоритеты, то есть подменяют ими уже имеющиеся в системе.

Бороться с «нелегалами» достаточно легко. Например, файлы кодеков можно просто удалить. Однако некоторые из них бывают нужны для нормального функционирования инсталлировавших их программ, и потому лучше оставить новые кодеки в системе, но не давать их использовать никаким приложениям, кроме «родного». Сделать это можно с помощью уже упоминавшейся программы GSpot. Открываем в ней файл, при воспроизведении которого задействуется неправильный кодек, и в разделе Proposed Codec Solutions and Test нажимаем кнопку 1 под надписью A/V. В текстовом поле справа появится информация о кодеках, которые будут использоваться для проигрывания данного файла. Узнав название «лишнего» кодека, идем в меню Options и выбираем пункт Settings. Активируем Expert Mode: Enable codec management functions on menus, что позволит управлять приоритетом кодеков прямо из программы. Закрываем окно настроек, выбираем в меню System команду List Codecs and Other Filters. В появившемся списке находим необходимый кодек, щелкаем на нем правой кнопкой и останавливаемся на опции Set Filter Merit… контекстного меню. В появившемся окне перемещаем ползунок вниз до значения 0×200000 (можно и ниже, но нежелательно).

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

Последняя группа недоразумений при воспроизведении видео связана с возможной несовместимостью декодеров/сплиттеров с видеоплеерами, ошибками самих декодеров и случаями повреждения видеофайлов. Первую ситуацию диагностировать просто: достаточно открыть файл в другом проигрывателе (или даже в GSpot), и если проблема исчезла, то ее источник – именно несовместимость плеера и кодека. Когда воспроизведение файла затруднено и в другом проигрывателе, скорее всего виновником этого является ошибка в кодеке, и стоит либо обновить его, либо, наоборот, вернуться к более старой версии, на которой подобных ошибок не наблюдалось. Если же файл поврежден, его можно попытаться исправить с помощью VirtualDubMod. Данный способ годится только для файлов в контейнерах avi, mkv или ogg. В меню File выбираем команду Open, ставим внизу окна галочку возле пункта Ask for extended options after this dialog, находим нужный файл и нажимаем Открыть. В появившемся окне отмечаем птичкой пункт Re-derive keyframe flags и жмем OK. По завершении операции выбираем в меню Video в пункте Scan video streams for errors подпункт Scan. После окончания этой про­цедуры идем в меню File → Save As, указываем новое имя для исправленного файла и внизу окна в пункте Video Mode выбираем Direct Stream Copy. В результате получаем рабочий файл с частями видео, которые не были повреждены.

 



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2017-06-11 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: