...
5. Циклическая вставка не поддерживается. Невозможно вставить stream1 в stream2, а затем stream2 в stream1 без остановки предыдущей вставки.
Реализация вставки в сборках до 5.2.1618
Управление вставкой при помощи REST API
REST-запрос должен быть HTTP/HTTPS POST запросом в таком виде:
...
- test.flashphoner.com - адрес WCS-сервера
- 8081 - стандартный REST / HTTP порт WCS-сервера
- 8444 - стандартный HTTPS порт
- rest-api - обязательная часть URL
- /stream/inject/startup - используемый REST-метод
REST-методы и статусы ответа
REST-метод | Пример тела REST-запроса | Пример тела REST-ответа | Статусы ответа | Описание | |||||||
---|---|---|---|---|---|---|---|---|---|---|---|
/stream/inject/startup |
| 200 - OK 400 - Bad request 404 - Not found 409 - Conflict 500 - Internal error | Вставить поток stream2 в stream1 | ||||||||
/stream/inject/find_all |
| 200 - OK 404 - Not found | Найти все вставки на сервере | ||||||||
/stream/inject/terminate |
| 200 - OK 400 - Bad request 404 - Not found 500 - Internal error | Остановить вставку в поток stream1 |
Параметры
Имя параметра | Описание | Пример |
---|---|---|
localStreamName | Имя потока, в который производится вставка | stream1 |
remoteStreamName | Имя потока, который будет вставлен | stream2 |
Вставка VOD потока из файла
В сборке 5.2.1535 добавлена возможность вставить VOD поток непосредственно из файла:
...
Эта возможность полезна, например, при вставке рекламных роликов в поток, который смотрят зрители.
Настройка
В сборке 5.2.1235 добавлена настройка, которая определяет, в течение какого времени в миллисекундах необходимо ждать ключевого кадра во вставляемом потоке
...
В этом случае будет продолжаться проигрывание потока, в который производится вставка, до момента получения ключевого кадра во вставляемом потоке.
Реализация вставки в сборке 5.2.1618 и новее
Настройка
В сборке 5.2.1618 добавлена новая реализация вставки одного потока в другой, позволяющая выбрать, какую именно составляющую заменить: аудио, видео или обе. Эта возможность включается настройкой
Code Block | ||
---|---|---|
| ||
use_new_injector=true |
REST API
REST-запрос должен быть HTTP/HTTPS POST запросом в таком виде:
HTTP: http://test.flashphoner.com:8081/rest-api/stream/inject2/startup
- HTTPS: https://test.flashphoner.com:8444/rest-api/stream/inject2/startup
Здесь:
- test.flashphoner.com - адрес WCS-сервера
- 8081 - стандартный REST / HTTP порт WCS-сервера
- 8444 - стандартный HTTPS порт
- rest-api - обязательная часть URL
- /stream/inject2/startup - используемый REST-метод
REST-методы и статусы ответа
REST-метод | Пример тела REST-запроса | Пример тела REST-ответа | Статусы ответа | Описание | |||||||
---|---|---|---|---|---|---|---|---|---|---|---|
/stream/inject2/startup |
| 200 - OK 400 - Bad request 404 - Not found 409 - Conflict 500 - Internal error | Вставить поток stream2 в stream1 | ||||||||
/stream/inject2/find_all |
| 200 - OK 404 - Not found | Найти все вставки на сервере | ||||||||
/stream/inject2/terminate |
| 200 - OK 400 - Bad request 404 - Not found 500 - Internal error | Остановить вставку в поток stream1 |
Параметры
Имя параметра | Описание | Пример |
---|---|---|
localStreamName | Имя потока, в который производится вставка | test |
remoteStreamName | Имя потока, который будет вставлен | test2 |
video | Заменять видео составляющую при вставке потока | true |
audio | Заменять аудио составляющую при вставке потока | true |
videoInjectorInfo | Информация о видео из вставленного потока | { "targetStreamName": "test2", "rootStreamName": "test2", "startTime": 1683344295099 } |
audioInjectorInfo | Информация об аудио из вставленного потока | { "targetStreamName": "test2", "rootStreamName": "test2", "startTime": 1683344295056 } |
Краткое руководство по тестированию
...