Alx Jourey Опубликовано 2 августа, 2005 Жалоба Поделиться Опубликовано 2 августа, 2005 Насколько я понял (чисто эмпирическим путём, т.е. без какой-бы то ни было справочной информации, а только по ПЛОСКИМ спискам фильтров) современный медиаплеер - это программа, которая может грамотно нацеплять друг за другом DirectShow-фильтры. Кроме этого, больше ничего делать плеер не умеет, да и не нужно ему, когда уже всевозможные фильтры написаны. Разумеется не все плееры такие, однако все популярные плееры изготовлены именно на базе DirectShow (xxxDVD, BSPlayer, Core Media Player, Light Alloy, итд). Проблема №1: DirectShow-фильтров слишком много. Действительно, если вы взглянете на список всех DirectShow-фильтров (например, с помощью DirectShow Filter Manager от Softella), то увидите множество, в том числе, и сходных фильтров конкурирующих производителей. Проблема №2: Закрытая политика. Как мне думается, DirectShow-фильтры должны быть унифицированными, т.е. разнородно (от разных производителей) совместимыми, однако, как показала практика ручной борьбы с автоматической маршрутизацией, совместимость фильтров существует, в основном, в пределах одного производителя, т.е. сплиттеры и демультиплексоры от Nero будут работать стабильно только с декодировщиками и реендерами от Nero или дружественных ему компаний. Я приведу пример. Играем Матрёшку (.mkv) на MatroskaDiag. Файл-матрёшка сформирован трансмуксингом из .mpg (Video: MPEG-2, Audio: MPEG-1 L2). Итак, после долгих попыток найти путь по куче фильтров был сформирован следующий путь для видео: .mkv(Video) -> InterVideo Video Decoder(~Subpicture Output) -> Video Renderer; и для аудио: .mkv(Audio) -> Nero Digital Audio Decoder(Digital Audio Out) -> Default DirectSound Device. Одна из интересных попыток маршрутизации, окончившееся ничем: .mkv(Video) -> InterVideo Video Decoder(~Line21 Output) -> Line 21 Decoder 2(XForm Out). Проблема №3: А если мне не нравится декомпрессор от InterVideo, если я хочу использовать, скажем, от CyberLink?[/b] CyberLink умеет делать приличный деинтерлейс и его прекрасно использует PowerDVD, однако попытка использовать этот декомпрессор (вместо InterVideo) окончилась неудачей!!! Подмена осуществлялась как за счёт смены приоритетов для фильтров, так и с использованием чёрных/белых листов фильтров у BSPlayer. И вопрос: Как DirectShow работает? Как осуществляется маршрутизация? На основе каких media-type состыковываются по входу-выходу фильтры? PS: Я чего-то не логоняю??? Где можно найти литературу по этому вопросу (фильтры DirectShow)? Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения
Для публикации сообщений создайте учётную запись или авторизуйтесь
Вы должны быть пользователем, чтобы оставить комментарий
Создать учетную запись
Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!
Регистрация нового пользователяВойти
Уже есть аккаунт? Войти в систему.
Войти