🔥

Тред #1


Ну-с приступим) Как оно вообще в мире медиа и как лично меня затянуло на это поприще. Начну с небольшой школьной предыстории.

Началось все с телефона Siemens S65) Это был мой первый телефон с возможностью смотреть видео и слушать музыку. И так как показать братюням мощные клипы с Linkin Park на телефоне оч хотелось - я нашел на диске Игромании какую-то программулину по конвертации видео и пошло-поехало.

Там я дотошно изучал все возможные ручки и настройки для видео и аудио, чтобы уместить на MMC карте телефона в 64МБ максимум своей муз-коллекции, но чтобы при этом картинка не разваливалась, fps не падал, а звук был приемлемый. Так начало моей страсти к медиа и было положено.

После этого было много всего: увлечение музыкой и домашние сессии звукозаписи своих треков, свой проект на C++ с видео анализом и OpenCV, владивостокский стартап с риалтайм чатом и мини-играми и многое-многое другое. Все это привело меня в мою первую серьезную компанию - Иви.

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

Транскодинг Чтобы контент могли воспроизвести - его нужно преобразовать в нужный кодек, упаковать в контейнер, аккуратно "пожать" и приготовить к транспортировке. Это достаточно ресурсоёмкая операция, так как обрабатывается приличное количество информации.

Например, чтобы транскодировать файл, который пользователь отправляет на YouTube, серверам Google нужно: -декодировать видео/аудио в RAW формат -применить фильтры (скейлер/компрессор/кроппер) -енкодировать из этого видео/аудио в разных качествах и кодеках -положить в контейнер

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

И только после этого всего полученные файлы могут лететь в телевизоры/телефоны/компьютеры/подставь_свой_вариант для того, чтобы скрасить Ваш досуг на вечер) Как видите - не все так просто и быстро, как может показаться на первый взгляд.

Платформы Их приличное множество и каждая со своими "Фи". Вот самые основные: - Apple - Android - WEB - SmartTV - Игровые приставки - Set-top boxes (например: коробочки-приставки от Ростелекома)

В каждой из платформ есть дополнительные разделения на вендоров. Например: для SmartTV есть разделение на LG, Samsung, Sony, Philips и так далее, которые работают только со своим API и под каждого по нужен свой клиент и свой контент.

Плееры Для каждой платформы может существовать несколько плееров со своими особенностями и возможностями. Например: на LG WebOS можно использовать плеер от LG, а можно использовать плеер Shaka или DASH на JavaScript, которые будут разные по функционалу и возможностям.

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

Так, например, видео, которое закодировано в кодеке vp9 от Google и хорошо играет в Chrome, не может быть воспроизведено в Safari. Или фильм с 6-канальным звуком в аудио кодеке AAC не может воспроизвестись корректно на домашнем кинотеатре с 6-ю каналами по AirPlay от Apple

Раздача контента Фильм в интернете может раздаваться просто как MP4 файл, который скачивается по сети, а может раздаваться через HTTP стриминг кусочками (чанками), которые с помощью алгоритмов адаптивизации на основании текущей пропускной способности будут скачиваться плеером.

Также в зависимости от выбранного типа HTTP стриминга может отличаться качество воспроизведения на разных устройствах. Например: HLS стриминг от Apple будет весомо отличаться в воспроизведении адаптивного контента от MSS стриминга от Microsoft.

Вендоры Тут можно застрять надолго) Главный нюанс разнообразия вендоров - это отсутствие какого-то общего и везде работающего типа контента. Каждое устройство/плеер/платформа очень щепетильна в выборе поддерживаемых технологий и форматов для медиа.

Самый любимый мой пример - это SmartTV Samsung 2013 года, которые принципиально не будут играть контент, если в URL до контента не прописать определенную строку. Плеер даже не будет пытаться его воспроизвести, так как будет считать, что контент этот не является медиа контентом)

Сеть В зависимости от кучи параметров: выбора типа доставки (TCP/UDP), протокола доставки (https/http/rtmp/rtc), настроек серверов на отдачу контента и ,конечно же, качества сети обслуживания конечного пользователя будет зависеть качество и скорость воспроизведения медиа.

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

Ну и в целом, медиа-весьма востребованная часть IT, которая есть практически повсеместно в разных сферах: начиная с развлечений и связи, заканчивая научной деятельностью, космонавтикой и медициной. Поэтому иметь представление на базовом уровне про медиа в целом-полезный скилл)

Штош, немного "по верхам" я пробежался, надеюсь было интересно! Если хотите чтобы я что-то рассказал более подробно - не стесняйтесь, спросите) Всем хорошего дня и приятного вечера! PS. Это моя так называемая "проба пера", поэтому не судите строго)