Ну-с приступим)
Как оно вообще в мире медиа и как лично меня затянуло на это поприще. Начну с небольшой школьной предыстории.
Началось все с телефона Siemens S65)
Это был мой первый телефон с возможностью смотреть видео и слушать музыку. И так как показать братюням мощные клипы с Linkin Park на телефоне оч хотелось - я нашел на диске Игромании какую-то программулину по конвертации видео и пошло-поехало.
Там я дотошно изучал все возможные ручки и настройки для видео и аудио, чтобы уместить на MMC карте телефона в 64МБ максимум своей муз-коллекции, но чтобы при этом картинка не разваливалась, fps не падал, а звук был приемлемый. Так начало моей страсти к медиа и было положено.
После этого было много всего: увлечение музыкой и домашние сессии звукозаписи своих треков, свой проект на C++ с видео анализом и OpenCV, владивостокский стартап с риалтайм чатом и мини-играми и многое-многое другое.
Все это привело меня в мою первую серьезную компанию - Иви.
Именно тут, в Иви, я понял, что именно с медиа я хотел бы связать свою проф. жизнь, так как на столько многогранной сферы деятельности я не мог найти долгое время. Вот только некоторые из них:
- транскодинг
- платформы
- плееры
- плейбек
- раздача контента
- вендоры
- сеть
1. Транскодинг
Чтобы контент могли воспроизвести - его нужно преобразовать в нужный кодек, упаковать в контейнер, аккуратно "пожать" и приготовить к транспортировке. Это достаточно ресурсоёмкая операция, так как обрабатывается приличное количество информации.
Например, чтобы транскодировать файл, который пользователь отправляет на YouTube, серверам Google нужно:
-декодировать видео/аудио в RAW формат
-применить фильтры (скейлер/компрессор/кроппер)
-енкодировать из этого видео/аудио в разных качествах и кодеках
-положить в контейнер
После этого нужно полученные файлы с медиа контентом:
-сегментировать (нарезать малыми файлами)
-зашифровать (если это допустим приватный/платный контент)
-описать все имеющиеся части контента и мета информацию (длительность, разрешение, кодек и пр.) в манифесте
И только после этого всего полученные файлы могут лететь в телевизоры/телефоны/компьютеры/подставь_свой_вариант для того, чтобы скрасить Ваш досуг на вечер) Как видите - не все так просто и быстро, как может показаться на первый взгляд.
2. Платформы
Их приличное множество и каждая со своими "Фи". Вот самые основные:
- Apple
- Android
- WEB
- SmartTV
- Игровые приставки
- Set-top boxes (например: коробочки-приставки от Ростелекома)
В каждой из платформ есть дополнительные разделения на вендоров. Например: для SmartTV есть разделение на LG, Samsung, Sony, Philips и так далее, которые работают только со своим API и под каждого по нужен свой клиент и свой контент.
3. Плееры
Для каждой платформы может существовать несколько плееров со своими особенностями и возможностями. Например: на LG WebOS можно использовать плеер от LG, а можно использовать плеер Shaka или DASH на JavaScript, которые будут разные по функционалу и возможностям.
4. Плейбек
Никому не нравится, когда видео рассыпается, тормозит, дрожит, рябит или попросту - не играет нормально. На это могут влиять огромное кол-во параметров: от состояния сети и пресетов транскодирования до криво написанного софта и ограничений платформы.
Так, например, видео, которое закодировано в кодеке vp9 от Google и хорошо играет в Chrome, не может быть воспроизведено в Safari. Или фильм с 6-канальным звуком в аудио кодеке AAC не может воспроизвестись корректно на домашнем кинотеатре с 6-ю каналами по AirPlay от Apple
5. Раздача контента
Фильм в интернете может раздаваться просто как MP4 файл, который скачивается по сети, а может раздаваться через HTTP стриминг кусочками (чанками), которые с помощью алгоритмов адаптивизации на основании текущей пропускной способности будут скачиваться плеером.
Также в зависимости от выбранного типа HTTP стриминга может отличаться качество воспроизведения на разных устройствах. Например: HLS стриминг от Apple будет весомо отличаться в воспроизведении адаптивного контента от MSS стриминга от Microsoft.
6. Вендоры
Тут можно застрять надолго)
Главный нюанс разнообразия вендоров - это отсутствие какого-то общего и везде работающего типа контента. Каждое устройство/плеер/платформа очень щепетильна в выборе поддерживаемых технологий и форматов для медиа.
Самый любимый мой пример - это SmartTV Samsung 2013 года, которые принципиально не будут играть контент, если в URL до контента не прописать определенную строку. Плеер даже не будет пытаться его воспроизвести, так как будет считать, что контент этот не является медиа контентом)
7. Сеть
В зависимости от кучи параметров: выбора типа доставки (TCP/UDP), протокола доставки (https/http/rtmp/rtc), настроек серверов на отдачу контента и ,конечно же, качества сети обслуживания конечного пользователя будет зависеть качество и скорость воспроизведения медиа.
Все вышеперечисленное - это только часть разнообразия того, что охватывает медиа инженерия. Каждая отдельная часть может сильно сказаться на качестве медиа-сервиса в целом и требуемых ресурсах для корректной работы. Поэтому скучать от типичной "рутины" в медиа точно не получится)
Ну и в целом, медиа-весьма востребованная часть IT, которая есть практически повсеместно в разных сферах: начиная с развлечений и связи, заканчивая научной деятельностью, космонавтикой и медициной. Поэтому иметь представление на базовом уровне про медиа в целом-полезный скилл)
Штош, немного "по верхам" я пробежался, надеюсь было интересно! Если хотите чтобы я что-то рассказал более подробно - не стесняйтесь, спросите) Всем хорошего дня и приятного вечера!
PS. Это моя так называемая "проба пера", поэтому не судите строго)
• • •
Missing some Tweet in this thread? You can try to
force a refresh
Сегодня - про магию некоторых мастодонтов в медиа - Netflix и TikTok.
Итак, в период пандемии (да и раньше) подавляющее большинство пользователей с огромным энтузиазмом юзают и продолжают юзать всевозможные видео-платформы и онлайн-кинотеатры. Причины ясны: сидим дома, книги перечитаны, углы комнат изучены, скучно, а инет - вот он, зовет и манит.
Так почему же Netflix и TikTok настолько полюбились пользователям?
Естественно, это достаточно мощные продукты, которые позволяют развлекаться и самовыражаться, но если "кормить" пользователя абы-как - он расстроится и уйдет. И тут вступают в ход хитрости и "магия")
Во-первых: нужно понимать зачем тебе это всё. Очевидно, что делать что-то только ради денег - очень глупая затея.
Во-вторых: важно понимать от чего тебя прёт. Нравится делать модные кнопки - делай, кайфуй от себя, это очень важно.
В-третьих: мир IT разнообразен, пробуй, не ссы)
Я поработал в разных сферах (от тренера по спортивным бальным танцам до звукорежиссёра) и пробовал разные вещи именно в IT(от инженера связи до геймдева) и понял: не попробуешь - не поймешь. Естественно везде есть плюсы и минусы, и тут уже вопрос личных компромиссов и желаний.
Ещё один частый аргумент в пользу карьеры в IT: деньги. Ведь там деньги-деньги-деньги, а нигде больше денег нет.
Я не преуменьшаю их важность: деньги создают комфорт, лечат людей, дают безопасность и независимость. Конечно, их нужно заработать и зарабатывать.
А когда я предлагаю посмотреть в сторону, мол, там могут быть и деньги, и самореализация-удовольствие-азарт - нет, вы что, я буду тащить этот чемодан без ручки и дальше.
Хотя уже не нравится, и уже заработал, и уже скучно давным-давно. И вообще, страшно! Риск!
Это передёргивание, конечно, но в какой момент и кто сказал, что риска в жизни нет? По-моему, риск и неопределённость - это единственное, что любая жизнь гарантирует.
Да, можно купить страховку от болезни (и наверное стоит), но чураться неизвестности как дикого зверя?
Не важно, пришли вы в IT за деньгами, либо по призванию - рано или поздно вас накроет ощущение, что деньги больше не мотивируют, а делать хочется что-то интересное, получая за это признание и удовлетворение.
Интересно каждому своё, но вот механизмов самореализации, кажется, не так уж много. Мне приходит в голову реализация амбиций через построение карьеры, публичную деятельность и предпринимательство.
Под самореализацией я понимаю достижение состояния, когда вы вовлечены в жизнь, к вам прислушиваются, вы делаете не просто одну и ту же работу, а что-то важное - по крайней мере, двигаетесь к этому.
А знаете, почему я так категоричен про короны (и цинизм)?
Потому что завышенная самооценка (мне все должны - зарплату, офис, интересную работу) и цинизм ("мы обречены" - отличный пример, где все вот это нытьё про сложную и глупую работу) не совместимы логически.
То есть пользоваться благами индустрии мы (они) хотим, а что-то для этого делать - нет.
Работать в лучших компаниях - да, а проходить "тупые" собеседования - нет.
Рубить бабло почти за просто так, но считать, что это ты такой крутой.
Фактически, не создавать ничего нового, не идти на риск, не изучать что-то за пределами уютного Хабра - но считать, что разработчикам все обязаны.
Так вот, это полная дурь. Вы либо крестик снимите (и перестаньте считать себя богами), либо трусы наденьте (и примите свою роль).
Когда я только начал работать разработчиком, в 2007 году, денег в айтишке не было. Программист или любой другой айтишник были примерно на уровне слесаря - и по заработку, и по влиянию на бизнес. Из плюшек были туалет на этаже и курилка под лестницей.
Я торговал железками на радиорынке, был эникейщиком, и денег, как и перспектив, не видел. В некотором смысле мне повезло войти в IT, когда это ещё не было популярно.
В первой аутстаффинговой конторе, продававшей нашу команду за рубеж, платили немного, 5 тысяч рублей за полдня.
Я ушёл через год, потому что мне надоел веб. Но этот опыт приоткрыл для меня двери индустрии.
Мне хотелось делать что-то более интересное, и я почти устроился плюсовиком в местную компанию, автоматизирующую погрузочные горки на железной дороге. Но с ними не сложилось.