Adobe flash player и передача потоковых данных без участия сервера, часть 1-я: организация пирингового вещания

История

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

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

наличие достаточно производительного CPU и шины для передачи мультимедиа необходимого битрейта


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

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

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

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

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

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

Как скачать потоковое видео с любого сайта на свой компьютер?

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

Поискав некоторую информацию в Интернете на этот счет, я узнал, что плеер «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».

Нажмите на нее, и перед вами откроется список всех файлов, которые доступны для скачивания.

Жмете на название, в появившемся окне вводите желаемое название файла и то место, куда оно сохранится.

Вот и все. Просто, не так ли?

Помимо этого, хочется отметить тот факт, что приложение позволяет скачивать не только видеофайлы, но и музыку, например, из социальной сети «ВКонтакте».

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

Реализация сервера потокового вещания по принципу 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 гбит/сек

Как настроить потоковую передачу мультимедиа в Windows 10


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

Запуск медиа-сервера осуществляется через «Параметры потоковой передачи мультимедиа». Для перехода к этим настройкам откройте Панель управления, зайдите в раздел «Центр управления сетями и общим доступом» и слева кликните по соответствующей ссылке.

Данный инструмент легко находится и через поисковую строку Windows 10.

В окне Параметров нажимаем кнопку «Включить потоковую передачу мультимедиа».

Далее задаем название сервера, а потом устанавливаем разрешения для всех обнаруженных устройств воспроизведения.

Ссылка «Настроить» рядом с конкретным устройством открывает окно дополнительных настроек. Если конфигурация вас устраивает, нажмите кнопку «ОК» для запуска сервера.

Теперь переходим к телевизору. Механизм доступа к расшаренным файлам на разных моделях реализован по-разному. Мы рассмотрим все на примере телевизора LG. В старых версиях запускаем приложение «SmartShare», а затем переходим на вкладку «Устройства».

Находим здесь наш сервер и открываем расположение. Здесь будут папки «Видео», «Изображения» и «Музыка», отображающие содержимое одноименных системных каталогов Windows 10. Если в директорию «Видео» загружены фильмы, их можно просматривать.

На последних моделях телевизоров LG перейти к папкам медиа-сервера позволяет «Панель управления домом».

Запустите ее и сразу же в блоке «Входы» увидите нужную плитку.

Кликните по ней, а потом выберите «Фото и видео». Появятся уже перечисленные выше папки с медиаконтентом.


Вроде бы все понятно, но есть один нюанс. У вас наверняка есть отдельная директория с фильмами и постоянно копировать из нее файлы в системную папку не очень удобно. Как же открыть доступ к любому из каталогов на компьютере с Windows 10? Достаточно просто.

Выборы президента в США

  • Трамп рассказал о страшном будущем США в случае победы Байдена
  • Кандидатом на пост вице-президента США от демократов стала темнокожая женщина
  • Выбор демократов: как Байдена выдвинули на пост президента США
  • Джо Байдена официально выдвинули в президенты США
  • Обмен колкостями: в США стартовал съезд Демократической партии
  • Трамп: США при Байдене станут Венесуэлой
  • Байден собрал за сутки рекордные $26 млн после избрания Харрис своей напарницей
  • «Говорит неправду»: Трамп высказался о темнокожей напарнице Байдена
  • «Представьте зеркальную ситуацию»: Захарова  о рассылке Госдепа
  • Не так поняли: Трамп отказался от идеи переносить выборы

показать ещё

Способ 3. Сложный. Достаем видео из кеша

Описанный ниже способ работает для любого потокового видео, т.е. для большинства видео в интернете, за редким исключением в виде Windows Media Player — его легко отличить по внешнему виду, похожему на обычный WMP.

Работает с Mozilla Firefox под Windows (не сомневаюсь, сработает и с другими обозревателями).

Приступим:

  1. Открываем страницу с видео. Запускаем. Смотреть не нужно — можно просто поставить на паузу. Ждем, пока загрузится — обычно это видно по полосе прокрутки (она становится жирной/меняет цвет/т.п.), и, конечно, по тому, что остановится передача данных.
  2. Ура! Видео уже сохранилось на компьютере. В кэше.
  3. Открываем папку — это кэш Firefox. Имей в виду, папка скрытая.
  4. Наблюдаем кучу файлов. Файлы , , нас не касаются.
  5. Сортируем файлы по убыванию даты (то есть, чтобы последние файлы были наверху). Один из них — искомое видео. Если оно только что загрузилось, то, естественно, файл будет одним из первых – продолжаем игнорировать.
  6. Как распознать среди файлов потоковое видео? Почти наверняка — по большому размеру. 🙂 Кроме того, файлы потокового видео начинаются с трех букв FLV — чтобы проверить это, можно открыть файл хотя бы в Блокноте.
  7. Копируем видео, куда нужно (чтобы не портить кэш), переименовываем в нечто осмысленное и дописываем расширение
  8. Все!

Авторизация на веб-сайтах

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

Во всех этих случаях для просмотра видео требуются какие-то дополнительные действия. Если после копирования ссылки на видео SVPtube показывает ошибку, указывающую на ограничение доступа к видео, то следует выбрать пункт меню Авторизация → добавить данные для авторизации.

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

Для обхода региональных ограничений можно использовать прокси-сервер, указав его адрес в поле Прокси. Для HTTP/HTTPS серверов протокол можно опустить, а для использования SOCKS требуется указать полный вид, например, «socks5://127.0.0.1:1040».

Если прокси-сервер не помогает получить доступ к веб-сайту, то следует рассмотреть возможность использования VPN, что выходит за рамки этой инструкции.

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

Чтобы SVPtube мог работать с таким веб-сайтом, ему нужны те же самые cookies, что и веб-браузеру. Для этого:

  1. Откройте веб-сайт в веб-браузере, авторизуйтесь, используя свои имя пользователя и пароль.
  2. Экспортируйте cookies для этого сайта в текстовый файл в формате Mozilla/Netscape. Для Google Chrome и Mozilla Firefox есть удобные расширения, создающие такой файл «в один клик».
  3. Загрузите этот файл в SVPtube, нажав на кнопку Загрузить из файла.
  4. Определите строку «User-Agent» вашего веб-браузера – для этого нажмите на ссылку «Как?» и скопируйте всю строку, показанную на открывшемся веб-сайте. Вставьте эту строку в поле User-Agent.

По умолчанию SVPtube не будет никуда записывать введенные данные, и при следующем запуске SVP потребуется указывать их повторно. Если вы хотите сохранять эти данные на диске, отметьте пункт «Я хочу чтобы SVP хранил этот пароль постоянно», тогда Ваши пароли будут сохранены в скрытом виде с низкой степенью защиты.

Форматы цифрового кодирования и сжатия

Видеопоток

Видеопоток — это временна́я последовательность кадров определённого формата, закодированная в битовый поток. Скорость передачи несжатого видеопотока с чересстрочной разверткой разрядностью 10 бит и цветовой субдискретизацией 4:2:2 стандартной четкости будет составлять 270 Мбит/с. Такой поток получается если сложить произведения частоты дискретизации на разрядность каждой компоненты: 10 × 13,5 + 10 × 6,75 × 2 = 270 Мбит/с. Однако, расчет размера получаемого файла, содержащего несжатый видеопоток, производится несколько иначе. Сохраняется только активная часть строки видеосигнала. Для представления в пространстве Y’, Cr, Cb рассчитываются следующие составляющие:

  • количество пикселей в кадре для яркостной компоненты = 720 × 576 = 414 720
  • количество пикселей в кадре для каждой цветностной компоненты = 360 × 576 = 207 360
  • число битов в кадре = 10 × 414 720 + 10 × 207 360 × 2 = 8294400 = 8,29 Мбит
  • скорость передачи данных (BR) = 8,29 × 25 = 207,36 Мбит / сек
  • размер видео = 207,36 Мбит / сек * 3600 сек = 746 496 Мбит = 93 312 Мбайт = 93,31 Гбайт = 86,9 ГиБ

Расчёт скорости передачи данных:

Для формата 4:2:2 
 BR = BD × (W + 0,5 × W × 2) × H × FR = BD × 2 × W × H × FR
Для формата 4:1:1
 BR = BD × (W + 0,25 × W × 2) × H × FR = BD × 1,5 × W × H × FR
Для формата 4:2:0
 BR = BD × (W × H + 0,5 × W × 0,5 × H × 2) × FR = BD × 1,5 × W × H × FR
Для формата 4:4:4
 BR = BD × 3 × W × H × FR 

BR - скорость передачи данных, бит/с, 
W и H - ширина и высота кадра в пикселях, 
BD - разрядность для каждой компоненты, бит на пиксель
FR - кадровая частота, кадров/с

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

Скорость передачи несжатого видеопотока
Размер кадра (пикселей) Глубина цвета(бит) Дискретизация Кадровая частота (Гц) Битрейт (Мбит/с) Требуемая ёмкость (ГиБ/час)
720 × 576 10 4:2:2 25 207 86.9
720 × 576 8 4:1:1, 4:2:0 25 124 52.1
1280 × 720 8 4:2:2 25 369 154.5
1280 × 720 8 4:2:2 50 737 309
1280 × 720 10 4:2:2 25 461 193.1
1920 × 1080 10 4:2:2 25 1037 434.5

Видеокомпрессия

Основная статья: Сжатие видео

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

Протокол RIST

Через год после появления Альянса SRT компании, имеющие корпоративные решения в области IP-доставки, создали еще один альянс для разработки более продвинутой технологии. Новый протокол получил название Reliable Internet Stream Transport (RIST), как и сам альянс. Он организован в рамках консорциума Video Services Forum, занимающегося разработкой и стандартизацией сетевых технологий для передачи медиа. К слову, в этот альянс в качестве ключевого участника и Haivision.

RIST задуман как многопрофильный стандарт, однако пока выпущен только базовый профиль. По функциональности он уступает SRT. В частности, не поддерживает мультиплексирование каналов на одном UDP-порту и имеет только один режим установления соединения (Push). В результате для передачи каждого потока приходится открывать по UDP-порту на приемнике и на передатчике. Кроме того, в отличие от SRT, базовый профиль RIST не поддерживает шифрование и файловую передачу. В то же время в протокол заложена передача множественных каналов. Она реализована в двух режимах. Один поддерживает разбиение логического канала на несколько физических, отправляемых разными маршрутами. Второй обеспечивает резервирование потоков и бесшовное переключение с одного на другой.

А схожи SRT и базовая версия RIST в том, что оба используют ARQ с настраиваемым соотношением между задержкой и защищенностью. Кроме того, они практически одинаковы в плане мониторинга потоков и сбора статистики. Однако у RIST есть все шансы опередить конкурента. Уже подготовлен основной профиль протокола, и живую демонстрацию его работы можно было увидеть на IBC-2019. При разработке профиля учитывались разные сценарии его применения, в том числе дистанционные интервью, сбор новостей из удаленных точек, передача видео в облако и передача мультикастовых трансляций.

Перечислим основные усовершенствования, появившиеся в этом профиле. Во-первых, добавилась поддержка мультиплексирования потоков на одном UDP-порту. Во-вторых, реализовано GRE-туннелированние (Generic Routing Encapsulation). GRE-шлюзы могут использоваться для организации двухстороннего обмена между RIST-устройствами базовой версии, умеющими взаимодействовать только в режиме Push. Шлюзы также могут применяться для передачи управляющих данных, например SNMP, для туннелирования мультикастового трафика и решения других задач. В-третьих, добавлены механизмы скремблирования, авторизации и аутентификации. Для скремблирования и авторизации выбран протокол DTLS, другими словами, версия TLS для UDP-протокола. Она адаптирована для приложений, чувствительных к временным задержкам. В рамках TLS могут использоваться разные алгоритмы шифрования, но в качестве основных для RIST предложены AES 128/256 бит.

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

Перспективы сосуществования SRT и RIST пока непонятны. С учетом того, что Haivision оказался одним из основных участников RIST, не исключен вариант слияния протоколов. Но может быть, каждый из них найдет свою нишу. Ясно одно — транспортные технологии для передачи видео через IP-сети с негарантированным качеством будут и дальше активно развиваться, а их доля во всех сегментах передачи медиа будет расти.

Chromecast и Apple TV

Читая выше, вы, возможно, рассматривали некоторые альтернативы, основанные на оборудовании, которое у вас уже есть. Например, у вас может быть Apple TV или Google Chromecast.

К сожалению, эти решения не работают надежно. Например, несмотря на то, что возможно отображать экран вашего ПК с помощью Google Chromecast (используя браузер Chrome), результаты плохие. К сожалению, это не подходит для нашей цели, и отставание ужасно, что делает большинство игр неиграбельными.

Между тем, когда дело доходит до Apple TV, AirPlay имеет аналогичные ограничения. Хотя были предприняты попытки взломать Apple TV для потоковой передачи, результаты в настоящее время неадекватны.

Любопытно, что через Xbox One невозможно передавать потоковые компьютерные игры с компьютера на телевизор. Вместо этого сервис Xbox Play Anywhere позволяет играть в игры как на ПК с Windows, так и на вашем Xbox One за одну покупку.

Так, например, вы можете сыграть в Gears of War 4 на своем ПК, когда член семьи смотрит телевизор, а затем продолжить игру на Xbox One, когда они покинут дом.

Это не тот тип потоковой передачи, который вам нужен, но, тем не менее, это отличное решение.

Скачайте AIMP для Windows 7 на русском бесплатно

Версия Платформа Язык Размер Формат Загрузка
* скачайте бесплатно AIMP для Windows, файл проверен!
   AIMP v4.13 Windows 7 Русский 9.5MB .exe
   AIMP для Android v2.50! Android Русский 5MB .apk
   AIMP v4.12! Windows Русский 9.5MB .exe

Обзор AIMP

AIMP (Аимп) – многофункциональный музыкальный проигрыватель, созданный российским программистом Артемом Измайловым под ОС Windows и Android. Аудиоплеер имеет закрытый исходный код на Delphi, мультиязычный интерфейс, большие возможности по воспроизведению аудио файлов. Еще одно достоинство AIMP – минимальное потребление ресурсов компьютера.

Скриншоты

Похожие программы Adobe Flash Player — программа для воспроизведения flash-контента Sony Vegas Pro — создание многодорожечных видео и аудио записей Xvid Video Codec — библиотека для сжатия видео в стандарте MPEG-4 KMPlayer — мощный проигрыватель файлов звуковых и видеоформатов Aimp — музыкальный проигрыватель с хорошим эквалайзером SopCast — просмотр видео и аудиотрансляций в Интернете iTools Audacity — звуковой редактор, поддерживающий работу с несколькими дорожками Reason Camtasia Studio — программа для захвата видеоизображения с монитора компьютера Windows Media Player — проигрыватель видео и аудио файлов от Microsoft VLC Media Player — бесплатный кроссплатформенный медиапроигрыватель DirectX — пакет библиотек, необходимый системе для работы с мультимедиа Adobe Premiere Pro — программное обеспечение для нелинейного видеомонтажа Adobe Audition VKMusic — поиск и скачивание музыки из ВКонтакте, RuTube и YouTube Windows Live Movie Maker Fraps K-Lite Codec Pack — набор кодеков для воспроизведения видео и аудиофайлов Winamp — проигрыватель мультимедиа c поддержкой потокового контента Realtek HD — пакет драйверов, предназначенный для HD Audio кодеков Unity Web Player MorphVOX Pro VirtualDub Freemake Video Converter DivX — набор кодеков и утилит для воспроизведения аудио и видео Adobe After Effects Bandicam — программа для снятия скриншотов и записи видео с экрана Ableton Live Suite Steinberg Cubase Pinnacle Studio — программа для обработки видео файлов Movavi Video Editor — утилита для монтажа видеофайлов iMovie — бесплатный видеоредактор от компании Apple Sound Forge Ace Stream Media Virtual DJ — программа, имитирующая пульт диджея для микширования музыки Action! PowerDVD — проигрыватель мультимедийных файлов GOM Player — медиапроигрыватель для Windows Format Factory CyberLink PowerDirector — видеоредактор с возможностью захвата видео с внешних источников Finale JetAudio — плеер с хорошим эквалайзером Corel VideoStudio — профессиональный видеоредактор от компании Corel Free Studio — пакет объединяющий более 40 мультимедийных программ Avidemux — для создания новых и обработки готовых видео Edius — программное обеспечение для нелинейного монтажа видео ManyCam Kodi — программа для воспроизведения мультимедиа Daum PotPlayer — плеер с поддержкой всех мультимедийных форматов ФотоШОУ PRO — программа для создания из фотографий видеороликов и слайд-шоу Guitar Pro MIRO Shortcut Light Alloy — бесплатный медиаплеер GeForce Experience — автоматического поиск драйверов видеокарт компании Nvidia HyperCam Magix Music Maker — утилита для записи и обработки музыкальных дорожек VideoPad Video Editor — частично бесплатный видеоредактор Proshow Producer — условно-бесплатная программа для создания слайд-шоу Free Video Editor — бесплатный видео редактор для нелинейного видео монтажа Wondershare Filmora — условно-бесплатная программа для работы с видеофайлами Zune Аудио | Видео программы Графические программы Microsoft Office Игры Интернет программы Диски и Файлы


С этим читают