Последние данные по настройке DVR можно найти в этой статье и на сайте.
Запись потоков - это один из основных сценариев в рамках живого вещания, поскольку необходимость посмотреть запись после окончания передачи, или переключаться между частями показа по ходу вещания, существует всегда. Nimble Streamer предоставляет отличные возможности для создания живых трансляций и их перепаковки из RTSP, RTMP, MPEG-TS, Icecast и SHOUTcast в любой поддерживаемый формат, такой как HLS, MPEG-DASH, RTMP, RTSP и MPEG-TS.
Запись потоков - это один из основных сценариев в рамках живого вещания, поскольку необходимость посмотреть запись после окончания передачи, или переключаться между частями показа по ходу вещания, существует всегда. Nimble Streamer предоставляет отличные возможности для создания живых трансляций и их перепаковки из RTSP, RTMP, MPEG-TS, Icecast и SHOUTcast в любой поддерживаемый формат, такой как HLS, MPEG-DASH, RTMP, RTSP и MPEG-TS.
Следующий шаг в развитии этой функциональности - это запись живых потоков - процесс, известный также как Digital Video Recording, или DVR.
Текущие возможности DVR в Nimble Streamer:
- запись входящих потоков RTMP, RTSP и MPEG-TS;
- настройки на уровне как приложения, так и потока;
- воспроизведение ранее записанных потоков;
- воспроизведение диапазона записи - для EPG и т.п.;
- воспроизведение со смещением во времени;
- воспроизведение потоков, записываемых в данный момент;
- протоколы исходящих потоков - HLS и MPEG-DASH.
Далее вы узнаете, как можно воспользоваться этими возможностями в вашей инфраструктуре.
Мы также выпустили обзорное видео с деонстрацией настройки DVR, оно также может быть полезным.
Ниже - более подробное описание.
1. Настройка сценариев вещания
В данной статье предполагается, что вы уже установили Nimble Streamer. Если нет, воспользуйтесь инструкцией, чтобы установить экземпляр на свой сервер или десктоп. Если у вас старая версия сервера - сделайте апгрейд.
Статьи с примерами установки различных сценариев:
- Публикуемые (published) RTMP-потоки.
- Вытягивание (pull) RTMP-потоков, в том числе динамически по запросу.
- RTSP потоки - в сценариях вытягивания и публикации - также вместе с динамическими запросами.
- Потоки MPEG-TS.
Если все эти сценарии запущены и работают, вы можете начать настройку DVR.
2. Настройка DVR
Перейдите в меню "Nimble Streamer" -> "Live streams settings", чтобы открыть страницу установки. Затем щелкните по кнопке "DVR", чтобы открыть параметры.
Здесь вы видите список настроек. В нашем случае что-то уже установлено, а в вашем случае откроется пустой список. Нажмите кнопку "Add DVR setting", чтобы начать установку.
Ниже даны параметры, которые мы можете задавать.
Вы также можете легко настроить запись из списков существующих входящих и исходящих потоков. Находясь в соответствующем списке, просто нажмите кнопку записи, чтобы быть перенаправленным к описанному выше диалогу установки DVR.
Ниже даны параметры, которые мы можете задавать.
- Application - это название приложения, которое используется в течение трансляции. Какое бы название приложения вы ни использовали в настройках трансляции в разделе 1, оно должно быть указано здесь.
- Stream name может быть использовано для записи некоторых специфических потоков. Если название не определено, будут записаны все потоки, каждый по своему отдельному пути сохранения записей.
- Recording path - это местоположение хранилища, которое вы намереваетесь использовать. Это должен быть путь в файловой системе. Если вы не определите этот параметр, будет использован путь кеша Nimble Streamer по умолчанию.
- Loop recording duration - это максимальное временное окно, в рамках которого будет сохранен контент. Так, если вы укажете один час, начнете трансляцию, а ваш поток будет длиться 1 час и 10 минут, первые десять минут записи будут стерты, чтобы сохранить последние десять минут. Эта продолжительность больше зависит от возможностей вашего хранилища. Если вы не определите длительность, тогда Nimble будет записывать столько, сколько позволит место в указанном расположении.
- Maximum size работает также, как и Loop recording duration, с той разницей, что ограничивающим фактором для стирания старых записей будет размер архива, а не время.
- Read-only позволяет использовать презаписанные архивы, а также упростить запись фиксированных эпизодов. В этом режиме можно проигрывать записи, однако запись архива идти не будет. В этой статье вы можете узнать больше.
- Segment duration - это длительность сегмента, используемого для хранения медиа.
- Thread name и priority используются для разделения процесса записи между несколькими тредами.
Добавление из списка потоков
Вы также можете легко настроить запись из списков существующих входящих и исходящих потоков. Находясь в соответствующем списке, просто нажмите кнопку записи, чтобы быть перенаправленным к описанному выше диалогу установки DVR.
ABR-потоки
Записи ABR-потоков (с изменяемым битрейтом) настраиваются таким же образом, как и потоки с постоянным битрейтом. Настраивая DVR, вам необходимо определить ABR-приложение и дополнительное имя потока, чтобы настроить запись DVR. Далее вы можете воспроизвести записанный поток тем же способом, что и потоки с постоянным битрейтом.
Рассмотрим в деталях процесс воспроизведения записей.
3. Запись и воспроизведение в DVR
Запись начнется сразу, как только Nimble Streamer начнет получать входящий поток. Каждый поток записывается в его собственный путь записи. Если указано только приложение, то каждому потоку будет создана его собственная поддиректория. Если поток был указан, тогда будет использоваться поддиректория, соответствующая имени.
Каждая новая сессия записи потока будет дописана в его существующее местоположение. Так вы можете начать, остановить, возобновить входящий поток несколько раз и Nimble Streamer запишет контент как единую сессию. Понятно, что вся запись будет воспроизведена как один исходящий поток.
Чтобы просмотреть все существующие DVR-потоки, войдите в меню "Nimble Streamer" -> "DVR streams", откройте список DVR-потоков, как показано ниже.
Каждая новая сессия записи потока будет дописана в его существующее местоположение. Так вы можете начать, остановить, возобновить входящий поток несколько раз и Nimble Streamer запишет контент как единую сессию. Понятно, что вся запись будет воспроизведена как один исходящий поток.
Чтобы просмотреть все существующие DVR-потоки, войдите в меню "Nimble Streamer" -> "DVR streams", откройте список DVR-потоков, как показано ниже.
Как видите, у нас есть два видео-оператора и у каждого свое отдельное имя потока. Значит, каждый поток записывается отдельно. У каждого свой собственный сервер и имя, путь и текущий размер записи, общая длительность и другие параметры медиа. Также у вас имеется возможность удалить неиспользуемые записи.
Далее для каждого потока вы можете кликнуть на иконку вопроса, чтобы открыть диалог для проигрывания записи.
В этом окне вы можете скопировать URL исходящего DVR-потока для дальнейшего использования в вашем плеере или приложении. Это также позволит вам просмотреть DVR-потоки в выбранных плеерах, чтобы увидеть, что именно было записано, перед тем как распространять ссылку.
В целом, если название вашей трансляции выглядит как
То же будет в случае с MPEG-DASH.
Ваш поток с названием вида
Пожалуйста, обратите внимание, что также вы можете управлять DVR через API, чтобы автоматизировать потоковую инфраструктуру.
С DVR связано еще несколько особенностей, и статьи на эту тему скоро появятся. Свяжитесь с нами, если у вас есть какие-либо отзывы или пожелания на данную тему.
Далее для каждого потока вы можете кликнуть на иконку вопроса, чтобы открыть диалог для проигрывания записи.
Окно с примером проигрывания DVR. |
В целом, если название вашей трансляции выглядит как
http://yourhost/live/stream/playlist.m3u8то URL вашего DVR-потока будет выглядеть так
http://yourhost/live/stream/playlist_dvr.m3u8
Потоки ABR работают таким же образом.
URL у ABR-потока:
URL у ABR-потока:
http://yourhost/live_abr/stream/playlist.m3u8URL у DVR этого же потока:
http://yourhost/live_abr/stream/playlist_dvr.m3u8Его можно использовать в любом плеере HLS.
То же будет в случае с MPEG-DASH.
Ваш поток с названием вида
http://yourhost/live/stream/manifest.mpdбудет доступен как
http://yourhost/live/stream/manifest_dvr.mpd
Пожалуйста, обратите внимание, что также вы можете управлять DVR через API, чтобы автоматизировать потоковую инфраструктуру.
С DVR связано еще несколько особенностей, и статьи на эту тему скоро появятся. Свяжитесь с нами, если у вас есть какие-либо отзывы или пожелания на данную тему.
Не понятно какие потоки (кодеки) поддерживает DVR.
ОтветитьУдалитьНа вход подаю MPEG2-TS поток - пишется звук в формате *.m4a видео нет
Нимбл поддерживает кодеки H.264/AAC. Формат хранения не предполагает, что вы будете играть файлы напрямую - это делается через Нимбл, в статье как раз описаны в конце форматы URL-ов для воспроизведения.
УдалитьЕсли у вас появится конкретная проблема воспроизведения - пишите вопросы на https://ru.wmspanel.com/help
Этот комментарий был удален администратором блога.
ОтветитьУдалитьЗдравствуйте. Подскажите про диапазон записи. Как его можно получить? не нашел этого в документации.
ОтветитьУдалитьДобрый день,
УдалитьМоно посмотеть здесь: http://blog.wmspanel.com/2015/11/dvr-time-range-fragments-epg.html
Здравствуйте!
ОтветитьУдалитьЕсли я правильно понял, DVR записывает потоки от каждого источника отдельно. А если мне нужно записать в один DVR-поток (для дальнейшего просмотра) данные из нескольких входных потоков одновременно?
Если вы имеете в виду запись и проигрывание потоков ABR, то это делается также, как и обычные потоки, см. пункты про ABR.
УдалитьНет. Ситуация такая: в нескольких окнах одновременно транслируются потоки от разных источников. Нужно записать в один поток всю картину одновременно.
УдалитьНе совсем понятен кейс. Пожалуйста, напишите нам в хелпдеск https://wmspanel.com/help , посмотрим подробнее.
Удалить