Потоковое мультимедиа — Википедия
Потоковое мультимедиа (англ. streaming media) — мультимедиа, которое непрерывно получает пользователь от провайдера потокового вещания. Это понятие применимо как к информации, распространяемой через телекоммуникации, так и к информации, которая изначально распространялась посредством потокового вещания (например, радио, телевидение) или не потоковой (например, книги, видеокассеты, аудио CD).
Первые попытки отображения мультимедийной информации на компьютерах начались в середине XX века. Однако, прогресс в этой сфере был очень малым, вследствие высокой стоимости и ограниченных возможностей компьютеров тех времён.
С конца 1980-х и до 1990-х компьютеры, доступные потребителям, уже были способны отображать различные виды информации. Основными техническими проблемами потокового вещания было отсутствие достаточно производительного CPU и шины для передачи мультимедиа необходимого битрейта
Тем не менее, компьютерные сети оставались ограниченными, а потоковое мультимедиа уступало традиционному (CD-ROM).
В период с 1990 до 2000 пользователи интернета получили:
- высокую пропускную способность сетей, в частности, на последней миле
- возросло количество абонентов сетей, особенно Интернета
- стали использоваться стандартизованные протоколы и форматы, такие как TCP/IP, HTTP и HTML
- появилась коммерция в Интернете
Эти достижения в области сетей в совокупности с высокопроизводительными домашними компьютерами и современными операционными системами сделали потоковую мультимедийную информацию доступной широкому кругу простых пользователей. Автономные приёмники интернет-радио предлагали пользователям возможность прослушивания потокового звука без наличия компьютера.
В основном, мультимедиа информация занимает большие объёмы, так что затраты на хранение и передачу подобной информации всегда велики; поэтому, в большинстве случаев, передаваемая в поток информация сжимается при передаче в сеть вещания.
Мультимедиа потоки бывают двух видов: по запросу или живыми. Потоки информации, вызываемой по запросу пользователя, хранятся на серверах продолжительный период времени. Живые потоки доступны короткий период времени, например, при передаче видео со спортивных соревнований.
Примерно в 2002 году интерес к единому унифицированному потоковому формату и широкое распространение Adobe Flash поспособствовало разработке формата потокового видео через Flash, который использовался в Flash-проигрывателях, которые размещались на многих популярных видеохостингах, таких как YouTube, сегодня потоковые мультимедиа по умолчанию проигрываются в формате HTML5 видео, которые заменили Flash-проигрыватели.[1] Растущий интерес пользователей к потоковому видео побудил команду разработчиков YouTube внедрить новый сервис потокового вещания для пользователей.
Американская ассоциация звукозаписывающих компаний (RIAA) в своем отчете о доходах за 2015 год сообщила, что на услуги потокового мультимедиа пришлось 34,3 % от общего дохода музыкальной индустрии за год, увеличившись на 29 процентов по сравнению с предыдущим годом и став крупнейшим источником дохода, получив около 2,4 доллара млрд.
Термин «потоковое мультимедиа» был впервые использован для ленточных накопителей, изготовленных Data Electronics Inc. и предназначенных для медленного наращивания и запуска всей записанной информации; появление таких дорожек привело к снижению затрат на привод, что сделало продукт более конкурентоспособным. «Потоковое мультимедиа» было применено в начале 1990-х годов как лучший способ передачи видео по запросу. Впервые это было сделано Starlight Networks для потокового видео и Real Networks для потокового аудио.[5]
Потоковое вещание и хранение информации[править | править код]
Реализация сервера потокового вещания по принципу 1 клиент — 1 соединениеРазмер, необходимый для хранения потоковой мультимедиа информации (в большинстве файловых систем выражается в мегабайтах, гигабайтах, терабайтах и т. д.) вычисляется в зависимости от скорости передаваемой информации и продолжительности информации по следующей формуле (для одного пользователя и файла):
- размер хранилища (в мегабайтах) = продолжительность (в секундах) * битрейт (в кбит/с) / (8 * 1024)
(если считать, что 1 мегабайт = 8 * 1024 кбитов)
Пример из жизни:
Один час видео, закодированного со скоростью 300 кбит/с (типичное видео по состоянию на 2005 год, имеющее размер 320×240 пикселов), будет занимать:
- (3600 с * 300 кбит/с) / (8*1024) = порядка 128 Мб места на диске
Если файл, хранимый на сервере с режимом передачи по запросу, будут просматривать 1000 людей одновременно по протоколу Unicast (1 клиент — 1 соединение), то сервер должен иметь следующую пропускную способность:
- 300 кбит/с * 1000 = 300.000 кбит/с = 300 Мбит/с сетевого интерфейса
Это эквивалент порядка 135 ГБ информации в час. Разумеется, при использовании протокола Multicast нагрузка на сервер намного ниже, так как для передачи информации всем клиентам используется единственный поток. Следовательно, такой поток будет занимать всего 300 кбит/с сетевого интерфейса сервера. Более подробная информация об этих протоколах даётся ниже.
Если же видео 1080p 60p 3.472222 МБ/с * 8 = 27.777 мбит/сек * 1000 = 27.777 гбит/сек
2160p 120p 27.777 МБ/сек * 8 =222.222 мбит/сек * 1000 = 222.222 гбит/сек
Разработка сетевых протоколов потокового вещания вызывает следующие проблемы:
- Датаграмные протоколы, такие как User Datagram Protocol (UDP), отправляют поток медиаинформации как поток отдельных маленьких пакетов. Он прост и эффективен; в то же время, в спецификации протокола нет гарантии доставки данных получателю. Это очень сильно затрудняет поиск и исправление получаемых данных принимающим информацию приложением. При потере данных поток может быть отключен.
- Протоколы RTSP, RTP и RTCP специально разрабатывались для передачи мультимедийной информации по сети. Последние два построены на основе UDP.
- Надежные протоколы, такие как TCP, гарантируют корректность получаемых данных клиентов потокового вещания. Однако при большом количестве ошибок при соединении/подтверждении получаемой информации передаваемая информация может стать неактуальной. Это также может вызвать значительные задержки при передаче информации на время, затраченное на пересылку поврежденной информации. Одним из решений данной проблемы является буферизация информации на стороне клиента.
- Протоколы Unicast отправляют отдельную копию данных каждому клиенту. Unicast подходит для большинства пользователей сети Интернет, но сильно затрудняет масштабирование сервера для бо́льшего количества клиентов.
- При широковещательной передаче одна копия данных передается всем клиентам сервера Протоколы Multicast разработаны для снижения нагрузки с серверов на подключения/ширину канала при получении потокового мультимедиа большим количеством клиентов. Эти протоколы отсылают одну порцию данных целой группе клиентов. В зависимости от типа сетевой инфраструктуры, групповая передача данных может быть доступна, а может и не быть. Одним из потенциальных недостатков групповой передачи является отсутствие возможности реализовать функцию видео по запросу. Непрерывное вещание потоковой информации также делает невозможным управление воспроизведением пользователем. Однако, эта проблема может быть решена внедрением в сеть передачи данных кэширующих серверов и буферизирующего принимаемый поток программного обеспечения.
- Multicast позволяет передавать один поток информации группе клиентов по сети. Одной из проблем при реализации подобной схемы потокового вещания является корректная настройка маршрутизаторов для передачи широковещательных пакетов из одного сегмента сети в другой. Если организация, предоставляющая потоковое вещание, имеет контроль над сетью между сервером и клиентами (например, в образовательной, правительственной или корпоративной сети), то протоколы маршрутизации, такие как IGMP и PIM, могут быть использованы для доставки мультимедиа нескольким клиентам из различных сегментов LAN.
- Протоколы P2P могут использоваться при распространении предварительно записанной мультимедиа между компьютерами. Это снимает нагрузку с сервера, однако сеть передачи данных между сервером и одним из клиентов становится узким местом данного варианта реализации потокового вещания информации.
Типичными примерами потоковой передачи мультимедиа являются видео-записи, онлайн-трансляции и вебинары в интернете.
Есть также новые маркетинговые концепции. Например, Берлинский филармонический оркестр продает билеты на прямую трансляцию концерта через так называемый «Цифровой концертный зал».[7] Подобные «онлайн-концерты» также распространяются во многих разных местах — кинотеатрах — в разных местах земного шара. Аналогичная концепция используется Метрополитен-опера в Нью-Йорке. Многие успешные стартап-компании основывают свой бизнес на потоковом медиа.[8]
Потоковое медиа, защищенное авторским правом, не может быть[уточнить] скопировано с целью распространения. При этом потоковая передача или просмотр контента в Интернете является законным в Европе, даже если этот материал защищен авторским правом. [9]
Технология потокового видео и сферы ее применения
Загрузка…Потоковое вещание — это мультимедийный контент, который пользователи непрерывно получают от провайдера услуг. Термин в том числе применим как к таким источникам передачи информации, как радио и телевидение.
Передача потокового видео использует технологии сжатия и буферизации данных, благодаря чему трансляция ведется в режиме реального времени при отправке потока как последовательности сжатых пакетов. Особенность такого метода в том, что пользователю не нужно дожидаться полной загрузки видео файла для того, чтобы начать просмотр.
Способы передачи потокового видео
Для просмотра потокового видео на устройстве пользователя должен быть установлен специальный видеоплеер, поддерживающий эту функцию. Кстати, поставляемый в комплекте стандартного набора ПО Windows Media Player относится к таковым. Среди прочих популярных программ стоит отметить Quicktime Player и RealOne Player.
Однако отсутствие программы на ПК не ограничивает пользователя: в интернете есть множество ресурсов, поддерживающих потоковое онлайн вещание. Самыми известными из них являются Twitch и Youtube. В последнее время технологию подхватили популярные социальные сети – например, Facebook и Вконтакте.
Однако отсутствие программы на ПК не ограничивает пользователя: в интернете есть множество ресурсов, поддерживающих потоковое онлайн вещание. Самыми известными из них являются Twitch и Youtube. В последнее время Facebook и Вконтакте.
Для трансляции потокового мультимедиа обычно используется один из двух способов:
- Последовательный – видеофайл воспроизводится с жесткого диска компьютера пользователя или сервера провайдера услуг. Как правило, при передаче таким способом качество изображения и звука выше. К недостаткам стоит отнести то, что невозможно переключить ролик с одного момента на другой, не дождавшись его буферизации. То есть, интересующий фрагмент должен быть загружен, чтобы пользователь смог его просмотреть. Для трансляции подходит обычный веб-сервер.
- В реальном времени – требует наличия потокового сервера. Этот метод больше подходит для передачи видеофайлов большой длительности. Пользователь может выбрать место, с которого он хочет начать просмотр. Также этот вид потокового мультимедиа вещания используется для трансляции с веб-камеры или захвата экрана.
Используемые форматы и протоколы
Согласно общепринятым нормам, для трансляции видео сегодня используется несколько стандартов сжатия мультимедиа.
К ним относятся:
- MPEG. Первая версия разработана группой специалистов Moving Picture Experts Group в 1988 году. Сегодня актуальны стандарт MPEG-2, используемый для кодирования видео и аудио на DVD, передачи спутникового и кабельного ТВ-сигнала. MPEG-4, кроме вышеперечисленного, регламентирует особенности сжатия 3D-объекктов, видеотелефонии и широкоформатного вещания;
- RealVideo. Видеокодек, разработанный компанией RealNetworks в 1997 году. Формат подходит для трансляции сигнала в сетях TCP/IP (Интернет), однако для локальной сети это не лучший вариант;
- QuickTime. Технология, созданная компанией Apple в 1991 году. Этот мультимедийный фреймворк задействован во всех устройствах производителя, выполняющих вещание или принимающих потоковое видео.
Передача данных в сфере видеотрансляции регламентируется такими протоколами:
- UDP – отправляет поток метаинформации отдельными небольшими пакетами. К недостаткам можно отнести то, что получение пакета пользователем не гарантируется;
- RTSP – аналогичный протокол, «заточенный» на передачу аудио и видео;
- TCP – гарантирует корректность полученной информации. Требует буферизации данных на стороне клиента;
- Unicast – отправка отдельной копии файла каждому пользователю. Неэффективен при большом количестве пользователей, так как требует наличия мощных серверов;
- Multicast – передача по сети одной и той же информации группе пользователей. Требует корректной настройки маршрутизации. К недостаткам относится невозможность реализовать функцию «видео оп запросу»;
- P2P – используется для передачи между пользователями предварительно записанного мультимедийного файла. Позволяет снизить нагрузку на сервер.
Сферы применения потокового видео
Потоковая передача видео в реальном времени сегодня прочно закрепилась в жизни большинства пользователей интернета.
Технология широко используется для решения многих задач.
Просмотр видео в интернете
Как известно, в Глобальной Паутине найдется все – главное уметь искать. Пользователи могут посмотреть любой фильм, мультфильм или видеоклип в удобное время. Интересный факт: пальму первенства вот уже который год стабильно удерживают фильмы категории «18+»;
Видеосвязь
Да, популярные мессенджеры, поддерживающие эту функцию – например, Skype, используют те же технологии и протоколы. Кроме того, видеосвязь сегодня способно обеспечить большинство популярный социальных сетей, а также многие специализированные ресурсы.
Стоит отметить, что видеосвязь может не только удовлетворить потребность в общении и развлечении (как, например, сервис «Чат Рулетка» со случайным подбором собеседника), но находит и практическое применение во время организации обучающих вебинаров или онлайн-конференций.
Просмотр трансляции с веб-камер
Не покидая собственной квартиры, любой пользователь может посмотреть на известные достопримечательности, прочие интересные места или на нашу планету с борта МКС. Однако развлечением использование веб-камер не ограничивается: в последнее время все большую актуальность обретает наблюдение за избирательными участками во время выборов, что помогает обнаружить нарушения.
Широко применяется видеонаблюдение службами безопасности, однако в этом случае трансляция ведется не через интернет, а по локальной сети.
Стриминг
Благодаря доступности технологий при наличии соответствующего оборудования любому пользователю интернета доступно создание собственной трансляции. Более того, для тысяч энтузиастов это стало основным источником дохода: зритель при желании может поддержать стримера, пожертвовав ему определенную сумму.
В этой сфере лидерство стабильно остается за киберспортсменами, ведущими трансляцию игрового процесса.
Стоит отметить, что главная сложность при этом – удержание внимания аудитории: создать не просто банальное прохождение игры, а настоящее шоу, которое будет интересно смотреть, гораздо сложнее, чем настроить оборудование и передавать потоковое мультимедиа приемлемого качества.
Как и любая технология, эта не стоит на месте и стремительно развивается. Возможно, через несколько лет потоковая передача видео откроет перед пользователями возможности, которые казались фантастикой еще вчера.
Комментарии
Что такое потоковая передача мультимедиа?
Автор Исхаков Максим На чтение 5 мин. Просмотров 736 Опубликовано
Потоковая передача — это непрерывная передача аудио или видеофайлов с сервера клиенту. Проще говоря, потоковая передача — это то, что происходит, когда потребители смотрят телевизор или слушают подкасты на подключенных к интернету устройствах. При потоковой передаче медиафайл, воспроизводимый на клиентском устройстве, хранится удаленно и передается через интернет в течение нескольких секунд.
В чем разница между потоковой передачей и загрузкой?
Потоковая передача в режиме реального времени, это более эффективно, чем загрузка мультимедийных файлов. Если видеофайл загружен, копия всего файла сохраняется на жестком диске устройства, и видео не может воспроизводиться до завершения загрузки всего файла. Если видео передается в потоковом режиме, браузер воспроизводит его без копирования и сохранения. Видео загружается немного за один раз вместо загрузки всего файла целиком, и информация, загружаемая браузером, не сохраняется локально.
Можно подумать об этом, как о разнице между озером и рекой: оба содержат воду, и река может содержать столько же воды, сколько озеро. Разница в том, что в реке вода не находится в одном и том же месте в одно и то же время. Загруженный видеофайл больше похож на озеро, поскольку он занимает много места на жестком диске (и для перемещения озера требуется много времени). Потоковое видео больше похоже на реку, в том, что данные видео непрерывно, быстро течет в браузер пользователя.
Как и другие данные, передаваемые через интернет, аудио и видеоданные разбиваются на пакеты данных. Каждый пакет содержит небольшой фрагмент файла, и аудио или видеоплеер в браузере на клиентском устройстве принимает поток пакетов данных и интерпретирует их как видео или аудио.
Отправка видео через интернет, в отличие от отправки текста и неподвижных изображений, требует более быстрого метода передачи данных, чем TCP/IP, который отдает приоритет надежности над скоростью.
Как протокол UDP улучшает потоковую передачу?
UDP — это транспортный протокол, который используется для перемещения пакетов данных по сетям. UDP используется с интернет-протоколом (IP), и вместе они называются UDP/IP. В отличие от TCP, UDP не отправляет сообщения назад и вперед, чтобы открыть соединение перед передачей данных, и он не гарантирует, что все пакеты данных прибывают и находятся в порядке. В результате передача данных не занимает столько времени, сколько через TCP, и, хотя некоторые пакеты теряются по пути, существует так много пакетов данных, участвующих в поддержании потока, что пользователь не должен замечать потерянные.
Большая часть интернета использует TCP или протокол управления передачей. Этот транспортный протокол предусматривает тщательное взаимное подтверждение для открытия соединения. Как только соединение открыто, и два коммутирующих устройства передают пакеты назад и вперед, TCP гарантирует, что передача надежна, что все пакеты поступают в порядке.
Для потоковой передачи скорость намного важнее надежности. Например, если кто-то смотрит эпизод телешоу онлайн, не каждый пиксель должен присутствовать на каждом кадре эпизода. Пользователь предпочел бы иметь смотреть эпизод на нормальной скорости, чем сидеть и ждать каждый бит данных, которые будут доставлены. Поэтому, несколько потерянных пакетов данных не является огромной проблемой, и именно поэтому потоковая передача использует UDP.
Если TCP похож на службу доставки пакетов, которая требует, чтобы получатель подписал его, то UDP похож на службу доставки, которая оставляет пакеты на переднем крыльце, не стуча в дверь, чтобы получить подпись. Служба доставки TCP теряет меньше пакетов, но служба доставки UDP работает быстрее, так как пакеты могут быть выгружены, даже если их никто не подписывает.
Потоковая передача и буферизация
Потоковые медиаплееры загружаются на несколько секунд раньше времени, чтобы видео или аудио могли продолжить воспроизведение, если соединение ненадолго прервано. Это называется буферизацией. Буферизация обеспечивает плавное и непрерывное воспроизведение видео. Однако при медленных соединениях или большой задержке в сети буферизация видео может занять много времени.
Какие факторы замедляют стриминг?
На стороне сети:
- Задержки в сети: различные факторы задержки воздействия, в том числе контент, который пользователи пытаются получить.
- Перегрузка сети: если через сеть передается слишком много данных, это может снизить производительность потоковой передачи.
На стороне пользователя:
- Проблемы wi-fi: перезапуск маршрутизатора LAN или переключение на провод вместо Wi-Fi может помочь улучшить производительность потоковой передачи.
- Медленные клиентские устройства: для воспроизведения видео требуется большая вычислительная мощность. Если устройство, на котором просматривается потоковое видео, имеет много других работающих процессов, или просто медленно в целом, потоковое производительность может быть затронута.
- Недостаточно пропускной способности: для потокового видео домашним сетям требуется около 4 Мбит/с пропускной способности. Для видео высокой четкости им, вероятно, потребуется больше.
Как сделать потоковую передачу быстрее?
Потоковая передача подвержена тем же задержкам и снижению производительности, что и другие виды веб-контента. Поскольку потоковое содержимое хранится в другом месте, расположение хостинга имеет большое значение, как и в случае с любым типом содержимого, доступного через интернет. Если пользователь в Нью-Йорке пытается выполнить потоковую передачу с сервера Netflix в Лос Гатос, видеоконтент должен будет пересечь 3000 миль, чтобы достичь пользователя, и видео придется потратить много времени на буферизацию или может даже не воспроизводиться вообще. По этой причине Netflix и другие поставщики потоковой передачи широко используют распределенные сети доставки контента (CDN), хранящие контент в местах по всему миру, которые намного ближе к пользователям.
CDN оказывают огромное положительное влияние на производительность потоковой передачи. Cloudflare Stream Delivery использует сеть CDN Cloudflare для хранения видеоконтента во всех точках присутствия Cloudflare по всему миру. В результате сокращается задержка для времени запуска видео и уменьшается буферизация.
Потоковое видео: что это такое?
Потоковая передача — это непрерывная передача аудио или видеофайлов с сервера клиенту. Проще говоря, потоковая передача — это то, что происходит, когда потребители смотрят телевизор или слушают подкасты на подключенных к интернету устройствах. При потоковой передаче медиафайл, воспроизводимый на клиентском устройстве, хранится удаленно и передается через интернет в течение нескольких секунд.
Содержание
В чем разница между потоковой передачей и загрузкой?
Потоковая передача в режиме реального времени, это более эффективно, чем загрузка мультимедийных файлов. Если видеофайл загружен, копия всего файла сохраняется на жестком диске устройства, и видео не может воспроизводиться до завершения загрузки всего файла. Если видео передается в потоковом режиме, браузер воспроизводит его без копирования и сохранения. Видео загружается немного за один раз вместо загрузки всего файла целиком, и информация, загружаемая браузером, не сохраняется локально.
Можно подумать об этом, как о разнице между озером и рекой: оба содержат воду, и река может содержать столько же воды, сколько озеро. Разница в том, что в реке вода не находится в одном и том же месте в одно и то же время. Загруженный видеофайл больше похож на озеро, поскольку он занимает много места на жестком диске (и для перемещения озера требуется много времени). Потоковое видео больше похоже на реку, в том, что данные видео непрерывно, быстро течет в браузер пользователя.
Как работает потоковая передача мультимедиа?
Как и другие данные, передаваемые через интернет, аудио и видеоданные разбиваются на пакеты данных. Каждый пакет содержит небольшой фрагмент файла, и аудио или видеоплеер в браузере на клиентском устройстве принимает поток пакетов данных и интерпретирует их как видео или аудио.
Отправка видео через интернет, в отличие от отправки текста и неподвижных изображений, требует более быстрого метода передачи данных, чем TCP/IP, который отдает приоритет надежности над скоростью.
Как протокол UDP улучшает потоковую передачу?
UDP — это транспортный протокол, который используется для перемещения пакетов данных по сетям. UDP используется с интернет-протоколом (IP), и вместе они называются UDP/IP. В отличие от TCP, UDP не отправляет сообщения назад и вперед, чтобы открыть соединение перед передачей данных, и он не гарантирует, что все пакеты данных прибывают и находятся в порядке. В результате передача данных не занимает столько времени, сколько через TCP, и, хотя некоторые пакеты теряются по пути, существует так много пакетов данных, участвующих в поддержании потока, что пользователь не должен замечать потерянные.
Большая часть интернета использует TCP или протокол управления передачей. Этот транспортный протокол предусматривает тщательное взаимное подтверждение для открытия соединения. Как только соединение открыто, и два коммутирующих устройства передают пакеты назад и вперед, TCP гарантирует, что передача надежна, что все пакеты поступают в порядке.
Для потоковой передачи скорость намного важнее надежности. Например, если кто-то смотрит эпизод телешоу онлайн, не каждый пиксель должен присутствовать на каждом кадре эпизода. Пользователь предпочел бы иметь смотреть эпизод на нормальной скорости, чем сидеть и ждать каждый бит данных, которые будут доставлены. Поэтому, несколько потерянных пакетов данных не является огромной проблемой, и именно поэтому потоковая передача использует UDP.
Если TCP похож на службу доставки пакетов, которая требует, чтобы получатель подписал его, то UDP похож на службу доставки, которая оставляет пакеты на переднем крыльце, не стуча в дверь, чтобы получить подпись. Служба доставки TCP теряет меньше пакетов, но служба доставки UDP работает быстрее, так как пакеты могут быть выгружены, даже если их никто не подписывает.
Потоковая передача и буферизация
Потоковые медиаплееры загружаются на несколько секунд раньше времени, чтобы видео или аудио могли продолжить воспроизведение, если соединение ненадолго прервано. Это называется буферизацией. Буферизация обеспечивает плавное и непрерывное воспроизведение видео. Однако при медленных соединениях или большой задержке в сети буферизация видео может занять много времени.
Какие факторы замедляют стриминг?
На стороне сети:
- Задержки в сети: различные факторы задержки воздействия, в том числе контент, который пользователи пытаются получить.
- Перегрузка сети: если через сеть передается слишком много данных, это может снизить производительность потоковой передачи.
На стороне пользователя:
- Проблемы wi-fi: перезапуск маршрутизатора LAN или переключение на провод вместо Wi-Fi может помочь улучшить производительность потоковой передачи.
- Медленные клиентские устройства: для воспроизведения видео требуется большая вычислительная мощность. Если устройство, на котором просматривается потоковое видео, имеет много других работающих процессов, или просто медленно в целом, потоковое производительность может быть затронута.
- Недостаточно пропускной способности: для потокового видео домашним сетям требуется около 4 Мбит/с пропускной способности. Для видео высокой четкости им, вероятно, потребуется больше.
Как сделать потоковую передачу быстрее?
Потоковая передача подвержена тем же задержкам и снижению производительности, что и другие виды веб-контента. Поскольку потоковое содержимое хранится в другом месте, расположение хостинга имеет большое значение, как и в случае с любым типом содержимого, доступного через интернет. Если пользователь в Нью-Йорке пытается выполнить потоковую передачу с сервера Netflix в Лос Гатос, видеоконтент должен будет пересечь 3000 миль, чтобы достичь пользователя, и видео придется потратить много времени на буферизацию или может даже не воспроизводиться вообще. По этой причине Netflix и другие поставщики потоковой передачи широко используют распределенные сети доставки контента (CDN), хранящие контент в местах по всему миру, которые намного ближе к пользователям.
CDN оказывают огромное положительное влияние на производительность потоковой передачи. Cloudflare Stream Delivery использует сеть CDN Cloudflare для хранения видеоконтента во всех точках присутствия Cloudflare по всему миру. В результате сокращается задержка для времени запуска видео и уменьшается буферизация.
Дата публикации: 2018-02-01
От автора: поскольку все больше и больше клиентов используют сети с высокой пропускной способностью, потоковое видео стало нормой в Интернете. Социальные медиа, веб-сайты и потоковые сервисы, такие как YouTube и Netflix, передаются прямо на ваш телефон. Исследование показало, что видео повышает взаимодействие с клиентами, поэтому мы должны ожидать, что количество видео в Интернете и на мобильных устройствах будет продолжать расти быстрыми темпами. Но что нужно для хорошего воспроизведения видео? И (возможно, что более важно), как вы можете реализовать хорошее воспроизведение видео, которое также очень высокоэффективно? В этой статье я сосредоточусь на нескольких способах оптимизации потоковой передачи HTTP Live Streaming (HLS) для улучшения доставки. Эти передовые методы также применяются к форматам MPEG-DASH и другим потоковым форматам и ни в коем случае не являются исчерпывающим списком, а просто представляют собой способы повышения производительности потоковой передачи видео.
Исследование: что делает хороший поток?
Ответ: зависит от разных факторов. Клиенты демонстрируют различное поведение для разных типов потоков. Это интуитивно имеет смысл — если вы сидите и смотрите телешоу или фильм (более 15 минут), вы будете более терпеливыми, чем, если это будет видео с котом, едущем на Roomba.
Я рассмотрю 3 основных показателя качества видео, которые необходимо учитывать.
Задержка запуска: время от нажатия воспроизведения до тех пор, как начнётся поток.
Столбцы. В буфере устройства видео не остается, и воспроизведение останавливается.
JavaScript. Быстрый старт
Изучите основы JavaScript на практическом примере по созданию веб-приложения
Узнать подробнее
Качество видео: сколько пикселей на экране в любой момент времени.
Эти показатели сильно зависят от того, насколько быстро видео можно транспортировать по сети. В исследовательской работе Akamai обнаружено, что после 2 секунд задержки запуска клиенты начинают отказываться со скоростью 5,8% за дополнительную секунду. Они также считают, что более длинные (и более многочисленные) торможения приводят к отказу. Наконец, видео высокого качества более приятно смотреть, поэтому важно избегать пиксельного и низкого качества видео.
Таким образом, мы хотим, чтобы каждый клиент брал быстрый старт, высокое качество видео и без торможений. Но мы также знаем, что у нас нет контроля над сетевыми условиями или устройством, используемым для просмотра нашего видеоконтента.
Скриншоты в этой статье взяты из AT & T Video Optimizer, бесплатного инструмента, который собирает сетевые захваты на вашем мобильном устройстве. Он оценивает сетевой трафик против ~ 40 лучших способов повышения производительности сети вашего приложения. Помимо видео, он также просматривает изображения, текстовые файлы, соединения и другие функции производительности сети.
Как мы можем обеспечить быструю и регулярную доставку видео?
Когда дело доходит до потоковой передачи видео, лучший способ обеспечить быструю доставку видео высокого качества — иметь несколько разных битрейтов одного и того же видео, доступного для загрузки. В HLS видео-запрос начинается с доставки файла манифеста. Этот файл (часто с расширением .m3u8) перечисляет доступные видеокодировки для видео, которое будет доставлено. Каждая строка этого текстового файла содержит информацию о доступных потоках. На следующей диаграмме я извлек критическую информацию из видеопотока:
Первое, что вы могли заметить, — это столбец идентификатора, который немного не соответствует порядку. Существуют значения 1-7, но список начинается с 3. Каждый идентификатор отображает полосу пропускания, разрешение и аудио и видео кодеки, используемые для создания потока.
Запуск видео
Первым битрейтом, указанным в манифесте, является качество видео, которое первоначально запросит пользователь. Если этот список был последовательным, видеопоток начался бы с очень низкого качества 1 (128 × 320 @ 193 KBPS). С положительной стороны, 193 KBPS будет загружаться очень быстро в большинстве сетей.
Если бы порядок был отменен, начальное качество видео было бы чрезвычайно высоким (676 × 1024 3.6 MBPS). И хотя большое качество видео важно, это может привести к очень большой задержке запуска в сети с пропускной способностью менее 3,6 МБ.
Лучшая практика № 1: Чтобы сбалансировать начальное качество видео и задержку запуска, поместите поток средней полосы пропускания / качества в качестве первого выбора, чтобы сбалансировать быструю загрузку / запуск видео и начальное качество видео.
Проигрывание видео
После того, как плеер начнет загружать видео сегменты (2-8 сек фрагментов видео для воспроизведения), проигрыватель будет измерять скорость загрузки. Если он подсчитает, что сеть может обеспечить видео более высокого качества достаточно быстро, он попытается загрузить более качественную версию видео. И наоборот, если сеть работает медленнее, она снизится до более низкого качества видео, чтобы обеспечить постоянный поток. Каждый раз при изменении качества видео загружается манифест для нового потока, и видео может начать загрузку новой версии.
Video Optimizer может отслеживать количество сегментов в буфере локального устройства и отчитывается количество буферизованного видео в секундах и МБ во время сбора данных:
Если любое из этих чисел достигает 0, на устройстве больше нет видеозаписи, и видео будет остановлено.
JavaScript. Быстрый старт
Изучите основы JavaScript на практическом примере по созданию веб-приложения
Узнать подробнее
Используя функцию «Затухание сети» в «Оптимизаторе видео», я изменил пропускную способность сети с 5 Мбайт до 1 Мбит / с в среднем потоке, и мы видим, что видеопроигрыватель начинает запрашивать более качественные видео сегменты, снижая с 1,5 МБПС и в конечном итоге устанавливая 500 КБ.
(Кроме того, можно подумать: если пропускная способность сети составляет 1 Мбайт, то почему 800 KBPS-видео плохо транслируется? Оказывается, есть два потока: один для видео и аудио — поток размером 128 Кбайт. Плеер определил, что 928 килобайт (+ накладные, + аналитика) были слишком приближены к 1024 KBPS и понизил видео. В этом случае можно было бы сделать аргумент за то, что более низкое качество звуковой дорожки, чтобы гарантировать, что более высокое разрешение видео воспроизводится. Кроме того, Лучшая практика: Качество звука (отдельный поток или встроенный в видеопоток) влияет на общую скорость передачи видео).
Очевидно, что несколько битрейтов помогут обеспечить хорошее видео. Примеры, показанные выше, имеют кодировки с изменениями битрейта, которые увеличиваются в довольно регулярные интервалы. Это означает, что небольшие изменения пропускной способности сети будут лишь незначительно влиять на качество видео на экране. Сравните это с рекомендуемым списком битрейтов, который я обнаружил в Интернете:
Представьте, что вы просматриваете видео, закодированное на мобильном устройстве с пропускной способностью 1,4 Мбайт. Единственный возможный вариант — ID 1, а это означает, что любой из пользователей 3G будет видеть только видео с самым низким качеством видео. Кроме того, разница в качестве видео между потоками 1 и 2, вероятно, значительна. Если видео перемещается между битрейтами 1 и 2 несколько раз, изменение качества видео, скорее всего, будет очевидным для конечного пользователя. Этот набор кодировок не очень подходит для потоковой передачи данных на мобильных устройствах.
Лучшая практика № 2: Доступны несколько битрейтов с регулярными интервалами между качествами. Это помогает обеспечить плавное прогрессирование качества видео и предотвратить значительные изменения качества видео.
Видеоплееры отличаются своей агрессивностью, чтобы улучшить качество видео. Некоторые видеопроигрыватели, почувствовав более высокую пропускную способность, начнут процесс замены сегмента — где видео сегменты, уже загруженные с более низким качеством, загружаются снова с более высоким качеством. Это приводит к тому, что один и тот же сегмент загружается более одного раза, но поскольку он улучшает отображаемое видео, я считаю его компромиссным, который обычно оценивается. Например, в таблице ниже сегменты 111-112 изначально загружаются с качеством 0. Плеер регистрирует всплеск пропускной способности и оценивает, что эти 2 сегмента можно заменить и повторно загружать по качеству 2. Однако плеер также довольно агрессивный, загружая 112 третий время в качестве 4. В целом для 4-секундного сегмента 112. потребляется ~ 2 МБ данных. Это может считаться слишком агрессивным — поскольку он тратит большой объем данных.
Мы также видели примеры «замены обратного сегмента», когда плеер загружает более качественную версию после того, как уже имеет более качественную версию на устройстве. В этом случае сегменты 134-134 загружаются с качеством 4 (1,6 MBPS), а затем загружаются с качеством 1 (447 KBPS):
По крайней мере, если качество 4 воспроизводится конечному пользователю, ~ 370 КБ будет потрачено впустую (сумма качественных 1 сегментов). Если воспроизводится качество 1, ~ 1,3 МБ данных теряется, и пользователю предоставляется ухудшенное воспроизведение видео.
Лучшая практика № 3: если ваш видеопроигрыватель агрессивно продвигается к высокоскоростному видео, убедитесь, что замена сегмента только улучшает качество видео. Мониторинг использования данных замены сегмента для ваших пользователей (в Video Optimizer это сообщается как избыточность).
Для видео с несколькими высокими потоками битрейта агрессивный алгоритм битрейта может привести к увеличению количества остановок. Если локальный буфер составляет 30 МБ, но поток работает с 8 Мбайт / с, то локальная локация может быть только 2-3 секунды. Внезапное изменение пропускной способности, вероятно, приведет к остановке, прежде чем сеть и сервер смогут отреагировать.
Лучшая практика # 4: при потоковой передаче видео с высоким битрейтом убедитесь, что буфер устройства может поддерживать много секунд видео для учета внезапных изменений пропускной способности. Альтернатива: ограничить максимальные битрейты для устройств с ограниченной памятью.
Вывод:
Потоковое видео становится все более распространенным в Интернете и в мобильных приложениях. Однако потоковая передача видео сложна десятками потенциальных переменных, которые могут повлиять на качество воспроизведения для ваших клиентов. В этом посте мы выделили лишь некоторые из функций потоковой передачи HLS, которые могут повлиять на время запуска видео, предотвратить блокировки и обеспечить передачу потокового видео высочайшего качества заказчику, одновременно сводя к минимуму потраченные впустую данные.
Автор: Doug Sillars
Источник: https://calendar.perfplanet.com/
Редакция: Команда webformyself.
JavaScript. Быстрый старт
Изучите основы JavaScript на практическом примере по созданию веб-приложения
Узнать подробнее
Верстка-Мастер. От теории до верстки популярных шаблонов
Изучите современную верстку сайтов с нуля
Подробнее
Небольшие правки, которые могут сильно повлиять на доступность вашего сайта TypeScript — Вложенный оператор if —>
Метки:сайтостроение
Похожие статьи:
Комментарии Вконтакте:
Комментарии Facebook:
https://webformyself.com/potokovoe-video-chto-eto-takoe/—>
Потоковое вещание — это мультимедийный контент, который пользователи непрерывно получают от провайдера услуг. Термин в том числе применим как к таким источникам передачи информации, как радио и телевидение.
Передача потокового видео использует технологии сжатия и буферизации данных, благодаря чему трансляция ведется в режиме реального времени при отправке потока как последовательности сжатых пакетов. Особенность такого метода в том, что пользователю не нужно дожидаться полной загрузки видео файла для того, чтобы начать просмотр.
Способы передачи потокового видео
Для просмотра потокового видео на устройстве пользователя должен быть установлен специальный видеоплеер, поддерживающий эту функцию. Кстати, поставляемый в комплекте стандартного набора ПО Windows Media Player относится к таковым. Среди прочих популярных программ стоит отметить Quicktime Player и RealOne Player.
Однако отсутствие программы на ПК не ограничивает пользователя: в интернете есть множество ресурсов, поддерживающих потоковое онлайн вещание. Самыми известными из них являются Twitch и Youtube. В последнее время технологию подхватили популярные социальные сети – например, Facebook и Вконтакте.
Однако отсутствие программы на ПК не ограничивает пользователя: в интернете есть множество ресурсов, поддерживающих потоковое онлайн вещание. Самыми известными из них являются Twitch и Youtube. В последнее время Facebook и Вконтакте.
Для трансляции потокового мультимедиа обычно используется один из двух способов:
- Последовательный – видеофайл воспроизводится с жесткого диска компьютера пользователя или сервера провайдера услуг. Как правило, при передаче таким способом качество изображения и звука выше. К недостаткам стоит отнести то, что невозможно переключить ролик с одного момента на другой, не дождавшись его буферизации. То есть, интересующий фрагмент должен быть загружен, чтобы пользователь смог его просмотреть. Для трансляции подходит обычный веб-сервер.
- В реальном времени – требует наличия потокового сервера. Этот метод больше подходит для передачи видеофайлов большой длительности. Пользователь может выбрать место, с которого он хочет начать просмотр. Также этот вид потокового мультимедиа вещания используется для трансляции с веб-камеры или захвата экрана.
Используемые форматы и протоколы
- MPEG. Первая версия разработана группой специалистов Moving Picture Experts Group в 1988 году. Сегодня актуальны стандарт MPEG-2, используемый для кодирования видео и аудио на DVD, передачи спутникового и кабельного ТВ-сигнала. MPEG-4, кроме вышеперечисленного, регламентирует особенности сжатия 3D-объекктов, видеотелефонии и широкоформатного вещания;
- RealVideo. Видеокодек, разработанный компанией RealNetworks в 1997 году. Формат подходит для трансляции сигнала в сетях TCP/IP (Интернет), однако для локальной сети это не лучший вариант;
- QuickTime. Технология, созданная компанией Apple в 1991 году. Этот мультимедийный фреймворк задействован во всех устройствах производителя, выполняющих вещание или принимающих потоковое видео.
Передача данных в сфере видеотрансляции регламентируется такими протоколами:
- UDP – отправляет поток метаинформации отдельными небольшими пакетами. К недостаткам можно отнести то, что получение пакета пользователем не гарантируется;
- RTSP – аналогичный протокол, «заточенный» на передачу аудио и видео;
- TCP – гарантирует корректность полученной информации. Требует буферизации данных на стороне клиента;
- Unicast – отправка отдельной копии файла каждому пользователю. Неэффективен при большом количестве пользователей, так как требует наличия мощных серверов;
- Multicast – передача по сети одной и той же информации группе пользователей. Требует корректной настройки маршрутизации. К недостаткам относится невозможность реализовать функцию «видео оп запросу»;
- P2P – используется для передачи между пользователями предварительно записанного мультимедийного файла. Позволяет снизить нагрузку на сервер.
Сферы применения потокового видео
Потоковая передача видео в реальном времени сегодня прочно закрепилась в жизни большинства пользователей интернета.
Технология широко используется для решения многих задач.
Просмотр видео в интернете
Как известно, в Глобальной Паутине найдется все – главное уметь искать. Пользователи могут посмотреть любой фильм, мультфильм или видеоклип в удобное время. Интересный факт: пальму первенства вот уже который год стабильно удерживают фильмы категории «18+»;
Видеосвязь
Да, популярные мессенджеры, поддерживающие эту функцию – например, Skype, используют те же технологии и протоколы. Кроме того, видеосвязь сегодня способно обеспечить большинство популярный социальных сетей, а также многие специализированные ресурсы.
Стоит отметить, что видеосвязь может не только удовлетворить потребность в общении и развлечении (как, например, сервис «Чат Рулетка» со случайным подбором собеседника), но находит и практическое применение во время организации обучающих вебинаров или онлайн-конференций.
Просмотр трансляции с веб-камер
Не покидая собственной квартиры, любой пользователь может посмотреть на известные достопримечательности, прочие интересные места или на нашу планету с борта МКС. Однако развлечением использование веб-камер не ограничивается: в последнее время все большую актуальность обретает наблюдение за избирательными участками во время выборов, что помогает обнаружить нарушения.
Широко применяется видеонаблюдение службами безопасности, однако в этом случае трансляция ведется не через интернет, а по локальной сети.
Стриминг
Благодаря доступности технологий при наличии соответствующего оборудования любому пользователю интернета доступно создание собственной трансляции. Более того, для тысяч энтузиастов это стало основным источником дохода: зритель при желании может поддержать стримера, пожертвовав ему определенную сумму.
Как и любая технология, эта не стоит на месте и стремительно развивается. Возможно, через несколько лет потоковая передача видео откроет перед пользователями возможности, которые казались фантастикой еще вчера.
Комментарии
Каждый из нас любит смотреть видео на своем смартфоне или планшете. Кто-то смотрит видео онлайн, а кто-то предпочитает закачать файл на свой гаджет. В каждом из вариантов есть свои нюансы, – попытаемся в них разобраться.
Для начала нам понадобится плеер и набор кодеков для преобразования потока данных, то есть видео. Чаще всего достаточно установить продвинутый видеоплеер, который включает в себя всё необходимое, например MX Player. Он установит нужные для вашего устройства кодеки, учитывая особенности и тип процессора.
Сканирование памяти происходит в автоматическом режиме, а значит всё, что вы скачали, появится в библиотеке приложения. Таким образом, вы всегда сможете наслаждаться просмотром фильмов или сериалов. Единственное ограничение – разрешение видео, а если формат не читается, вместо аппаратного декодирования, можно попробовать программное, это особенно актуально для слабых устройств. Главный недостаток – необходимость ждать полной загрузки файла.
Если же у вас нет возможности качать что-то и загружать на свое устройство, не любите ждать, тогда просмотр онлайн видео подойдет лучше всего. Видеофайл хранится на сервере, а его проигрывание может осуществляться без необходимости скачивания. Для этого, в момент загрузки через браузер, выберите удобный для просмотра плеер, процесс займет пару секунд, в зависимости от скорости интернета. Как правило, разрешение и качество не высокое, поэтому проблем с воспроизведением не будет. Главный недостаток – привязка к сетевому подключению и не возможность просмотра чего-либо при его отсутствии или низкой скорости.
Для удобства просмотра и обмена онлайн видео, так же можно воспользоваться плейлистами, например, с разрешением «*.M3U». По сути это обычный текстовый файл с прямой ссылкой на видео внутри него. Вся прелесть в том, что за раз добавить в библиотеку можно несколько фильмов, серий любимого сериала или же сразу пару сезонов. Кроме того это могут быть ссылки на различные трансляции, передачи и даже каналы. По умолчанию такие плейлисты распознают BSPlayer и VLC for Android, а тот же MX Player, только если вставить ссылку на прямую.
Напоследок хотелось бы отметить, что оба метода хороши и имеют как достоинства, так и недостатки. Лучше всего не ограничиваться только локальным или онлайн просмотром, а совместить и тот и другой вариант. Когда есть доступ к интернету, смотреть потоковое видео, а когда сетевое подключение не доступно, довольствоваться тем, что сохранено во внутренней памяти устройства.
1 год назад
В посте о скачивании видео без плагинов ( https://pikabu.ru/story/kak_skachat_kontent_s_lyubogo_sayta_… ) у многих возникли вопросы что делать с потоковым видео? Свой способ я проверял на таких онлайн-кинотеатрах как Б**кино и Г**онлайн, на других должен работать тоже.
Все действия производились в Опере, для Хрома все аналогично.
Для начала нам надо получить ссылку на .m3u8 файл. Для этого открываем страницу с фильмом. Нажимаем Ctrl+Shift+J и открываем вкладку Network. Далее запускаем воспроизведение. Ждем пока пройдет реклама и начнется фильм. В поиске вбиваем .m3u8. Находим два файла. Нам нужен тот, который больше размером (второй). Копируем его адрес.
Далее нам нужен VLC Media Player. Открываем его.В Медиa -> Открыть URL ( или просто Ctrl+N). Вставляем ссылку на наш .m3u8 файл. Далее возле кнопки Воспроизвести стрелка вниз -> Поток
Далее на вкладке «Настройка вывода» нажимаем добавить и выбираем куда сохранить видео.
И в конце нажимаем кнопку «Поток»
Теперь ждем пока синяя строка дойдет до конца, и можно смотреть фильм.
Используемые источники:- https://bezopasnik.info/%d1%87%d1%82%d0%be-%d1%82%d0%b0%d0%ba%d0%be%d0%b5-%d0%bf%d0%be%d1%82%d0%be%d0%ba%d0%be%d0%b2%d0%b0%d1%8f-%d0%bf%d0%b5%d1%80%d0%b5%d0%b4%d0%b0%d1%87%d0%b0-%d0%bc%d1%83%d0%bb%d1%8c%d1%82%d0%b8%d0%bc/
- https://webformyself.com/potokovoe-video-chto-eto-takoe/
- https://www.redmax.tv/blog/potokovoe-video/
- https://androfon.ru/article/vosproizvedenie-lokalnogo-i-potokovogo-video-raznyh-formatov
- https://pikabu.ru/story/skachivaem_potokovoe_video_5615686
5 инструментов для загрузки или захвата потокового видео с любого веб-сайта
5 инструментов для загрузки или захвата потокового видео с любого веб-сайта
Как закачать видео с YouTube, Facebook, Instagram, Vimeo, Dailymotion, Lynda, Twitter, Udemy и сотни других сайтов? Есть несколько проверенных программ и расширений, которые легко это сделают.
Доступно на: Chrome, Firefox.
Поддерживаемые сайты: YouTube, Facebook, Instagram, Vimeo, Dailymotion, Lynda, Twitter, Udemy и сотни других сайтов.
Расширение Video DownloadHelper добавляет кнопку рядом с адресной строкой вашего браузера. Всякий раз, когда вы сталкиваетесь с онлайн-видео, просто нажмите кнопку, чтобы загрузить любое видео на текущей странице.
Доступно на: Windows, Mac, Linux.
Поддерживаемые сайты: YouTube, Facebook, Vimeo, Flickr, Dailymotion и несколько других сайтов.
Просто скопируйте URL-адрес онлайн-видео и вставьте его в 4K Video Downloader. Загрузка доступна в 8K, 4K, 1080p или 720p и в форматах MP4, MKV и FLV. Или вы можете загрузить только аудио в форматах MP3 или M4A.
Доступно на: Windows.
Поддерживаемые сайты: YouTube, Facebook, Liveleak, Veoh, Vimeo, Dailymotion и десятки других сайтов.
Freemake Video Downloader — один из самых популярных инструментов для скачивания видео. Он полностью свободен, прост в использовании и относительно гибкий по сравнению с параметрами качества и формата. Единственным недостатком является то, что он доступен только в Windows.
Видео можно загружать в нескольких форматах, включая AVI, FLV, MKV, MP4 и WMV.
Доступно на: Windows, Mac, Linux.
Поддерживаемые сайты: практически любой сайт с потоковым видео.
JDownloader похож на Freemake Video Downloader. Вы берете URL-адрес любой страницы, на которой есть потоковое видео, вставляете ее в приложение и просматриваете ссылки для всех видео, которые она может обнаружить. Вы можете выбрать, какие из обнаруженных видеороликов вы хотите скачать.
Доступно на: Windows, Mac, Linux.
Поддерживаемые сайты: YouTube, Facebook, HBO, Metacafe, Vimeo, Dailymotion и тысячи других сайтов.
youtube-dl — это инструмент для продвинутых пользователей, которым удобно пользоваться командной строкой. Вы также можете попробовать youtube-dl-gui , который является неофициальным интерфейсом пользовательского интерфейса, доступного для Windows и Linux.
Особенности включают в себя несколько параметров выбора и качества видео, обработку списка воспроизведения, ограничение скорости загрузки, загрузку пакетного видео, автоматическое именование файлов, включение рекламы (в настоящее время экспериментальное) и загрузку субтитров (для таких сайтов, как YouTube).
Поддерживаются следующие форматы: 3GP, AAC, FLV, M4A, MP3, MP4, OGG, WAV и WEBM.
Спасибо, что читаете! Подписывайтесь на мой канал в Telegram и Яндекс.Дзен. Только там последние обновления блога и новости мира информационных технологий. Также, читайте меня в социальных сетях: Facebook, Twitter, VK, OK.
Респект за пост! Спасибо за работу!
Хотите больше постов? Узнавать новости технологий? Читать обзоры на гаджеты? Для всего этого, а также для продвижения сайта, покупки нового дизайна и оплаты хостинга, мне необходима помощь от вас, преданные и благодарные читатели. Подробнее о донатах читайте на специальной странице.
На данный момент есть возможность стать патроном, чтобы ежемесячно поддерживать блог донатом, или воспользоваться Яндекс.Деньгами, WebMoney, QIWI и PayPal:
Спасибо! Все собранные средства будут пущены на развитие сайта. Поддержка проекта является подарком владельцу сайта.
Поделиться ссылкой:
Потоковое видео | Обработка видео | Софт
Термином “потоковое видео” (streaming video) сегодня обозначают технологии сжатия и буферизации данных, которые позволяют передавать видео в реальном времени через Интернет. Главная особенность потокового видео заключается в том, что при его передаче пользователь не должен ждать полной загрузки файла для того, чтобы его просмотреть. Streaming video пересылается непрерывным потоком в виде последовательности сжатых пакетов и проигрывается по мере того, как передается на компьютер получателя.
Для просмотра потокового видео пользователю обычно нужен специальный проигрыватель, который декодирует данные и выводит расшифрованное изображение на экран. Этот плеер может интегрироваться в оболочку браузера или же работать как самостоятельная программа. Чаще всего используются три проигрывателя – RealOne Player , Windows Media Player и Quicktime Player .
Способы передачи
Существуют два способа передачи потокового видео – последовательный (progressive streaming) и в реальном времени (Real-time streaming).
При передаче последовательным способом качество изображения всегда лучше, поскольку видео воспроизводится с вашего жесткого диска. Для такого способа передачи видео можно использовать стандартный веб-сервер. Однако, недостатком последовательного способа передачи является то, что при воспроизведении файла перескакивать от одного эпизода к другому невозможно. Таким образом, чтобы просмотреть какую-нибудь часть клипа, вам необходимо будет загрузить его до нужного момента. Поэтому последовательная передача видео через интернет, в основном, используется для коротких клипов.
Для осуществления передачи видео в реальном времени требуется специальный потоковый сервер (streaming server). Видеофайл хранится на этом сервере, и для просмотра загружать его на жесткий диск не нужно. Пользователь может начать просмотр видео с любого момента, не дожидаясь, пока файл закачается. Передачу видео в реальном времени удобно использовать для трансляции файлов большой длины.
Потоковые серверы дают возможность управлять медиа передачей, однако, они более сложны в настройке и администрировании, чем обычные HTTP-серверы. Кроме специальных серверов, используются и особые сетевые протоколы, например, RTSP (Real-Time Streaming Protocol). Этот протокол используется Windows Media по умолчанию, но он также поддерживается Real Video.
RTSP – это протокол, с возможностью контролируемой передачи видеопотока в интернете. Протокол обеспечивает пересылку информации в виде пакетов между сервером и клиентом. При этом получатель может одновременно воспроизводить первый пакет данных, декодировать второй и получать третий.
Протокол RTP (Real-time transport protocol) определяет и компенсирует потерянные пакеты, обеспечивает безопасность передачи контента и распознавание информации. Вместе с RTP работает протокол RTCP (Real-Time Control Protocol). Он отвечает за проверку идентичности отправленных и полученных пакетов, идентифицирует отправителя и контролирует загруженность сети.
Форматы
Существует несколько основных форматов потокового видео в интернете. Это – Real Media, Windows Media и Quicktime. До недавнего времени наряду с ними широко использовался MPEG, однако, в последнее время он сильно сдал позиции.
MPEG
Формат MPEG был разработан компанией Moving Picture Experts и до недавнего времени считался стандартом потокового вещания. Существует несколько версий MPEG.
Формат MPEG-1 был создан в далеком 1988-м году и обеспечивал качество VHS при записи видео на CD-ROM. Несмотря на то, что MPEG-1 разрабатывался как формат хранения, а не передачи файлов, он обеспечивает отличное качество потокового видео на высоких битрейтах. Оптимальный битрейт для этого формата — 1.5мб/с для разрешения 352×240 при частоте 30 кадров в секунду. Однако, файлы MPEG-1 обычно слишком велики для передачи по интернету.
Формат MPEG-2 был разработан для вещания цифрового телевидения и со временем также стал использоваться при записи DVD. Его битрейт еще выше, чем у MPEG-1 (между 4 и 9мб/c), что позволяет добиться изображения высокой четкости. Его использование как потоковой технологии не очень распространено, так его скорость передачи информации очень велика. Для просмотра файла в формате MPEG-2 в режиме онлайн нужно иметь скорость передачи данных около 400кб/c и выше.
Формат MPEG-4 был специально разработан для передачи данных по интернету и мобильной связи. Его оптимальный битрейт – между 385 и 768 кб/c. MPEG-4 может использоваться для передачи аудио и видео потоков, обеспечивая при этом высокое качество кодирования при большой степени компрессии. Однако, если на небольшой скорости передачи данных он обеспечивает хорошее качество, для широкополосной передачи он не приспособлен.
RealVideo
RealVideo – это формат, который был разработан для потоковой трансляции. Для передачи данных на DVD или CD-ROM он практически не используется из-за высоких аппаратных требований. Особенностью файлов RealVideo является невозможность редактирования или повторной компрессии. Этот формат использует методы компрессии, которые уменьшают количество кадров в видео, и удаляет ненужную информацию из кадров. Качество при этом будет зависеть от количества деталей в кадрах и от динамики событий. Благодаря большому уровню компрессии этот формат подходит для пользователей с низкой скоростью соединения.
QuickTime
Этот формат, разработанный Apple, широко используется как на компьютерах Mac, так и в среде Windows. QuickTime имеет много общего с форматом Real Media. Степень сжатия файла QuickTime — 1 мб для 3.75 секунд видео, поэтому размер изображения может быть увеличен и уменьшен без потери качества. Это означает, что видеофайл с разрешением 320×240 может быть просмотрен в полноэкранном режиме с таким же качеством. Формат QuickTime лучше всего подходит для последовательной передачи потокового видео, так как в процессе загрузки файла запускается плеер, который воспроизводит полученную информацию.
Windows Media
Windows Media – это относительно молодой формат в области потокового вещания, поддерживаемый Microsoft. Последняя разработка компании — Windows Media Video 9. Этот формат превосходит по производительности своего предшественника WMV8 на 15-30 процентов. Сравнение же с другими форматами потокового вещания тоже говорит только в его пользу. Так, например, видео в формате MPEG-4, транслируемое с битрейтом 6 мб/c, будет выглядеть аналогично сделанному при помощи WMV9 при 2 мб/c. А качество видео в формате WMV9, передаваемого на скорости 150 кб/с, ничуть не хуже, чем аналогичного в формате MPEG-4 на 300 кб/c.
Какой формат выбрать
На сегодняшний день еще можно говорить о том, что значительная часть пользователей выходит в интернет через dial-up, а значит, на очень низких скоростях. Лишь немногие могут себе позволить скорость более 2мб/c, однако в последние пару лет значительно увеличилось количество пользователей, которые выходят в интернет через выделенную линию со скоростями от 128кб/с. На таких скоростях уже возможна передача данных с качеством на уровне VHS.
Скорость вашего интернет-соединения имеет значение при выборе формата. Windows Media 7,8, Windows MPEG-4, Real Media, Quicktime лучше всего подходят для диапазона скорости от 36кб/c до 500 кб/c. Windows media 9, MPEG4 (ISO и DivX) можно выбирать, если ваша скорость от 500 кб/c до 3мб/c. Для высоких скоростей (от 1мб/c до 3мб/c) лучше всего подойдет MPEG-1, а для очень высоких (от 3мб/c до 15мб/c) — MPEG2. Хороший кодировщик MPEG-1 даст качество VHS на скорости 1.5 мб/c, качество SVHS — на 2.5 мб/c. MPEG-2 обеспечит качество DVD (4:2:0) на 5мб/c, видео качество 4:2:2 — на 10 — 15мб/c. Таким образом, MPEG 1, 2 позволяют достичь очень высокого качества передачи видео, правда, и интернет-доступ для получения этого качества должен быть соответствующий.
Проблемы передачи
При трансляции потокового видео через интернет могут возникать проблемы, ухудшающие качество передачи. Среди них можно выделить несколько основных.
— Перебои в связи.
Потоковое вещание требует стабильного коннекта. Поскольку интернет не может обеспечить прямую передачу данных между отправителем и получателем, поток может обрываться или приостанавливаться на какое-то время. Решением данной проблемы является буферизация данных, однако, эффективность такого способа при передаче видео очень низка.
— Маломощный компьютер.
Даже если просмотр потокового контента осуществляется на мощном компьютере, но при этом открыто большое количество приложений, скорость загрузки видео будет невелика. Поэтому желательно закрыть все окна и программы, кроме браузера и проигрывателя.
— Помехи на телефонной линии
Эта проблема актуальна только для пользователей, которые выходят в интернет через dial-up. Всевозможные потрескивания, щелчки и прочие шумы снижают качество передачи. Решением этой проблемы может быть использование более качественного доступа в интернет посредством cable или DSL.
Как сохранить видео на диск
Существует несколько способов сохранения потокового видео на диск. Самый простой – определение ссылки на файл и последующая его загрузка любым менеджером закачки.
Обычно ссылка скрыта в метафайле (RAM, ASX, SMIL). Если кликнуть правой кнопкой мыши по ссылке на видеофайл в окне браузера и выбрать команду «Save target as …», метафайл будет сохранен на жесткий диск. После этого его можно открыть в любом текстовом редакторе (например, в Блокноте) и скопировать ссылку на файл. Если метафайл защищен паролем или скрыт при помощи JavaScript, Flash и т.д., можно попытаться открыть файл в плеере и просмотреть его свойства. Например, чтобы увидеть ссылку на видео файл в RealOne Player, нужно выполнить команду View > Clip > Clip Info или View > Clip > Clip Source. В качестве альтернативы этому способу можно использовать программы, позволяющие отследить источник файла, например URLSnooper .
Если ссылку определить не удалось, можно попробовать использовать для загрузки специальные программы. Их можно условно разделить на два типа: менеджеры закачки, поддерживающие протоколы, которые используются при передаче потокового видео, и программы для захвата видео потока. Первые позволяют скачать файл с сервера на жесткий диск, а вторые – перехватить его в процессе просмотра и записать отдельным файлом.
HiDownload
Основное преимущество этого менеджера перед аналогичными – возможность записи потоков в форматах Windows Media и RealVideo. HiDownload поддерживает все стандартные протоколы, которые используются для передачи потокового видео. При помощи программы можно также загружать потоковое видео, защищенное паролем.
Net Transport
Бесплатная программа, работающая с большинством потоковых протоколов. Поддерживает протоколы HTTP, HTTPS, FTP, MMS (Microsoft Media Services), и RTSP (Real-Time Streaming Protocol). Как и большинство современных download-менеджеров, Net Transport может разбивать скачиваемый файл на отдельные части, что увеличивает скорость передачи данных. Net Transport позволяет загружать видео в форматах Windows Media и RealVideo, защищенное паролем.
Offline Explorer
Оффлайн-браузер, позволяющий скачивать файлы по протоколам HTTP, FTP, HTTPS, MMS и RTSP. Программу особенно удобно использовать для загрузки больших файлов. Программа доступна в трех версиях, и только две из них (Pro и Enterprise) поддерживают потоковые протоколы.
WM Recorder
WM Recorder записывает потоковое видео в формате Windows Media в процессе просмотра через Windows Media Player. Потоковые данные перехватываются и записываются в файл ASF, который впоследствии может быть воспроизведен любым проигрывателем, поддерживающим этот формат. WM Recorder поддерживает докачку файлов при последовательной передаче. При передаче в реальном времени докачка невозможна. Недостатком WM Recorder можно считать невозможность перехвата файлов, защищенных DRM (Digital Rights Management).
При попытке сохранения видеопотока можно столкнуться с проблемой недостаточной пропускной способности линии. Видео высокого качества требует и большой скорости соединения. Однако, в некоторых случаях возможно сохранить видео высокого качества и при низкоскоростном коннекте. Если используется передача в реальном времени, видео поток не может быть записан на скорости, которая превышает скорость вашего соединения. Если же передача ведется последовательным способом, это возможно. Для этого нужно изменить настройки пропускной способности канала. Некоторые утилиты, например, упомянутые выше HiDownload и WM Recorder позволяют сделать это автоматически.
Потоковое вещание (Live streaming). Общая информация » IT и Мультимедиа
В этой статье обобщим информацию по такому популярному на сегодняшний день термину, как потоковое вещание. Рассмотрим основные компоненты и технологии, которые используются для создания Live streaming. Познакомится с основными серверами и кодерами.
Итак, начнем с короткого определения
Потоковое вещание – это доставка мультимедийных потоков информации (видео, аудио) удаленным пользователям, в реальном режиме времени.
Также можно встретить следующие обозначения это термина:
- Живая трансляция.
- Потоковое видео.
- Линейное вещание.
- Прямая трансляция в Интернет.
- Трансляция в реальном режиме времени.
- Потоковая передача мультимедийного контента.
- Онлайн трансляция.
Примеры потокового вещания
Потоковое вещание может создаваться как компаниями, так и обычными пользователями. В Интернете можно найти довольно много сервисов, которые позволяют любому пользователю создать свою собственную трансляцию за несколько простых шагов. Ниже несколько примеров Live streaming.
- Прямые видеотрансляции футбольных матчей.
- Трансляции выступлений конференций.
- Трансляция пользователем, в сеть Интернет, своего собственного ТВ-канала, например, изображения клетки, с любимым питомцем — попугаем.
Некоторые характеристики потокового вещания
- Протоколы передачи (MPEG-DASH, HLS, MPEG-TS (UDP), RTMP, RTSP/RTP, HTTP и др.).
- Разрешение видео.
- Кодек.
- Задержка воспроизведения.
- Битрей потока.
Битрей потока может быть один для всех пользователей, например 500Кбит/сек, но лучше использовать технологии мультибитрейтного или адаптативного вещания, когда битрейт будет изменяться в зависимости от различных условий или характеристик сети. На сегодняшний день все новые сервера поддерживают технологии переключения битрейтов.
Конечные пользователи, в зависимости от ситуации, могут получать потоковое видео на разные устройства
- Компьютер.
- Мобильное устройство.
- Телевизор с доступом в Интернет.
Источники потокового видео
Рассмотрим на примере трансляции с камеры. Для того чтобы организовать отправку изображения с камеры, необходимо в первую очередь, захватить и кодировать видео сигнал с камеры кодером. Далее кодер отправляет поток на медиа сервер, к которому уже подключаются удаленные пользователи и запрашивают трансляцию для просмотра.
Примеры кодеров.
- Flash Media Live Encoder.
- Telestream WireCast.
- Haivision KulaByte Encoders.
- Microsoft Expression Encoder Pro.
- Flash web приложение.
Примеры Медиа серверов
- Adobe Flash Media Streaming Server.
- Wowza Streaming Server.
- Red5 (бесплатный).
- Erlyvideo (бесплатный).
- Microsoft IIS Media Services.
- RealNetworks Helix Universal Server.
Подробнее почитать про медиа сервера вы можете в одной из моих статей.
Плееры для просмотра потокового вещания
- Flash медиа плеер.
- HTML5 видео плеер.
- VLC плеер.
Популярные видео кодеки
Популярные аудио кодеки
Рассмотрим отличие мультимедийных потоков Видеочата от Потокового видео
По сути, видеочат — это множество одновременных взаимодействий по средствам передачи потокового видео. Но, как правило, Live streaming не предусматривает обратной связи через передачу видео и аудио с удаленными пользователями. В некоторых случаях пользователи все же могут влиять на сюжет видеотрансляции. Например, если это трансляция конференции, пользователь, как правило, может задавать вопросы в текстовом чате или по электронной почте, которые просматриваются и передаются выступающему человеку модераторами онлайн трансляции.
—
В данной статье мы только обозначили некоторые аспекты, связанные с Live streaming. В будущем я планирую более подробно писать об отдельных технологиях связанных с потоковой передачей.
Если вам нужно что-то настроить или получить консультацию по медиа-серверам и системам, можете обращаться ко мне и нашей команде через форму контактов.
До встречи! Всем хорошего настроения!