ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ ММ

 

 

Классы программного обеспечения ММТ

 

 

Классы программного обеспечения мультимедиа:

  • Микропрограммы мультимедийных устройств

  • Драйверы аудио и видеоустройств устройств

  • Медиасерверы

  • Мультимедийные операционные системы

  • Мультимедийные программные среды

  • Утилиты для мультимедиа

  • Медиаредакторы

  • Медиаконверторы

  • Медиаплееры

  • Плагины для мультимедийных программ

  • Мультимедийные приложения

  • Программные средства создания мультимедийных презентаций.

 

 

Назначение программного обеспечения ММТ

 

 

Программное обеспечение мультимедиа предназначено для работы:

  • с оборудованием

  • с медиафайлами

  • с медиаконтентом

  • с метаданными медиафайлов

  • с программными средами

  • c сетевыми сервисами

  • с пользователем (потребителем медиаконтента)

 

 

Микропрограммы мультимедийных устройств

 

Микропрограмма (firmware) — системное программное обеспечение, встроенное в аппаратное устройство («зашитое», хранящееся в энергонезависимой памяти) и управляющая его работой.

Микропрограммы («прошивки») применяются везде, где применяются микропроцессоры: в мобильных телефонах, фото- и видеокамерах, телевизорах, платёжных картах и т. п.

«Прошивки» могут создаваться «с нуля» для данного конкретного типа устройства, либо иметь в основе готовую операционную систему, как правило, с открытым исходным кодом (GNU/Linux).

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

 

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

 

Наушники Sennheiser PXC 450 используют программные технологии для устранения окружающего шума.

  • NoiseGard 2.0  устраняет внешние звуки противофазой: улавливает звук, рассчитывает волну, разворачивает  ее в противофазу и воспроизводит с нужной громкостью внутри. После сложения волн остается тишина.

  • TalkThrough отделяет шумы от человеческой речии  подавляет их обеспечивая хорошую слышимость речи.

 

 

 

Медиадрайверы

 

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

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

Лидеры в сфере разработки видеокарт - Nvidia (www.nvidia.ru) и ATI (www.ati.amd.com), постоянно выпускают и предлагают свежие версии видео драйверов для своих видео карт (программа установки автоматически определяет модель и устанавливает нужный видео драйвер).

 

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

Realtek High Definition Audio Codec Driver – звуковые драйверы для аудиоустройств Realtek (HD Audio) для Win 2K, XP, Vista, Windows 7, Linux

Преимуществами спецификации High Definition Audio являются: полноценная поддержка новых форматов звука, более высокая частота пропускания, поддержка подключения аудио-устройств по технологии Plug and Play, более точное распознавание речи и ее ввод (96.8 Мб)

 

 

 

Медиасерверы

 

Клиент-сервер (Client-server) — вычислительная или сетевая архитектура, в которой задания или сетевая нагрузка распределены между поставщиками услуг (сервисов), называемыми серверами, и заказчиками услуг, называемыми клиентами. Клиенты и серверы взаимодействуют через компьютерную сеть и могут быть как различными физическими устройствами, так и программным обеспечением.

 

Медиасервер — это специализированный сервер, обрабатывающий AV сигналы, медиа-потоки и файлы в соответствии с расписаниями записи и воспроизведения, клиентскими запросами, поддерживающий обработку потоковых данных и основные протоколы передачи аудио/видео данных через интерфейсы ввода-вывода аудиовидеоданных (например, PAL/NTSC, HD/SD SDI, HDMI) или через сеть.

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

Основные функции:

 

Adobe Flash Media Server — сервер медиа контента, работает со средой Flash Player и позволяет создавать мультимедийные, многопользовательские RIAs (Rich Internet Applications).

Используется для:

  • Live Video — позволяет транслировать видео с веб-камеры для других пользователей.

  • Video on Demand — потоковое видео по запросу.

  • Real Time Communication — применяется в приложениях, в которых требуется связь между несколькими клиентами — видео-конференции, чаты или многопользовательские игры.

Другие медиасервера:

  • Wowza Media Server

  • Red5

  • RTMP

  • VoD

 

 

 

Мультимедийные операционные системы

 

Операционные системы  70–80-х г.г. 20 века развивались в направлении повышения гибкости управления ресурсами  и не были рассчитаны на специфические требования, свойственные мультимедиа-технологиям.

В основу мультимедийных ОС легла концепция Media OS  - совокупность требований к операционной системе, предназначенной для работы с большими объемами цифровых данных:

  • встроенная поддержка симметричной многопроцессорной обработки ОС

  • вытесняющая многозадачность (позволяющая эффективно работать с несколькими приложениями одновременно),

  • многопотоковость (возможность выполнения множества независи-мых процессов внутри одного приложения),

  • 64-разрядная файловая система (обеспечивающая улучшенные средства доступа к дискам большого объема),

  • внутренняя архитектура клиент-сервер и др.

Описывающий концепцию Media OS официальный документ здесь: www.be.com/products/beos/mediaos.html.

Первые МMОС:

  • NeхtStep разрабатывалась для для компьютера NeXT, который выпускался с 1989 г. по 1993 г., но вследствие несовместимости с иными моделями и дороговизны выпуск был прекращен, а фирма перепрофилирована в разработчика системного ПО.

  • BeOS разрабатывалась для компьютера BeBox (разработка аппаратной части не завершена и прекращена в 1996 г. ).

Начинали разрабаты-вать и BeOS и NeXTStep выходцы из Apple Computer

 

GeeXboX – операционная система для организации HTPC (Home Theatre Personal Computer).  GeeXboX позволяет создать домашний кинотеатр можно построить на базе обычного ПК (он подключается к телевизору или проектору, акустике или ресиверу). GeeXboX – специализированный вариант Linux. В нее уже встроено все необходимое для воспроизведения любых аудио- и видеофайлов: драйвера для всего распространенного оборудования, кодеки, плееры и т.д.

 

 

 

 

 

Медийные возможности Microsoft Windows 7

 

Windows 7 имеет всестороннюю поддержку мультимедиа-технологий:

  • многопроцессорность, многозадачность, многопотоковость,

  • кодеки,

  • сетевые протоколы,

  • файловая система,

  • фреймворки,

  • приложения.

Windows Media Center входит в состав некоторых выпусков Windows 7.

Windows Media Center позволяет подключить к компьютеру телевизор высокой четкости и пульт ДО, стандартные монитор, клавиатуру и мышь.

Windows Media Center  позволяет:

  • использовать цифровые музыкальные композиции, фотографии и видеозаписи,

  • смотреть потоковое мультимедиа по Интернету

  • управлять цифровыми правами на медийный контент

  • покупать медийный контент в электронных магазинах

  • использовать Библиотеку проигрывателя Windows Media

  • записывать компакт-диски и DVD-диски и др.

Проблемы с выводом звука:

  • В Windows XP через интерфейс DirectSound прикладные программы имели прямой доступ к аппаратным ресурсам звуковой карты - микширование, преобразование частоты дискретизации, различные эффекты. 

  • Windows Vista и Windows 7 новая подсистема ввода/вывода звука - WASAPI . Все программы, оптимизированные под DirectSound подключаются в общем режиме WASAPI Shared, использующем для всех преобразований только ресурсы центрального процессора.

  • Поддержка высококачественного режима WASAPI Exclusive реализована в приложениях: foobar2000 (с плагином ASIO Output или WASAPI output support) и Media Player Classic HomeCinema (с плагином ReClock), AIMP.

 

 

 

Оптимизация обработки мультимедиа в Windows 8

 

В Windows 8 оптимизированы программные декодеры, за счёт чего уменьшилась загрузка процессора, потребление памяти и пр.

  • Производительность декодирования видео выросла за счёт оптимизации программных декодеров для H.264 и VC-1, а улучшение в обработке видео с веб-камеры — за счёт перехода с DirectShow Capture API на новый, значительно более эффективный Windows 8 Media Foundation Capture API.

  • Существенно изменен алгоритм обработки аудиоконтента перед воспроизведением, что значительно уменьшило нагрузку на CPU и расход аккумулятора на мобильных устройствах. Сделано это за счёт увеличенной буферизации — разбиения аудиозаписи на бóльшие фрагменты, которые заранее обрабатываются процессором, а потом он переходит в спящий режим. Продолжительность промежутков спящего режима CPU увеличилась в 100 раз — с 10 миллисекунд до более 1 секунды, что кардинально снижает энергопотребление аудиоплеера.

  • Ещё одной важной оптимизацией стало внедрение в ОС передачи и рендеринга аудио и видео с низкой задержкой (low-latency media capture and rendering) чтобы гарантировать идеальную работу чата в Skype, в том числе видеочата в режиме HD.

Использование CPU при декодировании видео 720p VC1/H.264 и предпросмотре с веб-камеры

 

Рекомендуемыми видеокодеками для использования в приложениях Windows 8 являются H.264 и VC-1.

 

 

Мультимедийные программные среды

 

Фреймворк (framework) - постоянная часть программного проекта, несущая в себе гнезда, в которых размещается  переменная часть (сменные модули).

Фреймворк может включать вспомогательные программы, библиотеки кода, язык сценариев и другое ПО, облегчающее разработку и объединение разных компонентов большого программного проекта. 

Для обеспечения каркаса обычно используются техники объектно-ориентированного программирования (наследования от базовых классов и др.).

.NET Framework (основной продукт Microsoft для разработки ПО) - программная платформа, на основе исполняющей среды Common Language Runtime (CLR), способная выполнять десктопные программы и серверные веб-приложения, поддерживает разные языки программирования

12.04.2010 Выпущена окончательная версия .NET Framework 4.0 (вместе с Visual Studio 2010).

 

Мультимедийный фреймворк (multimedia framework) — фреймворк для работы с аудио- и видеоданными. Обычно, состоит из системы плагинов (кодеков, фильтров, (де-)мультиплексаторов, вывода на экран, работы с файлами и др.), которые можно соединить в граф для конвейерной обработки аудио/видео потока.

Мультимедийные фреймворки работают и с файлами, и с сетевыми потоками, и позволяют пользователю устанавливать свои собственные плагины.

Примеры дmultimedia framework для различных операционных систем:

  • Windows Media (для Microsoft Windows),

  • QuickTime для (Mac OS X),

  • Adobe Flash (кроссплатформенный)

  • Microsoft Silverlight (кроссплатформенный)

  • Java Media Framework (кроссплатформенный)

 

Adobe Flash  — мультимедийная платформа для создания веб-приложений или мультимедийных презентаций. Широко используется для создания рекламных баннеров, анимации, игр, воспроизведения на веб-страницах видео- и аудиозаписей. Платформа включает в себя ряд средств разработки (Adobe Flash Professional и Adobe Flash Builder) и  Adobe Flash Player. Adobe Flash позволяет работать с векторной, растровой и ограниченно с трёхмерной графикой, а также поддерживает двунаправленную потоковую трансляцию аудио и видео.

Стандартным расширением для скомпилированных flash-файлов (анимации, игр и интерактивных приложений) является .SWF (Shockwave Flash или Small Web Format). Видеоролики в формате Flash представляют собой файлы с расширением FLV (при этом Flash в данном случае используется только как контейнер для видеозаписи). Расширение FLA соответствует формату рабочих файлов в среде разработки.

 

Silverlight - программная платформа, позволяющая создавать сложные мультимедийные приложения и запускать их в окне веб-браузера. Microsoft Silverlight включаюет в себя плагин для браузеров, который позволяет запускать приложения, содержащие анимацию, векторную графику и аудио-видео ролики, что характерно для RIA (Rich Internet application). 

 

Rich Internet application (RIA) — это приложение, доступное в браузере через Интернет, насыщенное функциональностью традиционных настольных приложений

Как правило, приложение RIA:

  • передаёт веб-клиенту необходимую часть пользовательского интерфейса, оставляя большую часть данных (ресурсы программы, данные и пр.) на сервере;

  • запускается в браузере и не требует дополнительной установки ПО;

  • запускается локально в среде безопасности, называемой «песочница» (sandbox).

Adobe Integrated Runtime (AIR) — это платформо-независимая среда  для запуска приложений, позволяющая использовать HTML/CSS, Ajax, Adobe Flash  для переноса веб-приложений (в т. ч. Rich Internet Applications) на настольные ПК.

  • AIR позволяет перенести готовое HTML-приложение на компьютер пользователя.

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

  • Свыше 180 готовых программ, разработанных с использованием Adobe AIR, доступны для скачивания на сайте Adobe AIR Marketplace. 

 

 

 

 

Утилиты для мультимедиа

 

Риппер (ripper, grabber, extractor) — программа для извлечения цифровой звуковой информации в неструктурированном (raw) формате, записанной на Audio-CD, в файл или на стандартный вывод (stdout). Большинство рипперов позволяют автоматически добавлять в полученные файлы метаданные.

  • Audiograbber

  • NeoAudio — бесплатный риппер с базовыми функциями.

  • Exact Audio Copy (EAC) — позволяет получать наиболее точные копии дисков

Сплиттеры (разделители) позволяют извлекать медиаданные из контейнеров

 

Эмулятор CD/DVD-приводов

  • DAEMON Tools Lite

  • Alcohol 120%

Программы захвата для записи всего, что происходит на экране монитора, в файл

  • CamStudio

  • HyperCam записывает действия на экране, видео изображение и звук в AVI, WMV/ASF файлы с возможностью дальнейшего редактирования записанного материала

  • UVScreenCamera запоминает все, что происходит на экране, включая движения курсора мыши и звук, и сохраняет в очень компактный файл с расширением uvf или exe.

Видео- аудиоколлекции

  • MediaMonkey (Portable)  - позволяет упорядочить коллекцию музыки/видео - быстро отредактировать теги, найти неполные или повторяющиеся файлы, переконвертировать файлы в другие форматы, записать контент на CD/DVD или загрузить в плее

  • eXtreme Movie Manager Программа для ведения домашней фильмотеки с очень широкими возможностями, включая автоматизацию создания базы данных

Маскировка голоса

  • MorphVOX Pro Позволяет до неузнаваемости изменить свой голос при использовании компьютера в качестве телефона, а также во время он-лайн игр
     

Наборы кодеков

  • K-Lite Codec Pack (Mega/ Full/ Standard/ Basic/ Corporate)

  • СССP
     

Программа записи CD и DVD, Blu-Ray и HD-DVD.

  • CDBurnerXP

  • CloneCD  для создания точных копий любых CD - даже тех, что защищены от копировани

 

Программы для работы с веб-камерой с поддержкой автовключения и добавления видеоэффектов

  • WebcamMax
     

Информационные программы:

  • GPU-Z 0.5.7 RU Показывает детальную информацию о видеокарте

  • VideoInspector Отображает информацию о видеофайле (видео- и аудиокодеки, разрешения и др.)

Программы для оптимизации оборудования

  • GPU-Z (Portable) Отображает детальную информацию о видеокарте. Поддерживаются карты на базе чипсетов NVIDIA, Intel и ATI

  • Movie Label Программа с мощными возможностями по созданию каталога видеоколлекции

  • MSI Afterburner Программа для настройки, мониторинга и разгона видеокарт

MKV Toolnix - кроссплатформенное приложение, представляющее собой функциональный набор инструментов для работы с файлами формата MKV (Matroska). Программа позволяет добавлять, извлекать, удалять звуковые дорожки и субтитры, редактировать (разбивать/объединять) видео файлы, а также осуществлять конвертацию файлов в формате DivX и AVI в MKV. Поддерживается работа с наиболее популярными кодеками и форматами субтитров.

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

Freemake Music Box - программа поиска, прослушивания музыкальных композиций онлайн и создания музыкальной коллекции...

 

 

 

Плагины для мультимедиа

 

Плагин (plug-in) — независимо компилируемый программный модуль, динамически подключаемый к основной программе, предназначенный для расширения или использования её возможностей.

Плагин - это маленькая программка, которая встраивается в основную (большую) программу и расширяет её возможности.

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

Основные типы аудиоплагинов:

  • Input-плагины за поддержку воспроизведения файлов различных форматов.

  • Оutput-плагины отвечают  за поддержку вывода изображения и звука  (настройки аудио-  и видеокарты карты и т.п.)

  • DSP-плагины отвечают  за цифровую обработку аудио- и видеосигнала и создание звуковых эффектов

  • Кодеки в виде плагина выполняют поддержку форматов файлов для звуковых и видео проигрывателей.

WinAMP не отличается высококачественным звуком на выходе и желательна настройка плагина вывода звука на аудиокарту и поддержка DSP-плагинов (плагины цифровой обработки звука), улучшающих качество звучания. Более 3500 плагинов для WinAMP размещено на официальном сайте проекта (75% из них для визуализации, которая мало ого интересует)

 

DSP (digital signal processing, цифровая обработка сигналов):

  • Линейная и адаптивная фильтрация — селекция сигнала в частотной области; синтез фильтров, согласованных с сигналами; частотное разделение каналов; цифровые преобразователи Гильберта и дифференциаторы; корректоры характеристик каналов; подавление шумов

  • Спектральный и Частотно-временной анализ

  • Нелинейная обработка — вычисление корреляций, медианная фильтрация; синтез амплитудных, фазовых, частотных детекторов, обработка речи, векторное кодирование

  • Многоскоростная обработка — интерполяция (увеличение) и децимация (уменьшение) частоты дискретизации в аудиосистемах и др.

SRS WOW 2.0 - DSP плагин для AIMP/Winamp - улучшает звучание проигрываемых композиций на основе психоаккустической модели восприятия человеком звука.

MiniLyrics — плагин для синхронной прокрутки «таймированного» текста песен (формат субтитров LRC) во время проигрывания в медиаплеерах. В программе имеются настройщик типа (вертикальный, «бегущая строка» и другие) и стиля прокрутки (кегль, оформление, цвет как шрифта, так и фона, в том числе с помощью обложки альбома из папки с мелодиями), встроенный поисковый браузер по крупной онлайн-базе (расположена на официальном сайте), моментальный редактор с минимальным набором функций.

 

 

 

ПО поддержки MIDI-технологий

 

В отсутствии BRAND-звуковой карточки профессионального класса, будут полезны программы-эмуляторы синтезатора, позволяющие MIDI-файлам отлично звучать независимо от того, какая карта имеется:

  • Yamaha S-YXG100plus предоставляет качество проигрывания - Audio-CD, 1188 инструментов, 65 эффектов, полифония 256-512 звуков. В реальном времени синтезатор способен накладывать множество звуковых эффектов, например: реверберация, хорус, вариация, эхо, фленджер, auto pan, delay. Дополнительные эффекты позволяют включить музыку, как в зале, холе, комнате... Поддерживается автоматический подбор инструментов (реаранжировка мелодии заменой инструментов).

  • Virtual Sound Canvas с банком на 902 инструмента. Способен конвертировать midi в wav с Audio-CD качеством.

  • VanBasco's Karaoke Player - один лучши миди/караоке плееров. Проигрывает практически все типы midi-файлов (midi, mid, rmi, kar). Во время воспроизведения в реальном времени отображаются играющие инструменты, ноты и даже кнопки фортепиано, которые "нужно" нажимать. Может проигрывать около 6 000 караоке-файлов с текстами песен, расположенных на сайте http://mids.ru/

 

 

 

Поддержка WebRTC в Chrome

 

WebRTC интегрирован в dev-версию Chrome.

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

WebRTC (англ. real-time communications — коммуникации в реальном времени) — разработанный Google интернет-протокол, с открытым исходным кодом, предназначенный для организации голосовой и видеосвязи через интернет в режиме реального времени.

В WebRTC используются два аудиокодека, созданных в GIPS, а также видеоформат VP8 (WebM).

Chrome с WebRTCсможет выполнять функции, которые сейчас выполняет Skype.

Mozilla Foundation предлагает свой вклад в WebRTC — спецификацию MediaStream Processing, позволяющую программно смешивать аудио-потоки или отслеживать движение в передающемся онлайн видео.

Ключевым понятием в WebRTC API является объект 
MediaStream, который является общим JavaScript-интерфейсом для взаимодействия с аудио- и видео-потоками.

Для того, что разработчик смог организовать взаимодействие с ними, он должен иметь инструмент доступа к микрофону и web-камере пользователя — для этой цели служит функция getUserMedia. В случае, если эта функция завершилась успешно и доступ к камере и микрофону был получен, разработчику возвращается экземпляр классаMediaStream, представляющий из себя, собственно, интерфейс для работы с мультимедиа-данными. 


HTML-код страницы с WebRTC API:

 

<html>
  <head>
    <title>Тест WebRTC</title>
  </head>
  <body>

    <h2>Привет, Хабр!</h2>

    <video id="live" autoplay></video>
    <script type="text/javascript">
      video = document.getElementById("live")

      navigator.webkitGetUserMedia("video",
          function(stream) {
            video.src = window.webkitURL.createObjectURL(stream)
          },
          function(err) {
            console.log("Ошибка!")
          }
      )
    </script>

  </body>
</html>



В данном случае функция 
webkitGetUserMedia получает три параметра:

первый — строка, определяющая, что мы хотим работать именно с видео,

второй — callback-функция, вызываемая в случае успеха попытки доступа к web-камере и, наконец,

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

Строка 
window.webkitURL.createObjectURL(stream) представляет собой получение Blob URL (элемент File API) видео-потока, после чего в объекте video и начнется отображение видео.

Согласно спецификациям WebRTC функция 
GetUserMedia должна поинтересоваться у пользователя не возражает ли он, что приложением будет получен доступ к его web-камере, приблизительно так же, как это делает Geolocation API.