Передача потоковых данных (streaming). Потоковая передача данных

Для транслирования видео, необходимо выбрать команду меню программы Медиа -> Потоковое вещание. Выбираем файлы, которые необходимо вещать. Смотрите рисунок ниже:

Потом нажимаем кнопку "Поток". В появившемся окне открываем закладку "Destinations" и выбираем HTTP. Смотрите картинку ниже:

На закладке HTTP, вводим IP адрес 127.0.0.1 и порт 8080. Настройки перекодирования необходимо оставить по умолчанию. Или вы можете его поменять, это на ваше усмотрение, но возможно, что с другим кодеком видео не будет транслироваться. Также в настройках перекодировки можно накладывать субтитры на видео.

На закладке "Options" можно найти пример командной строки.

После всех настроек нажимаем кнопку "Поток". Теперь вещание должно пойти, чтобы его проверить, можете открыть этот поток другим VLC или любым другим плеером, открыв адрес http://127.0.0.1:8080.

Стоит отметь, если вы хотите, чтобы трансляция видеофайлов шла непрерывно, то вам необходимо установить непрерывное проигрывание в настройках Playlist-а. Это можно сделать, выбрав пункт меню View->Playlist. В появившемся диалоге установить непрерывную версию.

Как просматривать поток вещания VLC?

Для просмотра потока вещания в VLC необходимо выбрать пункт меню Медиа -> Открыть URL. Выбираем нужный протокол, предположим HTTP, и вводим адрес. Адрес вводится, исходя из следующего формата адрес:порт. То есть, для адреса 127.0.0.1 и порта 8080 адрес будет выглядеть как 127.0.0.1:8080. После нажимаем клавишу "Воспроизвести". Теперь, если всё сделано правильно, можете наслаждаться фильмом.

Стоит помянуть, что адрес может быть и другой, например videohost.ru/my.wmv.

Протестировано на версии VLC 1.0.0

Как сохранить поток вещания с помощью VLC?

С помощью VLC можно не только принимать видео, но и сохранять его, если вы захотите его просмотреть позже. Для этого необходимо открыть меню сохранения, выбираем меню VLC плеера Медиа -> Конвертировать/Сохранить:

После откроется меню открытия файла. В этом окне перейдите на вкладку "Сеть", смотрите картинку выше. После нажатия кнопки "Конвертировать/Сохранить" появится окно:

В этом окне выберите имя файла для сохранения. Установив галочку "Отображать Вывод", вы будите видеть то, что сохраняете. После нажимайте кнопку "Начать"

Протестировано на версии VLC 1.0.0

Как вещать один файл, а затем другой с помощью VLC?

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

Протестировано на версии VLC 1.0.3

Видео трансляция постоянно отключается, невозможно записывать и просматривать?

Иногда при просмотре видеопотока или при его записи, соединение постоянно отрубается и поэтому не получается его нормально посмотреть. Для решения этой проблемы необходимо зациклить текущий проигрываемый url. Смотрите изображение ниже.

Основная задача заключается в создании системы для обеспечения работы с видеоподкастами (совокупность видео файлов, которые распространяются через Интернет, используя настройки RSS-потока для воспроизведения на переносимых медиа проигрывателях и персональных компьютерах), записанных пользователями и загруженных на сервер. Доступ к видео должен быть предоставлен по запросу пользователя или через подсоединение пользователя к широковещательному каналу в реальном времени. Ряд пользователей (привилегированных) должны иметь возможность создавать подкасты (например, загружать оцифрованное видео стандартных форматов (AVI, MPEG2), записанные на персональную видеокамеру). Все пользователи должны иметь возможность просматривать подкасты через веб-браузеры как часть веб-страницы.

Способы доступа к видео:

Загрузка

Чтобы воспроизвести видео на вашем компьютере, вам необходимо полностью его загрузить. Используется HTTP протокол.

Прогрессивная загрузка

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

Потоковая передача данных

Данный метод публикации требует дополнительного ПО: необходим сервер потоковой передачи данных. Видео информация подается пользователю в форме потока, для просмотра необходим видео проигрыватель потоковой передачи данных. Несмотря на то, что сервер потоковой передачи данных имеет свой собственный формат для потоковых медиа, некоторые из них поддерживают формат MPEG-4 (Darwin Streaming Server/QuickTime Streaming Server, Helix Server, например).

Потоковая передача данных в режиме реального времени

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

Основные задачи сети потоковой передачи видео

Реализация потоковой передачи видео

На текущий момент существует четыре крупные компании, занимающиеся широковещательной потоковой передачей видео. Это такие компании, как: Apple, Real Networks, Adobe и Microsoft. Apple представлена коммерческим QuickTime Streaming Server и его аналогом с открытым исходным кодом – Darwin Streaming Server. Компания Adobe усовершенствовала Macromedia Flash Communication Server и выпустила его под брендом Flash Media Server. Кроме этого, они имеют FLV сервер Red5 с открытым исходным кодом. Real Networks поддерживает сервер Helix. Пользователи Microsoft Windows Server 2003 могут использовать бесплатный Microsoft Video Server, который может транслировать потоковое видео и аудио в специальном формате Microsoft: Windows Media Format.

Конвертация форматов

Не все видео форматы имеют возможность потоковой передачи. Поэтому необходимы специальные инструменты для конвертации видео файлов из формата пользователя в формат, подходящий для потоковой передачи данных. Существует несколько приложений, которые могут выполнить данную задачу весьма эффективно. Одно из них – это ffmpeg – приложение, которое может конвертировать видео файлы в различные форматы. У данного приложения есть еще одно несомненное преимущество – возможность запуска в режиме пакетной обработки для автоматической конвертации форматов. Основным недостатком приложения является некоторая сложность регулирования, дополнительных преобразований и установки библиотек. Данное приложение также может быть скомпилировано в форме статической или динамической библиотеки для дальнейшего использования в проектах C/C++. Также необходимо упомянуть Windows Media Encoder для систем Windows, т.к. данный продукт принадлежит Windows Media Series и позволяет конвертировать видео в несколько форматов. Существует возможность разрабатывать свои собственные компоненты на базе Microsoft Windows Media 9 Series благодаря возможностям совершенствования Windows Media SDK. Этот пакет программ для Windows 2003 Server абсолютно бесплатен.

Adobe Flash Media Encoder представляет собой другой инструмент для кодирования видео, позволяющий конвертировать файлы в формат FLV (Sorenson or кодеки on2). Он может быть запущен из командной строки или в режиме GUI.

Встраивание видео в веб-страницу

Встраивание видео реализуется с помощью объектов ActiveX (для IE) или плагинов. Для каждого из представленных серверов реализуется отдельный вариант встраивания видео в веб-страницу. Потоковая передача видео с помощью серверов Apple (Darwin/QuickTime Streaming Server), также как и посредством сервера Helix совместимого с Apple формата (RealNetworks) транслируется с помощью встроенной стандартной панели инструментов, которую можно скрыть, и своего рода API, чтобы контролировать воспроизведение и текущее состояние видео. Широчайший спектр различных проигрывателей используется с FLV (Flash Media Server, Red5) из-за легкости разработки Flash приложений для взаимодействия FMS/Red5 и широких возможностей среды разработки Flash (фактически, существует только один Flash FLV проигрыватель, но он «завернут» в различные Flash приложения). Но высокая цена сервера Flash Media является безусловным недостатком (особенно для большого количества соединений). Одной из особенностей формата FLV (Flash Live Video) является возможность постепенной загрузки видео с сервера без использования FMS. В таком случае видео не будет передаваться поточно. Воспроизведение потоковой видео трансляции с сервера Windows Media возможно посредством плагинов ActiveX или Windows Media Player. Другие платформы используют сторонние проигрыватели, такие как, например, Starbak Embedded Streaming для Линукса. Также требуется встроенный компонент VBrick для проигрывания потокового видео в форматах Windows Media. Необходимо также встроить RealPlayer или схожий сторонний проигрыватель в страницу, чтобы проигрывать видео в формате RealVideo с сервера Helix.

Варианты развертывания системы

Система потокового видео, базирующаяся на Apple Darwin Server

Сервер: бесплатный сервер Darwin 5.5.1 с открытым исходным кодом для потокового вещания.

Проигрыватель: QuickTime 6 встроенный в веб-страницу.

Конвертер видео: ffmpeg (реализация для Windows или Linux).

Дополнительные требования:

Добавление подкастов: пользователь загружает подкасты на сервер. Формируется очередь для перекодировки подкастов в формат MP4 или HINTED MOV для потоковой передачи данных. Пользователи могут просматривать подкасты спустя некоторое время.

Просмотр подкастов: реализуется в потоковом режиме внутри определенной веб-страницы.

Преимущества: бесплатный сервер потокового вещания, готовый использовать встроенный в веб-страницу проигрыватель.

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

Система потокового видео, базирующаяся на Flash Media Server 2

Сервер: Flash Media Server 2.

Проигрыватель: Flash-приложение, поддерживающее воспроизведение содержимого файла.

Конвертер видео:

Дополнительные требования: выделенный сервер для конвертирования видео форматов (желательно).

Добавление подкастов: пользователь загружает подкасты на сервер. Формируется очередь для декодирования подкастов в формат FLV для потоковой передачи данных. Пользователи могут просматривать подкасты спустя некоторое время.

Просмотр подкастов:

Преимущества: возможность использования вашего проигрывателя, гибкость разработки приложения благодаря Flash-технологии, высокого качества видео.

Недостатки: цена Flash Media Server.

Система потокового видео, базирующаяся на Red5 Server

Сервер: сервер Red5 с открытым исходным кодом.
Проигрыватель: Flash-приложение, поддерживающее воспроизведение содержимого файлов.

Конвертер видео: ffmpeg (реализация для Windows or Linux) или Flash Media Encoder.

Дополнительные требования: выделенный сервер для конвертирования видео форматов (желательно).

Добавление подкастов: пользователь загружает подкасты на сервер. Формируется очередь для перекодирования подкастов в формат FLV для потоковой передачи данных. Пользователи могут просматривать подкасты спустя некоторое время.

Просмотр подкастов: реализуется в потоковом режиме внутри определенной веб-страницы, содержащей Flash-приложение.

Преимущества: бесплатный FLV сервер, возможность использования собственного проигрывателя пользователя, гибкость разработки приложения благодаря Flash-технологии.

Недостатки: небольшое количество одновременных подключений (не более 15 для стабильности работы), требуется Java SDK, возможные изменения спецификации RTMP протокола компанией Adobe.

Система прогрессивной загрузки, базирующаяся на FLV

Сервер: Web сервер. Потоковый сервер не требуется.

Проигрыватель: Flash-приложение, поддерживающее проигрывание файлов.

Конвертер видео: ffmpeg (реализация для Windows или Linux) или Flash Media Encoder.

Дополнительные требования: выделенный сервер для конвертирования видео форматов (желательно).

Добавление подкастов: пользователь загружает подкасты на сервер. Формируется очередь для перекодирования подкастов в формат FLV для вещания. Пользователи могут просматривать подкасты спустя некоторое время.

Просмотр подкастов: реализован в режиме постепенной загрузки внутри определенной веб-страницы, содержащей Flash-приложение.

Преимущества: возможность использования собственного проигрывателя пользователя, гибкость разработки приложения благодаря Flash-технологии, высокое качество видео, нет никакой необходимости в потоковом сервере.

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

Система потокового видео, базирующаяся на Windows Media 9 Series

Сервер: Windows Media Server для потоковой передачи данных.

Проигрыватель: Проигрыватель Windows Media Player 9/10, встроенный в веб-страницу, или в сторонний проигрыватель.

Конвертер видео: Microsoft Video Encoder.

Дополнительные требования: выделенный сервер для конвертирования видео форматов (желательно). Операционная система – Windows 2003 Server.

Добавление подкастов: пользователь загружает подкасты на сервер. Формируется очередь для декодирования подкастов в формат WMV для потокового широковещания. Пользователи могут просматривать подкасты спустя некоторое время.

Просмотр подкастов: реализован в потоковом режиме внутри определенной веб-страницы.

Преимущества: бесплатный потоковый сервер, если установлена операционная система Windows 2003 Server, готовая к использованию встроенного проигрывателя в веб-страницу.

Недостатки: отсутствие возможности изменять дизайн проигрывателя, необходимость ресурсоемкого конвертирования формата файлов подкаста после добавления, необходимость установки Microsoft Windows 2003 Server, возможные проблемы с просмотром видео на персональном компьютере с другой операционной системой.

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

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

Ярким примером этого может служить, набирающий сейчас популярность, Интернет-стриминг, когда оператор в режиме реального времени транслирует изображение со своей камеры в сеть Интернет, а оттуда его уже "подхватывают" пользователи, подключившиеся к трансляции. Можно обеспечить и потоковую передачу материала, уже сохраненного на компьютера (запустить в сеть трансляцию нового фильма ужасов или клипа любимой рок-группы) :) Или организовать прямую трансляцию с веб-камеры, подключенной к USB порту нашего ПК.

Общая схема этого действия при этом выглядит следующим образом:

Но обо всем по порядку! Сегодня мы будем говорить о передаче именно потокового видео. Существуют специальные протоколы передачи потоковых данных: RTMP, PNM, RTSP, MMS, RTSPU, RTSPT, MMS, MMST и т.д. Они "на лету" преобразуют исходные данные таким образом, что они могут быть переданы в сеть, как непрерывная последовательность. Использование передовых технологий сжатия и буферизации позволяет просамтривать потоковый контент с любого места, не дожидаясь его полной загрузки на компьютер пользователя.

Предлагаю на этом покончить с теорией и посмотреть на практике, что же это такое потоковая передача видео? А там уж сами для себя решите, нужна лично Вам эта технология или нет, ок?

Сегодня я хочу рассказать Вам об одном замечательном продукте: «Unreal Media Server». Честно скажу, я просто балдею от этого программного комплекса! :) Не знаю, как обстоят сейчас дела на "фронтах" потоковой передачи мультимедиа, но когда я активно интересовался этим вопросом (перепробовал множество решений), то "адекватного" ПО можно было пересчитать по пальцах одной руки. То сервер принципиально платный (не попробуешь), то - не работает, то работает, но - "криво", видео передается с дикими задержками и "тормозами", какие-то решения откровенно тяжелы в настройке, что и разбираться не охота и т.д.

И вот, случайно натыкаюсь я на это замечательное решение. Размер сервера - всего несколько мегабайт, плеера - 500 килобайт! Все работает, видеопоток проигрывается плавно и без задержек. Лишних (избыточных и малоиспользуемых) функций нет, интуитивно понятный графический интерфейс. Короче говоря, куда ни посмотри - одни сплошные плюсы. Минусов даже не нашел:)

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

После этого я убедился: «Unreal Media Server» достоин отдельной развернутой статьи на нашем сайте! :) Итак, давайте зайдем на сайт разработчиков данного ПО: umediaserver.net В верхнем левом углу мы увидим ссылку «Produkts», нажимаем на нее. В появившемся списке выбираем «Unreal Media Server».



Затем, в правом боковом меню ищем пункт «Download» (загрузить).


Попадаем на страницу, с которой можем скачать себе на компьютер необходимые дистрибутивы и дополнительные компоненты (плагины).



Нас, в первую очередь будут интересовать базовые компоненты, показанные на фото выше:

  • Unreal Media Server - сам потоковый медиа-сервер
  • Unreal Live Server - компонент для организации прямой трансляции с IP или веб-камер
  • Streaming Media Player - плеер, который позволяет просматривать видео

Обратите внимание на размеры дистрибутивов программного комплекса! Итак, загружаем все три компонента себе на компьютер:


Давайте, для начала, установим основной модуль - «UMedia Server». Сам процесс инсталляции я не буду описывать и приводить его скриншоты (просто не хочу раздувать статью). Он сводится к нескольким нажатиям на кнопку «Next» и не представляет ничего сложного.

После завершения установки, нажмем на кнопку "Пуск" в панели задач и выберем "Все программы". Среди прочего, мы увидим новую группу «Unreal Streaming», куда и будут добавляться все устанавливаемые компоненты нашего комплекса.


Media Server Configurator позволяет нам производить основную настройку приложения. Возможно, это покажется шуткой, но наш потоковый видеосервер уже готов к работе и может транслировать видео в сеть! Без всякой дополнительной конфигурации! Вот за это мне он тоже нравится:)

Но мы, я надеюсь, хотим твердой рукой сами управлять всеми процессами и понимать что происходит? Тогда давайте запасемся терпением и рассмотрим основные компоненты всего программного комплекса потокового видео. Запускаем Media Server Configurator и видим его главное окно.



Обратите внимание на секции «File Resources» «Live broadcasts». Первая отвечает за воспроизведение по сети файлов, уже хранящихся в специальной папке сервера и готовых к их потоковой трансляции (видеоклипы, фильмы, презентации), а вторая секция используется при организации "живого" (Live) вещания с IP или веб-камеры.

Сейчас мы рассмотрим первый вариант передачи видео, которое хранится на нашем компьютере. Обратите внимание на папку «MediaRoot», которая по умолчанию уже создана на сервере (скриншот выше). Нажав на нее, в правой части окна мы можем увидеть полный путь к ней.

Можем зайти по этому адресу и увидим там один файл test.avi, показанный на фото выше. Именно в эту папку нам нужно будет "складировать" все наши видеофайлы, которые мы хотим транслировать по сети.

Сейчас, не откладывая в долгий ящик, предлагаю организовать просмотр этого тестового файла test.avi на удаленном компьютере. Для этого настроим сеть между двумя нашими ПК: на том, где мы будем инсталлировать серверные компоненты установлена 32-х разрядная Windows 7, а "клиентом" у нас будет выступать старая-добрая Windows ХР.

Примечание : как настроить сеть между двумя компьютерами мы подробно разбирали в одном из нашим многочисленным , поэтому не будем на этом останавливаться.

На компьютер с ХР мы установим Streaming Media Player (установка также очень проста и не требует дополнительных пояснений). Значок плеера, как всегда, ищем под кнопкой "Пуск".



Запускаем его и пробуем проиграть на нем файл test.avi, расположенный на первом нашем компьютере. Для этого нажимаем в верхнем меню на надпись «Play» и из появившегося списка выбираем команду «Play file» (проиграть файл).


В появившемся окне нам надо будет указать базовые настройки подключения. Это - логично, ведь плеер "не знает", где у нас расположен сервер потокового видео и какой именно файл нужно с него проиграть? Вот это нам и нужно ему "объяснить".

В поле «Media Server IP address» указываем сетевой адрес сервера (зависит от того, какой IP мы присвоили компьютеру на этапе настройки сети), в поле «Port» - значение порта, по которому будет осуществляться взаимодействие (обычно он прописан здесь про умолчанию, но, на всякий случай, запомните его номер: 5119).


Примечание : что такое "порты" и зачем они нужны, мы также рассматривали , так что на этом моменте не будем отдельно останавливаться.

Продолжим! Опции «Protocol» нужны для выбора типа сетевого протокола, который будет использоваться для передачи данных. Можете оставить по умолчанию - TCP (Transmission Control Protocol - протокол управления передачей данных).

Поле «File name including virtual folder» служит для указания виртуальной папки хранения наших файлов потокового видео. Как мы помним, это папка «MediaRoot», рассмотренная нами на одном из предыдущих скриншотов. Через слэш указываем имя и расширение файла, который мы хотим получить (воспроизвести) с сервера и нажимаем кнопку «ОК».

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


Как видите, все на самом деле очень просто:)

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

Вы можете задать очевидный вопрос: а какие форматы (расширения) видеофайлов поддерживаются данным сервером потокового видео? Отвечу скриншотом, который можно найти на официальном сайте проекта:



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

Давайте рассмотрим некоторые настройки, которые мы, при желании, можем изменить в нашем сервере. Что мы можем сделать? Можем, к примеру, изменить виртуальную директорию для хранения и распространения нашего контента. Это делается в главном окне сервера с помощью меню «File» и опции «Nev virtual folder» (новая виртуальная папка).


Откроется окно с настройками. В нем нас (в рамках данной задачи) будут интересовать только первые при поля:

  1. Folder name - имя новой виртуальной папки (задаем произвольно)
  2. Browse - выбираем папку для привязки виртуальной директории (можете создать любую). Можете указать полный путь к уже существующей -
    C:\\Program Files\UnrealStreaming\UMediaServer\MediaRoot
  3. Description - описание папки (задается по желанию)


Для сохранения настроек нажимаем «ОК» и видим, что в "дереве" каталогов у нас появилось новое виртуальное "хранилище" для наших видеофайлов.


Таким образом, можно создать несколько тематических хранилищ и распределить по ним видеоконтент. В любой момент можно просто удалить или временно отключить любую папку, нажав на ней правой кнопкой мыши и выбрать из появившегося списка команду «Delete virtual folder» (удалить виртуальную папку) или «Disable virtual folder» (отключить виртуальную папку).

Теперь, при подключении к серверу потокового видео вместо папки MediaRoot (используемой по умолчанию), мы должны будем в поле «File name including virtual folder» вручную указать новое название: в моем случае - my_video (запрашиваемый файл test.avi остается без изменений).


Надеюсь, сама концепция передачи потокового видео стала более понятна тем нашим читателям, которые раньше с ней не сталкивались? Для людей же, имеющих опыт в этом деле, - знакомство с новым ПО, что само по себе тоже неплохо:)

Продолжим! Сейчас давайте запаролим доступ к воспроизведению файлов. Зачем? Не знаю, но можно при случае воспользоваться:) Опять обратимся к меню «File» - опция «Properties» (свойства).


Появится вот такое серьезное окно:



Примечание : в любом "серьезном" окне главное найти и сконцентрироваться на той его части, которая отвечает за нужную нам на данный момент функцию. Остальное нужно игнорировать! :)

На скриншоте выше я хочу обратить Ваше внимание на места, отмеченные красным. Прежде всего, - это два информационных поля, где записаны номера портов по которым осуществляется передача видеопотока. Рекомендую их запомнить или просто вспомнить в нужный момент, где их можно подсмотреть? :) Порт 5119 - для Unreal плеера и 5130 - для сервера живой (Live) трансляции с камеры (об этом мы поговорим отдельно).

Итак, все что нам нужно от этого окна для организации доступа к видео по паролю, так это кнопка «Add User» и переключатель «Internal Authentication» (Внешняя аутентификация). Переключаем, нажимаем на «Add User» и видим вот такое окно:


На фото выше указываем произвольное имя пользователя для доступа к видеопотоку и придумываем пароль, подтверждая его дважды. Можем больше ничего не менять и сразу нажать «ОК».

Теперь снова запустим на удаленном компьютере Unreal плеер и попробуем "поймать" потоковое видео с сервера. Увидим вот такое приглашение на ввод логина и пароля:


Можем поставить "галочку" рядом с надписью «remember my credentials locally» (запомнить мои учетные данные локально), тогда пользователю, подключающегося повторно с этого компьютера, не нужно будет вводить пароль заново. После заполнения полей нажимаем «ОК» и наше видео успешно отображается!

Для того, чтобы удалить пользователя с сервера и отменить саму аутентификацию по паролю, нам нужно вернуться в "серьезное" окно с настройками, выделить учетную запись пользователя и нажать кнопку «Remove user» (удалить пользователя). Не забудьте вернуть переключатель в положение «Anonymous access» - анонимный доступ! Нажимаем кнопку «ОК», сохраняя настройки.



Думаю, придется разбить нашу статью на две части, а то и так уже слишком длинная "простыня" текста получается. Так и поступим! Тем более, что это будет логичным: в данной (первой) ее части мы рассмотрим организацию трансляции потокового видео из заранее подготовленных файлов, а вторую часть статьи посвятим живой трансляции с камеры и работе с Unreal Live Server.

Перед тем как мы прервемся, давайте во взаимодействии с сервером потокового видео попробуем обойтись без проприетарного (фирменного) плеера Unreal, а задействовать стандартный медиаплеер Windows. Да, он такое умеет! :) Запускаем наш плеер: «Пуск» - «Все программы» - «Проигрыватель Windows Media». Выбираем меню «Файл» (если такового нет, нажимаем клавишу «Alt» на клавиатуре) и из появившегося списка - «Открыть URL-адрес».

Примечание : Windows медиаплеер умеет открывать (подключаться) к потокам видео, распространяемым через сеть. Вот этой его функцией мы и воспользуемся!

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



Присмотревшись внимательно, мы обнаружим, что почти все составляющие адреса нам уже знакомы (мы так или иначе сталкивались с ними по ходу данной статьи). Явное исключение составляет здесь "новый" протокол передачи MMS (Microsoft Media Server протокол). Это алгоритм передачи медийного контента компании Microsoft. Сейчас на смену ему пришел более прогрессивный RTSP (Real Time Stream Protocol), но mms оставлен для обеспечения обратной совместимости.

Вот этим мы и воспользуемся! Итак, указываем протокол подключения к серверу (mms), его IP адрес (в нашем случае это 192.168.1.2), порт сервера, на котором он "ждет" подключения (5119, обратите внимание, что после IP адреса порт указывается через двоеточие), дальше прописываем виртуальную папку с видеофайлами (помните, что мы изменили ее на my_video) и в завершении - запрашиваемый нами файл с указанием поддерживаемого сервером расширения (test.avi).

Примечание : если в Windows Mediaplayer не настроены типы (привязки) файлов, может появиться соответствующий запрос. Все что от нас требуется, это несколько раз нажать на кнопку «Далее». Все остальное медиаплеер сделает сам:)

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


Когда это значение достигнет 100% (это произойдет достаточно быстро), видео начнет проигрываться.


А теперь, как и договаривались, переходим ко второй части нашей статьи, посвященной живой трансляции с использованием программного обеспечения Unreal Media Server. Нажимайте на надпись "продолжение" внизу статьи.

Представьте себе, были времена, когда посмотреть видео и послушать музыку во всемирной паутине удавалось без технологии Adobe Flash.

Пользователь нажимал на ссылку - и видеоклип открывался в плеере мультимедиа. Или начиналась онлайн-трансляция какого-нибудь события. Не попадались удручающие сообщения вроде «для просмотра видео вы непременно должны обновить Flash Player, иначе мы ничего вам не покажем», не выходили устрашающие пресс-релизы о новых уязвимостях в изделии от Adobe. В общем, речь пойдёт о тех светлых временах.

Суть вкратце

Мультимедиа, представленное в потоковом виде, не нужно предварительно скачивать. Такие данные воспроизводятся по мере загрузки. Могут кэшироваться на диске, но временные файлы потом самоликвидируются.

Если нажать кнопку воспроизведения на Youtube или аналогичном сервисе, то данные всё же скачиваются, и в кэше браузера размещается полноценный файл. Именно благодаря этому можно поставить видео на паузу и дождаться полной загрузки, индикатором которой служит тонкая полоска в нижней части Adobe Flash Player, встроенного в страницу.

В большинстве случаев, такие видеофайлы можно вытаскивать из кэша и воспроизводить любым приличным плеером. Браузер Internet Explorer, помнится, даже не удосуживался менять у них расширения.

При потоковом вещании если что-то и кэшируется, то не в виде полноценного файла, пригодного для воспроизведения оффлайн. Какие-то фрагменты, своеобразная «подкачка», не более того.

Виды потокового вещания

Первая разновидность - вещание по запросу. Это когда на сервере размещается файл, трансляция которого начинается только после клика на ссылке.

Вторая разновидность - вещание в режиме реального времени. Данные передаются постоянно, запросов никто не ждёт. Именно так в интернете работают радио и телевидение (да и не только в интернете).

Протокол Unicast передаёт данные одному клиенту, Multicast - многим. Также используются вещательные протоколы RTSP, RTCP, RTP. Ну и TCP, конечно, с буферизацией на стороне получателя в качестве платы за корректность принятых данных.

Ранее очень популярными были форматы Windows Media Video (*WMV в потоковом варианте) и RealMedia (*RM и *RAM). Потом началось глобальное безумие под названием Adobe Flash , и эти хорошие форматы утратили популярность (разве что в мобильных телефонах RealMedia ещё используется).

Впрочем, никто не запрещает вам конвертировать видеофайл в потоковый вариант *WMV, выложить на своём сайте и таким образом избавить посетителей от необходимости устанавливать ужасный Flash-плеер.

Запись

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

Рассмотрим процесс записи на примере «радиоперехвата». В смысле, будем записывать то, что транслируется какой-нибудь интернет-станцией («Медиа» - «Открыть URL»). Понадобится VLC Media Player, бесплатный и кросс-платформенный, Свободное ПО. Его следует брать либо с сайта разработчиков videolan.org (если у вас Windows), либо из официального репозитория дистрибутива Linux, которым вы пользуетесь.

Установили? Вот и хорошо. Данный плеер является всеядным, поддерживает многие популярные форматы и потому пригодится вам в любом случае. Теперь запускайте. В меню «Вид» поставьте галочку на пункте «Дополнительные элементы интерфейса». В нижней части окошка программы появится панелька с кнопочками, одна из которых будет содержать красный кружок.

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

Так вот, вышеуказанная кнопка служит для старта процесса записи. А также для прерывания оного.

В Windows записанное следует искать в папке Documents and Settings, а в Linux - естественно, в домашней директории.

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

VLC Media Player также поможет организовать собственную трансляцию. В меню «Медиа» есть команда «Потоковое вещание».

Заключение

К сожалению, потоковые данные нередко воспроизводят посредством всё того же Adobe Flash Player, встроенного в веб-страницу. Ведь если мультимедиа будет открываться в отдельной программе (например, в Real Player, как раньше), то пользователи не станут обращать внимание на рекламу, размещаемую на оной странице рядом с Flash Player.

А эпоха HTML5 хоть и приближается, но весьма неторопливо, и новые средства встраивания (не такие опасные) пока не прижились.

Значит, пока не наступило светлое будущее с HTML5, можно хотя бы пробовать делиться мультимедиа-контентом старым способом, существовавшим до тотального засилья Adobe Flash.

Ваш покорный слуга в течение двух месяцев держал на своём сайте видеофайлы в формате *WMV. Результаты эксперимента таковы: от посетителей не поступило ни единой жалобы, у всех всё открывалось без проблем прямо в браузере или в отдельно запущенном окошке медиаплеера. Жизнь без Flash возможна даже до прихода HTML5.

Предыдущие публикации:

Последнее редактирование: 2012-01-02 00:19:48

Метки материала: , ,

VLC - это известный медиаплеер, который поддерживает огромное количество возможностей и может работать в Windows, Linux и MacOS. Кроме воспроизведения видео, вы можете записывать экран, открывать различные интернет-источники, и даже транслировать свое видео в сеть. Можно настроить потоковое видео VLC для нужного файла, экрана или любых устройств захвата.

В этой статье мы рассмотрим как настроить потоковое вещание через VLC. Поговорим про настройку программы, а также подробно рассмотрим все особенности.

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

Воспроизведение потокового видео поддерживается большинством плееров для компьютеров. Что касается воспроизведения с других устройств, то вам будет необходимо знать IP адрес вашего компьютера. Вы можете узнать IP адрес в Linux с помощью команды терминала:

А в Windows выполните в командной строке:

Теперь перейдем к тому как настроить потоковое вещание через VLC.

Потоковое вещание VLC

Прежде всего, программа должна быть установлена на вашем компьютере. Если вы еще не установили VLC используйте такую команду в Ubuntu:

sudo apt install vlc

Или же скачайте установщик на официальном сайте для своей операционной системы. Когда программа установлена, мы можем перейти к тому как настраивается трансляция через vlc.

Сначала запустите программу, и если это был первый запуск, то вам нужно принять лицензию:

Затем откройте меню Медиа и выберите пункт Открыть устройство захвата :

Затем перейдите на вкладку Файл , и выберите файл, который вы собираетесь транслировать с помощью кнопки Добавить :

В открывшемся окне прочитайте информацию и нажмите Следующий :

Затем нужно выбрать способы вещания в сеть. В строчке Новое назначение выберите HTTP. Затем выберите порт и url по которому будет открываться поток. Данные лучше оставить по умолчанию:

На следующей вкладке отметьте Включить перекодирование , в строчке профиль выберите Video - H.264 +MP3 (MP4) :

В следующем окне вы можете настроить различные параметры ffmpeg для потока если это нужно, затем осталось нажать кнопку Поток , чтобы запустить вещание:

Если все прошло успешно появиться главное окно VLC с индикатором воспроизведения, начнется потоковое вещание VLC:

mplayer http://localhost:8080

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

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

VLC поддерживает сетевую передачу про протоколах HTTP и RTSP. Вы можете использовать различные плееры для приема потокового видео, например Kodi поддерживает HTTP и даже RTSP.

Выводы

В этой статье мы рассмотрели как настроить потоковое видео через vlc, а также как воспроизвести потоковое видео. Теперь вы можете транслировать потоковое видео на свои устройства. А вы используете потоковое видео? Напишите в комментариях!

Поделиться