Перейти к содержанию

Композитная медиа сессия

Описание

При транскодинге медиа потока на Transcоder узле для проигрывания ABR на Edge узле, медиа сессия между Transcoder и Edge узлами содержит несколько медиа потоков, по одному на каждый профиль транскодирования. Такая медиа сессия называется композитной.

Композитные медиа сессии появились в CDN 2.1. Такие сессии видны на странице статистики WCS и в логах как псевдомедиапотоки, например test-HLS-ABR-STREAM.

Начиная со сборки 5.3.265 текущее состояние, логи и статистика композитной медиа сессии доступны при помощи REST API.

Второе поколение композитных медиа сессий

Начиная со сборки 5.3.425, доступны улучшенные композитные сессии второго поколения:

composite_gen2=true

Основное изменение заключается в том, что любая медиа сессия, установленная между Transcoder и Edge узлами, даже для передачи единственного медиа профиля, является композитной.

Когда композитная сессия установлена, она может быть переиспользована для всех сценариев: транскодинг по отдельному профилю для просмотра только этого профиля, транскодинг по нескольким профилям для HLS ABR и WebRTC ABR. Зритель может запустить проигрывание WebRTC потока по профилю test-480p на Edge сервере, а затем играть HLS ABR, включающий профили 240p, 480p и 720p profiles, и все эти медиа потоки будут в одной композитной медиа сессии.

Для того, чтобы включить такое поведение, параметр composite_gen2 должен быть установлен в true и на Transcoder, и на Edge узлах.

REST API для композитной медиа сессии

Подробное описание REST API композитной медиа сессии доступно здесь

Получение данных и логов конкретной медиа сессии

POST /rest-api/v3/stream_composite/find HTTP/1.1
HOST: localhost:8081
Content-Type: application/json

{
    "name": "test-HLS-ABR-STREAM",
    "offset": 0,
    "size": 50
}
{
    "name": "test-HLS-ABR-STREAM",
    "profiles": [
        "0x240-500 Kbps",
        "0x480-1000 Kbps",
        "0x720-1.5 Mbps",
        "0x1080-2 Mbps"
    ],
    "logs": [
        "2025-12-17T13:25:08.826 WARNING: Profiles out of sync",
        [
            "0x1080-2 Mbps, 0, 0, 0, 0",
            "0x720-1.5 Mbps, 0, 0, 0, 0",
            "0x480-1000 Kbps, 0, 0, 0, 0",
            "0x240-500 Kbps, -7, +0, -234, +0"
        ],
        "2025-12-17T13:25:18.826 WARNING: Track(s) saturation rate is unsatisfactory",
        [
            "(0x1080-2 Mbps) received 922 frames. Expected 1077",
            "(0x240-500 Kbps) received 1187 frames. Expected 1077",
            "(0x480-1000 Kbps) received 1211 frames. Expected 1077"
        ],
        "2025-12-17T13:25:18.827 WARNING: Profiles out of sync",
        ...
    ]
}

Получение данных и логов всех композитных медиа сессий

POST /rest-api/v3/stream_composite/find_all HTTP/1.1
HOST: localhost:8081
Content-Type: application/json

{
    "offset": 0,
    "size": 50
}
[
    {
        "name": "test-HLS-ABR-STREAM",
        "profiles": [
            "0x240-500 Kbps",
            "0x480-1000 Kbps",
            "0x720-1.5 Mbps",
            "0x1080-2 Mbps"
        ],
        "logs": [
            "2025-12-17T13:25:08.826 WARNING: Profiles out of sync",
            [
                "0x1080-2 Mbps, 0, 0, 0, 0",
                "0x720-1.5 Mbps, 0, 0, 0, 0",
                "0x480-1000 Kbps, 0, 0, 0, 0",
                "0x240-500 Kbps, -7, +0, -234, +0"
            ],
            "2025-12-17T13:25:18.826 WARNING: Track(s) saturation rate is unsatisfactory",
            [
                "(0x1080-2 Mbps) received 922 frames. Expected 1077",
                "(0x240-500 Kbps) received 1187 frames. Expected 1077",
                "(0x480-1000 Kbps) received 1211 frames. Expected 1077"
            ],
            "2025-12-17T13:25:18.827 WARNING: Profiles out of sync",
            ...
        ]
    },
    ...
]