DirectShow - что это? - PullRequest
       35

DirectShow - что это?

1 голос
/ 09 февраля 2011

Что такое Microsoft DirectShow и как оно относится к:

  • Кодеки
  • контейнеры

А в чем разница между кодеками и контейнерами?

Ответы [ 3 ]

3 голосов
/ 09 февраля 2011

На простом английском языке:

Кодек - это фрагмент алгоритма и / или кода, который преобразует аудио или видео из формата RAW в кодированный формат и обратно;кодер и декодер.

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

3 голосов
/ 12 декабря 2013

ЧАСТЬ 1: DirectShow

DirectShow - это мультимедийная среда на основе COM, разработанная Microsoft. фильтр аспект архитектуры DirectShow похож на Unix Pipes в том, что вы обрабатываете мультимедийный контент, отправляя его через настраиваемый конвейер, который включает в себя:

  1. источникфильтр (обязательно)
  2. фильтр преобразования (необязательно)
  3. фильтр визуализации (обязательно)

Вообще говоря, платформа DirectShow поддерживает следующие функции:

  • воспроизведение аудио / видео
  • захват аудио / видео
  • редактирование видео
  • микширование видео
  • Функции, связанные с DVD

В прошлом разработчики программного обеспечения использовали C ++ и DirectShow SDK для разработки решений.С учетом вышесказанного также можно использовать COM-совместимые языки программирования.

ЧАСТЬ 2: Форматы, контейнеры, сжатие и кодеки

Прочитав множество статей по этому вопросу,Одно могу сказать наверняка, что эти термины не используются последовательно во всей отрасли!Насколько я понимаю, ...

контейнер {формат}

Контейнер или формат контейнера можно рассматривать как конверт - различные типы контента (например, аудио)видео, метаданные и т. д.) могут храниться в одном конверте.Например: прошлым летом вы, возможно, получили конверт с письмом и фотографиями от вашего дяди Боба о его последней рыбалке.

Как конверт не зависит от содержимого, содержащегося в нем, так иконтейнер.Например: видео в кодировке H.264 и аудио в кодировке AAC могут храниться в одном и том же файле контейнера * .MP4.В качестве альтернативы файл контейнера * .MP4 может содержать аудио в формате MP3. "

сжатие {формат} (схема akacompression)

С точки зрения разработки программного обеспечения, Формат сжатия можно рассматривать как спецификацию, которая описывает, как данные сохраняются. Другими словами, структура данных, которая используется для представления сериализованных данных.

В зависимости от ряда факторов, форматы сжатия будут либо без потерь или lossey .

кодек (он же компрессор-декомпрессор, кодер-декодер)

Кодек - это аппаратное устройство или программное приложение, которое использует сложный алгоритм для кодирования или декодирования мультимедийного контента (например, аудио, видео, субтитров и т. Д.).

Имейте в виду :Термин «кодек» часто используется неправильно для обозначения формата сжатия (например, H.264) или формата контейнера (например, MP4).

Примеры

  • Форматы контейнеров

    • AVI, FLV, F4V, MOV, MP4, MKV и т. Д.
  • Форматы сжатия

    • JPEG, PNG, MP3, AAC, H.264, H.262, MPEG2 часть 2, MPEG4 часть 2 и т. Д.
  • Кодек

    • Кодек DivX H.264 и кодек Xvid H.264 оба используют разные алгоритмы для кодирования видео в формате сжатия H.264.

ДОПОЛНИТЕЛЬНЫЕ ЗАМЕЧАНИЯ

  • DirectX относится к группе или совокупности API-интерфейсов Microsoft (например, Direct3D, DirectDraw, DirectSound и т. Д.), Которыеслучается включить DirectShow API.То есть до тех пор, пока DirectShow не был перемещен в Microsoft Platform SDK в апреле 2005 года.

ССЫЛКИ

2 голосов
/ 09 февраля 2011

Из википедии :

DirectShow (иногда сокращенно DS или DShow), кодовое название Quartz, представляет собой мультимедийную среду и API, разработанную Microsoft для разработчиков программного обеспечения для выполнения различных операцийс медиа-файлами или потоками.

Это API и фреймворк.Не кодеки или контейнеры.

...