Потоковое мультимедиа. Потоковое вещание (Live streaming)

Потоковое видео (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). Он отвечает за проверку идентичности отправленных и полученных пакетов, идентифицирует отправителя и контролирует загруженность сети. Форматы
Существует несколько основных форматов потокового видео в интернете. Это - FLV (или Flash Video), Real Media, Windows Media и Quicktime. До недавнего времени наряду с ними широко использовался MPEG, однако, в последнее время он сильно сдал позиции.
FLV (Flash Video)
FLV - формат файлов, используемый для передачи видео через Интернет. Файлы этого формата имеют расширение *.flv и используются всеми популярными видеохостингами, такими сервисами, как YouTube, Google Video, RuTube, Tube.BY, Муви, Obivu и другими. Хотя описание формата контейнера было открыто, кодеки защищены патентами, и остаются собственническими. FLV-файл - это битовый поток, являющийся вариантом видеостандарта H.263. Звук в FLV, как правило, закодирован в MP3, а в 9-ой версии Flash Player добавлена поддержка и AAC аудио. Файлы в формате FLV можно просматривать в большинстве операционных систем, поскольку он использует широко распространённый Adobe Flash и плагины к большинству браузеров, а также поддерживается многими программами для воспроизведения видео, например, MPlayer, VLC media player, Media Player Classic) и другими программами, работающими с помощью DirectShow.

Иллюстрация сайта thesportist.ru

MPEG
Формат MPEG был разработан компанией Moving Picture Experts и до недавнего времени считался стандартом потокового вещания. Существует несколько версий MPEG.
Формат MPEG-1 был создан в далеком 1988-м году и обеспечивал качество VHS при записи видео на CD-ROM. Несмотря на то, что MPEG-1 разрабатывался как формат хранения, а не передачи файлов, он обеспечивает отличное качество потокового видео на высоких битрейтах. Оптимальный битрейт для этого формата - 1.5мб/с для разрешения 352x240 при частоте 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 является невозможность редактирования или повторной компрессии. Этот формат использует методы компрессии, которые уменьшают количество кадров в видео, и удаляет ненужную информацию из кадров. Качество при этом будет зависеть от количества деталей в кадрах и от динамики событий. Благодаря большому уровню компрессии этот формат подходит для пользователей с низкой скоростью соединения.

Иллюстрация сайта www.3dnews.ru

QuickTime
Этот формат, разработанный Apple, широко используется как на компьютерах Mac, так и в среде Windows. QuickTime имеет много общего с форматом Real Media. Степень сжатия файла QuickTime - 1 мб для 3.75 секунд видео, поэтому размер изображения может быть увеличен и уменьшен без потери качества. Это означает, что видеофайл с разрешением 320x240 может быть просмотрен в полноэкранном режиме с таким же качеством. Формат QuickTime лучше всего подходит для последовательной передачи потокового видео, так как в процессе загрузки файла запускается плеер, который воспроизводит полученную информацию.

Иллюстрация сайта rustelcard.ru

Windows Media
Windows Media - это формат в области потокового вещания, поддерживаемый Microsoft. Последняя разработка компании - Windows Media Video 10. Этот формат превосходит по производительности своего предшественника на 15-30 процентов. Сравнение же с другими форматами потокового вещания тоже говорит только в его пользу. Так, например, видео в формате MPEG-4, транслируемое с битрейтом 6 мб/c, будет выглядеть аналогично сделанному при помощи WMV9 при 2 мб/c. А качество видео в формате WMV9, передаваемого на скорости 150 кб/с, ничуть не хуже, чем аналогичного в формате MPEG-4 на 300 кб/c.


Иллюстрация сайта 3dnews.ru

Используемые источники:

1. ci.ru
2. 3dnews.ru
3. rustelcard.ru

Streaming Data is data that is generated continuously by thousands of data sources, which typically send in the data records simultaneously, and in small sizes (order of Kilobytes). Streaming data includes a wide variety of data such as log files generated by customers using your mobile or web applications, ecommerce purchases, in-game player activity, information from social networks, financial trading floors, or geospatial services, and telemetry from connected devices or instrumentation in data centers.

This data needs to be processed sequentially and incrementally on a record-by-record basis or over sliding time windows, and used for a wide variety of analytics including correlations, aggregations, filtering, and sampling. Information derived from such analysis gives companies visibility into many aspects of their business and customer activity such as –service usage (for metering/billing), server activity, website clicks, and geo-location of devices, people, and physical goods –and enables them to respond promptly to emerging situations. For example, businesses can track changes in public sentiment on their brands and products by continuously analyzing social media streams, and respond in a timely fashion as the necessity arises.

Streaming data processing is beneficial in most scenarios where new, dynamic data is generated on a continual basis. It applies to most of the industry segments and big data use cases. Companies generally begin with simple applications such as collecting system logs and rudimentary processing like rolling min-max computations. Then, these applications evolve to more sophisticated near-real-time processing. Initially, applications may process data streams to produce simple reports, and perform simple actions in response, such as emitting alarms when key measures exceed certain thresholds. Eventually, those applications perform more sophisticated forms of data analysis, like applying machine learning algorithms, and extract deeper insights from the data. Over time, complex, stream and event processing algorithms, like decaying time windows to find the most recent popular movies, are applied, further enriching the insights.

  • Sensors in transportation vehicles, industrial equipment, and farm machinery send data to a streaming application. The application monitors performance, detects any potential defects in advance, and places a spare part order automatically preventing equipment down time.
  • A financial institution tracks changes in the stock market in real time, computes value-at-risk, and automatically rebalances portfolios based on stock price movements.
  • A real-estate website tracks a subset of data from consumers’ mobile devices and makes real-time property recommendations of properties to visit based on their geo-location.
  • A solar power company has to maintain power throughput for its customers, or pay penalties. It implemented a streaming data application that monitors of all of panels in the field, and schedules service in real time, thereby minimizing the periods of low throughput from each panel and the associated penalty payouts.
  • A media publisher streams billions of clickstream records from its online properties, aggregates and enriches the data with demographic information about users, and optimizes content placement on its site, delivering relevancy and better experience to its audience.
  • An online gaming company collects streaming data about player-game interactions, and feeds the data into its gaming platform. It then analyzes the data in real-time, offers incentives and dynamic experiences to engage its players.

Before dealing with streaming data, it is worth comparing and contrasting stream processing and batch processing . Batch processing can be used to compute arbitrary queries over different sets of data. It usually computes results that are derived from all the data it encompasses, and enables deep analysis of big data sets. MapReduce-based systems, like Amazon EMR, are examples of platforms that support batch jobs. In contrast, stream processing requires ingesting a sequence of data, and incrementally updating metrics, reports, and summary statistics in response to each arriving data record. It is better suited for real-time monitoring and response functions.

Batch processing Stream processing
Data scope Queries or processing over all or most of the data in the dataset. Queries or processing over data within a rolling time window, or on just the most recent data record.
Data size
Large batches of data.
Individual records or micro batches consisting of a few records.
Performance Latencies in minutes to hours. Requires latency in the order of seconds or milliseconds.
Analyses Complex analytics. Simple response functions, aggregates, and rolling metrics.

Many organizations are building a hybrid model by combining the two approaches, and maintain a real-time layer and a batch layer. Data is first processed by a streaming data platform such as Amazon Kinesis to extract real-time insights, and then persisted into a store like S3, where it can be transformed and loaded for a variety of batch processing use cases.

Streaming data processing requires two layers: a storage layer and a processing layer. The storage layer needs to support record ordering and strong consistency to enable fast, inexpensive, and replayable reads and writes of large streams of data. The processing layer is responsible for consuming data from the storage layer, running computations on that data, and then notifying the storage layer to delete data that is no longer needed. You also have to plan for scalability, data durability, and fault tolerance in both the storage and processing layers. As a result, many platforms have emerged that provide the infrastructure needed to build streaming data applications including Amazon Kinesis Streams , Amazon Kinesis Firehose , Apache Kafka , Apache Flume, Apache Spark Streaming, and Apache Storm.

Amazon Web Services (AWS) provides a number options to work with streaming data. You can take advantage of the managed streaming data services offered by Amazon Kinesis , or deploy and manage your own streaming data solution in the cloud on Amazon EC2.

Amazon Kinesis is a platform for streaming data on AWS, offering powerful services to make it easy to load and analyze streaming data, and also enables you to build custom streaming data applications for specialized needs. It offers two services: Amazon Kinesis Firehose, and Amazon Kinesis Streams.

In addition, you can run other streaming data platforms such as –Apache Kafka, Apache Flume, Apache Spark Streaming, and Apache Storm –on Amazon EC2 and Amazon EMR.

Звуковые и видеофайлы имеют большой информационный объем.
Для передачи таких файлов по компьютерным сетям в стандартных цифровых форматах требуются линии связи с высокой пропускной способностью. Цифровой стереозвук высокого качества требует скорости передачи данных, равной 1,5 Мбит/с.
Цифровое видео телевизионного стандарта требует для передачи изображения скорости передачи данных около 240 Мбит/с.
Для уменьшения объемов звуковых и видеофайлов без ощущаемой потери качества используются специальные методы сжатия, основанные на удалении не воспринимаемой человеком звуковой или видеоинформации.

Потоковые звук и видео.
Широкое распространение в Интернете получили технологии передачи потокового звука и видео. Эти технологии передают звуковые и видеофайлы по частям в буфер локального компьютера, что обеспечивает возможность их потокового воспроизведения даже при использовании модемного подключения. Снижение скорости передачи по каналу может приводить к временным пропаданиям звука или пропускам видеокадров.
Для прослушивания потокового звука и просмотра потокового видео используются мультимедиа проигрыватели. Во время воспроизведения потокового мультимедиа файла пользователь получает информацию о скорости передачи данных и может настраивать качество воспроизведения.

Существует достаточно много радио- и телевизионных станций, которые осуществляют вещание через Интернет. Широкой популярностью пользуются Web-камеры, установленные в самых разных уголках мира (на улицах городов, в музеях, в заповедниках и т. д.) и непрерывно передающие изображение.

История

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

С конца 1980-х и до 1990-х компьютеры, доступные потребителям, уже были способны отображать различные виды информации. Основными техническими проблемами потокового вещания были:

Тем не менее, компьютеры сети оставались ограниченными, а потоковое мультимедиа уступало традиционному (CD-ROM).

В период с 1990 до 2000 пользователи интернета получили:

  • высокую пропускную способность сетей, в частности, на последней миле
  • возросло количество абонентов сетей, особенно Интернета
  • стали использоваться стандартизованные протоколы и форматы, такие как TCP/IP , HTTP и HTML
  • появилась коммерция в Интернете

Эти достижения в области сетей в совокупности с высокопроизводительными домашними компьютерами и современными операционными системами сделали потоковую мультимедийную информацию доступной широкому кругу простых пользователей. Автономные приёмники интернет-радио предлагали пользователям возможность прослушивания потокового звука без наличия компьютера.

В основном, мультимедиа информация занимает большие объемы, так что затраты на хранение и передачу подобной информации всегда велики; поэтому, в большинстве случаев, передаваемая в поток информация сжимается при передаче в сеть вещания.

Мультимедиа потоки бывают двух видов: по запросу или живыми . Потоки информации, вызываемой по запросу пользователя, хранятся на серверах продолжительный период времени. Живые потоки доступны короткий период времени, например, при передаче видео со спортивных соревнований.

Потоковое вещание и хранение информации

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

Размер хранилища (в мегабайтах) = продолжительность (в секундах) * битрейткбит/с) / (8 * 1024)

Пример из жизни:

Один час видео, закодированного со скоростью 300 кбит/с (типичное видео по состоянию на 2005 год, имеющее размер 320×240 пикселов), будет занимать:

(3600 с * 300 кбит/с) / (8*1024) = порядка 130 Мб места на диске

Если файл, хранимый на сервере с режимом передачи по запросу, будет просматриваться 1000 людей одновременно по протоколу Unicast (1 клиент - 1 соединение), то сервер должен иметь следующую пропускную способность:

300 кбит/с * 1000 = 300.000 кбит/с = 300 Мбит/с сетевого интерфейса

Это эквивалент порядка 125 Гб информации в час. Разумеется, при использовании протокола Multicast нагрузка на сервер намного ниже, так как для передачи информации всем клиентам используется единственный поток. Следовательно, такой поток будет занимать всего 300 кбит/с сетевого интерфейса сервера. Более подробная информация об этих протоколах даётся ниже.

Протоколы потокового вещания

Разработка сетевых протоколов потокового вещания вызывает следующие проблемы:

См. также


Wikimedia Foundation . 2010 .

Смотреть что такое "Потоковое мультимедиа" в других словарях:

    Ниже представлен список систем потокового мультимедиа с ссылками на соответствующие статьи: Содержание 1 Серверы 2 P2P и мультикастинг 3 Software as a service … Википедия

    У этого термина существуют и другие значения, см. ITV (значения). Содержание 1 Хронология событий 2 Цена в США … Википедия

    В этой таблице сравниваются основные технические данные различных цифровых аудиоформатов. Сравниваются как форматы файла без сжатия, так и с применением сжатия. Содержание 1 Сравнение звуковых форматов без сжатия … Википедия

    Apple - (Эпл, Апл) История компании Apple, руководство Apple, иски против Apple Персональные и планшетные компьютеры, мобильные телефоны, аудиоплееры, программное обеспечение компании Apple, iPhone, iPad, iPod classic, iPod shuffle, iPod nano, iPod touch … Энциклопедия инвестора

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

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

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

    Запрос «Software» перенаправляется сюда. Cм. также другие значения. Программное обеспечение (произношение обеспечение не рекомендуется, точнее, не рекомендовалось) наряду с аппаратными средствами, важнейшая составляющая информационных … Википедия электронная книга