...
Рекомендуется для удобства задавать имена профилей, начинающиеся с дефиса.
Для применения изменений в файле cdn_profiles.yml
необходим перезапуск сервера.
Параметры профиля
Параметр | Допустимые значения | Описание |
---|---|---|
Параметры аудио | ||
codec | opus mpeg4-generic speex | Используемый кодек аудио |
bitrate | Зависит от требуемого качества и пропускной способности каналов | Битрейт звука, бит/с |
rate | 8000 11025 12000 16000 22050 24000 32000 44100 48000 | Частота дискретизации звука |
channels | 1 2 | Количество каналов: моно или стерео |
Параметры видео | ||
codec | h264 vp8 | Используемый кодек видео |
bitrate | Зависит от требуемого качества и пропускной способности каналов | Битрейт видео, кбит/с |
width | Зависит от требуемого качества и пропускной способности каналов | Ширина картинки |
height | Зависит от требуемого качества и пропускной способности каналов | Высота картинки |
codeImpl | FF OPENH264 | Используемый кодек видео: на основе FFmpeg или OpenH.264 |
gop | Зависит от требуемого качества и пропускной способности каналов | Частота отправки ключевых кадров (GOP) |
fps | Зависит от требуемого качества и пропускной способности каналов | Частота кадров |
quality | Зависит от требуемого качества и пропускной способности каналов | Качество видео |
preset | ultrafast superfast veryfast faster fast medium slow slower veryslow placebo | Пресет FFmpeg, по умолчанию ultrafast |
profile | Зависит от требуемого качества | Профиль кодирования FFmpeg, по умолчанию Baseline |
level | Зависит от требуемого качества | Уровень кодирования FFmpeg, по умолчанию 3.1 |
...
задают использование пресета veryfast
, профиля Main
и уровня 3.1
Управление профилями транскодинга при помощи REST API
Для управление профилями транскодинга на лету, без перезапуска сервера, служит специальное REST API
REST-запрос должен быть HTTP/HTTPS POST запросом в таком виде:
- HTTP: http://test.flashphoner.com:8081/rest-api/cdn/profile/print
- HTTPS: https://test.flashphoner.com:8444/rest-api/cdn/profile/print
Здесь:
- test.flashphoner.com - адрес WCS-сервера
- 8081 - стандартный REST / HTTP порт WCS-сервера
- 8444 - стандартный HTTPS порт
- rest-api - обязательная часть URL
- /cdn/profile/print - используемый REST-метод
REST запросы необходимо отправлять на Edge сервер. Изменения в профилях сохраняются в памяти и применяются немедленно, а также записываются в файл cdn_profiles.yml
для использования после перезапуска сервера.
REST-методы и статусы ответа
REST-метод | Пример тела REST-запроса | Пример тела REST-ответа | Статусы ответа | Описание | |||||||
---|---|---|---|---|---|---|---|---|---|---|---|
/cdn/profile/add |
| 200 – OK 400 - Bad Request 409 - Conflict 500 – Internal Server Error | Добавить профиль транскодинга | ||||||||
/cdn/profile/modify |
| 200 – OK 400 - Bad Request 404 - Not Found 500 – Internal Server Error | Изменить профиль транскодинга | ||||||||
/cdn/profile/print |
| 200 – OK 404 - Not Found 500 – Internal Server Error | Получить список профилей транскодирования | ||||||||
/cdn/profile/remove |
| 200 – OK 404 - Not Found 500 – Internal Server Error | Удалить профиль транскодирования |
Параметры
Имя параметра | Описание | Пример |
---|---|---|
name | Имя профиля | -profile1 |
profile | Параметры профиля | { |
Параметры профиля обязательно должны содержать разделы audio
или video
.
Основными параметрами профиля являются следующие:
- audio:
- bitrate
- codec
- rate
- channels
- video:
- bitrate
- codec
- width
- height
- quality
Остальные параметры являются дополнительными и могут отсутствовать в профиле:
- video:
- codecImpl
- fps
- gop
- level
- preset
- profile
Если какие-либо из этих параметров не указаны при создании профиля, они будут добавлены в профиль со значением 0 для числовых и "" для строковых параметров, при этом будут применены значения по умолчанию.
При изменении профиля изменяются только переданные параметры. Если необходимо сбросить какой-либо из основных параметров к значению по умолчанию, либо удалить из профиля дополнительный параметр необходимо передать -1, например:
Code Block | ||||
---|---|---|---|---|
| ||||
{
"name": "-profile1",
"profile": {
"video": {
"bitrate": -1,
"codecImpl": -1
}
}
} |
Изменение используемых профилей
Если по профилю в данный момент воспроизводится поток, изменение профиля возможно только после окончания воспроизведения потока и остановки агента, т.е. приблизительно через минуту после того, как от потока отключился последний подписчик.
В каких случаях поток транскодируется на Edge сервере
...
- test.flashphoner.com - адрес WCS-сервера
- 8081 - стандартный REST / HTTP порт WCS-сервера
- 8444 - стандартный HTTPS порт
- rest-api - обязательная часть URL
- /cdn/show_stream_routes - используемый REST-метод
REST-методы и статусы ответа
REST-метод | Пример тела REST-запроса | Пример тела REST-ответа | Статусы ответа | Описание | ||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
/cdn/stream/show_routes |
|
| 200 – OK 500 – Internal Server Error | Показать активные маршруты CDN |
Параметры
Описание | Пример |
---|---|
Имя потока (c указанием профиля, при необходимости) | test-webrtc-144 |
Параметры запрашиваемого профиля транскодирования | |
Параметры запрашиваемого профиля | REQUESTED-PROFILE |
Параметры аудио, указанные в профиле | AUDIO{bitrate=0, codec='opus', rate=48000, channels=2} |
Параметры видео, указанные в профиле | VIDEO{width=256, height=144, gop=null, fps=null, bitrate=0, codec='h264', codecImpl='OPENH264', quality=null} |
Параметры потока на Transcoder | |
Параметры профилей транскодирования, используемых в данный момент на Transcoder | 1-PROFILE-192.168.1.220 |
Параметры потока, который Transcoder забрал с Origin | 2-STREAM-192.168.1.220 |
Параметры профиля аудио | AUDIO{bitrate=0, codec='opus', rate=48000, channels=2} |
Параметры профиля видео (в соответствии с работающими в данный момент профилями транскодирования) | VIDEO{width=320, height=180, gop=null, fps=null, bitrate=0, codec='H264', codecImpl='FF', quality=null} |
Параметры потока, который Trancoder может забрать с Origin | 3-NEW-TRANSCODER-192.168.1.220 |
Параметры потока на Origin | |
Параметры потока, который опубликован на Origin | 4-PROXY-192.168.1.219 |
Параметры аудио | AUDIO{bitrate=0, codec='opus', rate=48000, channels=2} |
Параметры видео | VIDEO{width=0, height=0, gop=null, fps=null, bitrate=0, codec='H264', codecImpl='', quality=null} |
...
- test.flashphoner.com - адрес WCS-сервера
- 8081 - стандартный REST / HTTP порт WCS-сервера
- 8444 - стандартный HTTPS порт
- rest-api - обязательная часть URL
- /cdn/show_stream_routes - используемый REST-метод
REST-методы и статусы ответа
REST-метод | Пример тела REST-запроса | Пример тела REST-ответа | Статусы ответа | Описание | |||||||
---|---|---|---|---|---|---|---|---|---|---|---|
/cdn/show_nodes |
| 200 – OK 500 – Internal Server Error | Показать состояние узлов CDN |
Параметры
Имя параметра | Описание | Пример |
---|---|---|
globalState | Статус узла: ACTIVE или PASSIVE | ACTIVE |
id | Адрес узла | 192.168.1.64 |
processingState | Участвует ли узел в выборе маршрута для воспроизведения потоков: NEW_STREAMS_ALLOWED - участвует GROUP_CONNECTION_ALLOWED - не участвует | NEW_STREAMS_ALLOWED |
role | Роль узла: ORIGIN, TRANSCODER или EDGE | ORIGIN |
...