что такое потоковая загрузка
Разница между потоковой передачей и загрузкой мультимедиа
Доступ к фильмам и музыке из вашей сети или онлайн
Потоковая передача и загрузка – это два способа доступа к цифровому медиа-контенту (фотографии, музыка, видео), но многие считают, что эти термины взаимозаменяемы. Тем не менее, они не являются – они на самом деле описывают два разных процесса.
Что такое потоковая передача
«Потоковое» обычно используется при обращении к общему медиа. Вы, наверное, слышали это в разговорах о просмотре фильмов и музыки из Интернета.
«Потоковая передача» описывает процесс воспроизведения мультимедиа на одном устройстве, когда мультимедиа сохраняется на другом. Носители могут быть сохранены в «The Cloud» на компьютере, медиа-сервере или сетевом устройстве хранения данных (NAS) в вашей домашней сети. Сетевой медиаплеер или медиа-стример (включая Smart TV и большинство проигрывателей Blu-ray) могут получить доступ к этому файлу и воспроизвести его. Файл не нужно перемещать или копировать на воспроизводящее его устройство.
Точно так же, медиа, которые вы хотите воспроизвести, может быть получено с онлайн-сайта. Видеосайты, такие как Netflix и Vudu, и музыкальные сайты, такие как Pandora и Last.fm, являются примерами веб-сайтов, которые транслируют фильмы и музыку на ваш компьютер и/или в сетевой медиаплеер или медиа-стример. Когда вы нажимаете кнопку для воспроизведения видео на YouTube или телешоу на ABC, NBC, CBS или Hulu, вы транслируете мультимедиа с этого веб-сайта на свой компьютер, сетевой медиаплеер или медиа-стример. Потоковая передача происходит в режиме реального времени; файл доставляется на ваш компьютер, как вода из крана.
Вот примеры того, как работает потоковая передача.
Что такое загрузка
Другой способ воспроизведения мультимедиа на сетевом медиаплеере или компьютере – загрузка файла. Когда медиа загружается с веб-сайта, файл сохраняется на жестком диске вашего компьютера или сетевого медиаплеера. Когда вы загружаете файл, вы можете воспроизводить мультимедиа позже. Медиа-стримеры, такие как смарт-телевизоры, проигрыватели дисков Blu-ray, не имеют встроенного хранилища, поэтому вы не можете напрямую загружать в них файлы для последующего воспроизведения.
Вот примеры того, как работает загрузка:
Все сетевые мультимедийные проигрыватели и большинство мультимедийных потоков могут передавать файлы из домашней сети. У большинства из них теперь есть онлайн-партнеры, с которых они могут передавать музыку и видео. Некоторые сетевые медиаплееры имеют встроенные жесткие диски или могут устанавливать портативный жесткий диск для сохранения файлов. Понимание разницы между потоковой передачей и загрузкой мультимедиа поможет вам выбрать сетевой медиаплеер или мультимедийный стример, который подходит именно вам.
С другой стороны, медиа-стримеры (такие как Roku) – это устройства, которые могут передавать мультимедийный контент из Интернета, но не контент, хранящийся на локальных сетевых устройствах, таких как ПК и медиа-серверы, если только вы не установите дополнительное приложение, которое позволяет вам выполнить эту задачу (не все медиа-стримеры предлагают такое приложение).
Что такое потоковая передача мультимедиа?
Потоковая передача — это непрерывная передача аудио или видеофайлов с сервера клиенту. Проще говоря, потоковая передача — это то, что происходит, когда потребители смотрят телевизор или слушают подкасты на подключенных к интернету устройствах. При потоковой передаче медиафайл, воспроизводимый на клиентском устройстве, хранится удаленно и передается через интернет в течение нескольких секунд.
В чем разница между потоковой передачей и загрузкой?
Потоковая передача в режиме реального времени, это более эффективно, чем загрузка мультимедийных файлов. Если видеофайл загружен, копия всего файла сохраняется на жестком диске устройства, и видео не может воспроизводиться до завершения загрузки всего файла. Если видео передается в потоковом режиме, браузер воспроизводит его без копирования и сохранения. Видео загружается немного за один раз вместо загрузки всего файла целиком, и информация, загружаемая браузером, не сохраняется локально.
Можно подумать об этом, как о разнице между озером и рекой: оба содержат воду, и река может содержать столько же воды, сколько озеро. Разница в том, что в реке вода не находится в одном и том же месте в одно и то же время. Загруженный видеофайл больше похож на озеро, поскольку он занимает много места на жестком диске (и для перемещения озера требуется много времени). Потоковое видео больше похоже на реку, в том, что данные видео непрерывно, быстро течет в браузер пользователя.
Как работает потоковая передача мультимедиа?
Как и другие данные, передаваемые через интернет, аудио и видеоданные разбиваются на пакеты данных. Каждый пакет содержит небольшой фрагмент файла, и аудио или видеоплеер в браузере на клиентском устройстве принимает поток пакетов данных и интерпретирует их как видео или аудио.
Отправка видео через интернет, в отличие от отправки текста и неподвижных изображений, требует более быстрого метода передачи данных, чем TCP/IP, который отдает приоритет надежности над скоростью.
Как протокол UDP улучшает потоковую передачу?
UDP — это транспортный протокол, который используется для перемещения пакетов данных по сетям. UDP используется с интернет-протоколом (IP), и вместе они называются UDP/IP. В отличие от TCP, UDP не отправляет сообщения назад и вперед, чтобы открыть соединение перед передачей данных, и он не гарантирует, что все пакеты данных прибывают и находятся в порядке. В результате передача данных не занимает столько времени, сколько через TCP, и, хотя некоторые пакеты теряются по пути, существует так много пакетов данных, участвующих в поддержании потока, что пользователь не должен замечать потерянные.
Большая часть интернета использует TCP или протокол управления передачей. Этот транспортный протокол предусматривает тщательное взаимное подтверждение для открытия соединения. Как только соединение открыто, и два коммутирующих устройства передают пакеты назад и вперед, TCP гарантирует, что передача надежна, что все пакеты поступают в порядке.
Для потоковой передачи скорость намного важнее надежности. Например, если кто-то смотрит эпизод телешоу онлайн, не каждый пиксель должен присутствовать на каждом кадре эпизода. Пользователь предпочел бы иметь смотреть эпизод на нормальной скорости, чем сидеть и ждать каждый бит данных, которые будут доставлены. Поэтому, несколько потерянных пакетов данных не является огромной проблемой, и именно поэтому потоковая передача использует UDP.
Если TCP похож на службу доставки пакетов, которая требует, чтобы получатель подписал его, то UDP похож на службу доставки, которая оставляет пакеты на переднем крыльце, не стуча в дверь, чтобы получить подпись. Служба доставки TCP теряет меньше пакетов, но служба доставки UDP работает быстрее, так как пакеты могут быть выгружены, даже если их никто не подписывает.
Потоковая передача и буферизация
Потоковые медиаплееры загружаются на несколько секунд раньше времени, чтобы видео или аудио могли продолжить воспроизведение, если соединение ненадолго прервано. Это называется буферизацией. Буферизация обеспечивает плавное и непрерывное воспроизведение видео. Однако при медленных соединениях или большой задержке в сети буферизация видео может занять много времени.
Какие факторы замедляют стриминг?
На стороне пользователя:
Как сделать потоковую передачу быстрее?
Потоковая передача подвержена тем же задержкам и снижению производительности, что и другие виды веб-контента. Поскольку потоковое содержимое хранится в другом месте, расположение хостинга имеет большое значение, как и в случае с любым типом содержимого, доступного через интернет. Если пользователь в Нью-Йорке пытается выполнить потоковую передачу с сервера Netflix в Лос Гатос, видеоконтент должен будет пересечь 3000 миль, чтобы достичь пользователя, и видео придется потратить много времени на буферизацию или может даже не воспроизводиться вообще. По этой причине Netflix и другие поставщики потоковой передачи широко используют распределенные сети доставки контента (CDN), хранящие контент в местах по всему миру, которые намного ближе к пользователям.
CDN оказывают огромное положительное влияние на производительность потоковой передачи. Cloudflare Stream Delivery использует сеть CDN Cloudflare для хранения видеоконтента во всех точках присутствия Cloudflare по всему миру. В результате сокращается задержка для времени запуска видео и уменьшается буферизация.
Определение потоковой передачи данных
Потоковые данные – это данные, непрерывно генерируемые тысячами источников данных, которые обычно отправляют записи данных одновременно и небольшими объемами (по несколько килобайтов). В состав потоковых данных входят различные виды данных, например файлы журналов, сформированных клиентами при использовании мобильных или интернет-приложений, покупки в интернет-магазинах, действия игроков в играх, информация из социальных сетей, финансовые торговые площадки и геопространственные сервисы, а также телеметрические данные, полученные от подключенных устройств или оборудования в ЦОД.
Эти данные должны быть обработаны последовательно и инкрементно либо по каждой из записей, либо с использованием скользящего временного окна, после чего их можно использовать в различных аналитических задачах, включая корреляцию, агрегацию, фильтрацию и шаблонизацию. Информация, полученная в результате подобного анализа, позволяет компаниям разобраться во многих аспектах своей деятельности, например в использовании сервисов (для задач учета/выставления счетов), активности серверов, навигации по веб-сайтам, геолокации устройств, людей или товаров, и в результате быстро реагировать на изменяющиеся условия. К примеру, компании могут отслеживать изменения общественного настроя в отношении своих торговых марок и продуктов за счет постоянного анализа потоков данных из социальных сетей, а в случае необходимости принимать своевременные меры.
Преимущества потоковой передачи данных
Обработка потоковых данных является предпочтительной для большинства сценариев использования, подразумевающих непрерывное формирование новых динамических данных. Обработка потоковых данных применима в большинстве отраслевых сегментов и случаев использования, подразумевающих обработку больших данных. Обычно компании начинают с простых задач, например со сбора данных системных журналов, или с элементарных вычислений, например с обновления минимумов и максимумов. Затем эти задачи трансформируются в более сложную обработку, происходящую в режиме, близком к реальному времени. Изначально приложения могут обрабатывать потоки данных с целью формирования простых отчетов и выполнения простых ответных действий, например активации сигнализации, когда значения ключевых параметров выйдут за указанные границы. В итоге этим приложениям приходится выполнять более сложные формы анализа данных, например применять алгоритмы машинного обучения и достигать более глубокого понимания ситуации на основании данных. С течением времени в этот процесс также добавляются комплексные алгоритмы обработки потоков и событий, например анализ временных окон для определения самых свежих популярных кинофильмов, что позволяет получать еще более полезную аналитическую информацию.
Примеры потоковой передачи данных
Сравнение пакетной и потоковой обработки
Перед началом работы с потоковой передачей данных стоит сравнить потоковую обработку с пакетной обработкой и выявить различия. Пакетная обработка может использоваться для вычислений по любым запросам к данным из разных наборов. Обычно при расчете результатов подобной обработки используются все входящие в пакет данные, благодаря чему обеспечивается глубокий анализ наборов больших данных. В качестве примера платформ, поддерживающих пакетные задания, можно привести системы, использующие MapReduce, например Amazon EMR. В то же время потоковая обработка требует подачи последовательностей данных и инкрементного обновления метрик, отчетов и итоговой статистики в ответ на каждую поступающую запись данных. Этот тип обработки лучше всего подходит для мониторинга в режиме реального времени и функций ответа.
Пакетная обработка | Потоковая обработка | |
Охват данных | Запросы ко всем или большей части данных в наборе и их обработка. | Запросы к данным и их обработка в пределах скользящего временного окна или только по самой свежей записи данных. |
Размер данных | Большие пакеты данных. | Отдельные записи или микропакеты из нескольких записей. |
Производительность | Задержки от нескольких минут до нескольких часов. | Требуется задержка в пределах нескольких секунд или миллисекунд. |
Анализ | Комплексная аналитика. | Простые функции ответа, агрегации данных или динамических метрик. |
Многие организации выстраивают гибридные модели за счет комбинации двух подходов и поддерживают операции как на уровне реального времени, так и на пакетном уровне. Сначала данные обрабатываются с помощью платформы потоковых данных, например Amazon Kinesis, с целью извлечения важной информации в режиме реального времени, а затем размещаются в хранилище, например Amazon S3, где преобразуются и загружаются для решения различных задач пакетной обработки.
Возможные проблемы при работе с потоковыми данными
Работа с потоковыми данными в AWS
Amazon Web Services (AWS) предлагает различные варианты работы с потоковыми данными. Вы можете воспользоваться управляемыми сервисами потоковых данных, предлагаемых Amazon Kinesis, или развернуть в Amazon EC2 собственное решение и использовать его для работы с потоковыми данными в облаке.
Amazon Kinesis – это платформа для работы с потоковыми данными в AWS. Она предлагает мощные сервисы, которые упрощают загрузку и анализ потоковых данных, а также позволяет создавать свои собственные настраиваемые приложения для решения специфических задач, возникающих при обработке потоковых данных. Она предлагает три сервиса: Amazon Kinesis Data Firehose, Amazon Kinesis Data Streams и Amazon Managed Streaming for Apache Kafka (Amazon MSK).
Кроме того, вы можете использовать другие платформы потоковых данных, например Apache Flume, Apache Spark Streaming и Apache Storm, в Amazon EC2 и Amazon EMR.
Amazon Kinesis Data Streams
Сервис Amazon Kinesis Data Streams позволяет создавать настраиваемые приложения для обработки или анализа данных в режиме реального времени для решения узкоспециальных задач. Он может непрерывно захватывать и сохранять данные из сотен тысяч источников со скоростью несколько терабайтов в час. У вас есть возможность создавать приложения, потребляющие данные из Amazon Kinesis Data Streams, для работы панелей управления в режиме реального времени, выдачи оповещений, реализации динамического ценообразования, проведения рекламных кампаний и т. д. Amazon Kinesis Data Streams поддерживает платформы потоковой обработки, выбранные пользователем, включая Kinesis Client Library (KCL), Apache Storm и Apache Spark Streaming.
Amazon Kinesis Data Firehose
Amazon Kinesis Data Firehose – самый простой способ загрузки потоковых данных в AWS. Этот инструмент позволяет захватывать и автоматически загружать потоковые данные в Amazon S3 и Amazon Redshift, а затем выполнять анализ с помощью имеющихся средств бизнес-аналитики и информационных панелей практически в режиме реального времени. Он позволяет быстро реализовать подход ELT и воспользоваться преимуществами от использования потоковых данных.
Amazon Managed Streaming for Apache Kafka (Amazon MSK)
Amazon MSK – это полностью управляемый сервис, который упрощает создание и запуск приложений, использующих Apache Kafka для обработки потоковых данных. Apache Kafka – это платформа с открытым исходным кодом для создания потоковых конвейеров данных и приложений в реальном времени. С помощью Amazon MSK вы можете использовать собственные API-интерфейсы Apache Kafka для заполнения озер данных, потоковой передачи измененных данных в базы данных и обратно, а также для мощных приложений машинного обучения и аналитики.
Прочие потоковые решения в Amazon EC2
Пользователи могут установить платформы потоковых данных в Amazon EC2 и Amazon EMR по собственному усмотрению, а также создать собственные уровни хранилища и обработки. Создавая собственное решение для обработки потоковых данных в Amazon EC2 и Amazon EMR, можно избежать сложностей при выделении инфраструктуры и получить доступ к разнообразным вариантам хранения и обработки потоковых данных. Для уровня хранилища потоковых данных доступны варианты Amazon MSK и Apache Flume. Для уровня обработки потоковых данных доступны варианты Apache Spark Streaming и Apache Storm.
Как скачать потоковое видео с любого сайта на компьютер?
Я не любитель скачивать какие-либо видеоролики из Интернета, когда их можно без проблем посмотреть в режиме «онлайн» на сайте-источнике. Но в этот Новый год мне все же пришлось прибегнуть к скачиванию именного видеопоздравления Деда Мороза от отечественного сервиса Mail.ru.
Видео для детей получились красочными и интересными, за что отдельное спасибо сервису, но вся проблема в том, что там, где я хотел показать это видео – не было доступа к глобальной сети Интернет. Вариант здесь был только один – это скачивание необходимого медиафайла.
Поскольку видеосообщение генерировалось на основе тех данных, что я указывал о ребенке, то скачать полное видео не представлялось возможным, так как на сайте куча маленьких частичек воспроизводились последовательно, создавая при этом картину цельного видеосообщения.
Что такое потоковое видео (Streaming Video)?
Если отбросить все умные термины, то можно сказать, что потоковое видео – это технология, которая позволяет смотреть то или иное видео в режиме реального времени (онлайн). Сюда можно отнести различные онлайн трансляции телепередач и кино, стримы (stream) на YouTube и прочих подобных сервисах.
Как скачать потоковое видео с любого сайта на свой компьютер?
Видеопоздравление, которое мне было необходимо скачать, тоже является потоковым, и как я упоминал ранее – простая его загрузка не была возможной.
Поискав некоторую информацию в Интернете на этот счет, я узнал, что плеер «VLC Media Player» для Windows как раз позволяет в несколько шагов скачивать подобные видео. Мне, к сожалению, этот способ не подошел, так как по итогу я получил искаженное (зависающее) видео. Поэтому я не буду делать акцент на этой программе как о способе скачки потокового видео на ваш компьютер, а расскажу о другом рабочем способе, который помог решить мне поставленную задачу.
Представляю вашему вниманию «Xtreme Download Manager» – программу, позволяющую увеличить скорость загрузки видеофайлов и умеющую сохранять потоковые видео с популярных сервисов на вашем компьютере, в числе которых YouTube, Vimeo, Dailymotion, Google Video и десятки тысяч других.
Xtreme Download Manager легко встраивается во все известные браузеры, что, в свою очередь, дает возможность простого скачивания понравившегося видео.
На сколько мне известно, программа помимо операционной системы Windows поддерживает Linux обоих разрядностей и Mac OS X.
Внушающая доверие программа, согласитесь? За что ее автору тоже отдельное спасибо.
Чтобы начать скачивать потоковые видео на ваш компьютер, сделайте следующее.
1. Скачайте программу и установите ее на ваш компьютер. Официальные релизы для всех поддерживаемых операционных систем находятся здесь. В конце статьи я приложил актуальную (на момент написания статьи) версию программы для Windows.
2. После успешной установки запустите программу. В верхнем меню нажмите «Инструменты», а в выпадающем списке выберите «Отслеживание в браузере».
Если у вас интерфейс программы на английском языке – то переключить его на русский вы можете через верхнее меню «Tools», пункт «Language».
После изменения языка обязательно перезапустите программу для применения изменений.
3. В появившемся окне вы ищете тот браузер, которым пользуетесь чаще всего, и жмете под ним кнопку «Установить дополнение».
После чего переходите по предложенной ссылке и просто устанавливаете дополнение для своего браузера.
В программе обязательно должна быть включена функция «Отслеживание в браузере»:
А дальше все просто – идете на любой видеохостинг, включаете видео, и на экране вашего компьютера (сбоку) появится кнопка «DOWNLOAD VIDEO».
Нажмите на нее, и перед вами откроется список всех файлов, которые доступны для скачивания.
Жмете на название, в появившемся окне вводите желаемое название файла и то место, куда оно сохранится.
Вот и все. Просто, не так ли?
Помимо этого, хочется отметить тот факт, что приложение позволяет скачивать не только видеофайлы, но и музыку, например, из социальной сети «ВКонтакте».
Интернет-трансляция: что это такое и как это работает
Два вида загрузок
В Интернете есть два основных способа просмотра мультимедиа: потоковое и прогрессивное скачивание. Потоковая передача — это самый быстрый способ доступа к интернет-контенту, но это не единственный метод. Прогрессивная загрузка — еще один вариант, который существовал годами, прежде чем стало возможным потоковое вещание. Основные различия между ними заключаются в том, когда вы можете начать просмотр и что происходит с контентом после его просмотра.
Требования к потоковому контенту
Потоковая передача требует относительно быстрого подключения к интернету; насколько быстро это зависит от типа медиафайлов, которые вы транслируете.
Хотя каждый потоковый сервис может немного отличаться в зависимости от требований, безопасная ставка для таких сервисов, как Hulu, YouTube и Netflix, составляет 2-3 Мбит / с для SD, 5-6 Мбит / с для HD и 13-25 Мбит / с для контента UHD и 4K.
Имейте в виду, что если в вашей сети есть другие (члены семьи смотрят свои видео), это может повлиять на то, что вы пытаетесь смотреть.
Прямая трансляция
Прямая трансляция — это то же самое, что и рассмотренная выше трансляция, но она специально используется для интернет-контента, доставляемого в режиме реального времени. Прямая трансляция популярна в прямом эфире телевизионных шоу, игровых трансляций и специальных одноразовых событий или спортивных состязаний.
Потоковые игры и приложения
Потоковая передача традиционно доставляла аудио и видео, но Apple недавно внедрила технологию, которая позволяет потоковой передаче работать также с играми и приложениями.
Этот метод, называемый ресурсами по требованию, структурирует игры и приложения для включения основного набора функций, когда пользователь сначала загружает их, а затем передает новый контент по мере необходимости. Например, игра может включать свои первые четыре уровня в первоначальную загрузку, а затем автоматически загружать уровни пять и шесть, когда вы начинаете играть на четвертом уровне.
Проблемы с потоковой передачей
Поскольку потоковая передача доставляет данные по мере необходимости, медленные или прерванные интернет-соединения могут вызвать проблемы. Например, если вы транслировали только первые 30 секунд песни, и ваше интернет-соединение обрывается до того, как какая-либо песня будет загружена на ваше устройство, она перестает воспроизводиться.