Формат медиа-адреса

    Медиа-адрес состоит из трех частей:

    type://address#options
    

    type

    Описывает, какой тип протокола следует использовать. Доступны следующие типы:

    • udp — UDP мультикаст, юникаст или броадкаст
    • rtp — протокол, основанный на UDP
    • http — HTTP-протокол. MPEG-TS, HLS (потоковое видео HTTP)
    • resi — отправка данных на модулятор DVB-C
    • file — MPEG-TS файлы
    • np — NetworkPush - протокол, основанный на HTTP. служит для отправки потоков на сервер

    address

    Адрес приема/передачи


    options

    Параметры могут быть специальными и общими. Параметры должны разделятся символом &. Например: resi://#adapter=0&frequency=346&modulation=QAM256


    Форматы приема/передачи протоколов:

    Нажмите чтобы развернуть:

    UDP/RTP

    udp://[interface@]address[:port]
    rtp://[interface@]address[:port]

    • interface — IPv4 адрес или имя локального интерфейса. По умолчанию используется таблица маршрутизации.
    • address — IPv4 адрес потока. Мультикаст или юникаст.
    • port — port number. По умолчанию: 1234

    Дополнительные параметры:

    • ttl=TTL — время жизни UDP пакета. По умолчанию:: 32
    • no_sync — синхронизация потока - это равномерная передача потока на основе метки PCR. Astra вычисляет общий размер блока между двумя метками PCR и фактической скоростью блока. Этот параметр отключает эту функцию.
    • cbr=RATE — добавить NULL-TS пакеты в поток, чтобы получить постоянный битрейт. Значение должно быть в KBit/s
    • renew=INTERVAL — обновление подписки на мультикаст-группу через заданное время (в секундах)

    Пример:

    udp://239.255.1.1:1234 udp://eth0@239.255.1.1
    udp://239.255.1.1:1234#cbr=8000


    RTSP

    Протокол RTSP доступен только для приема!
    rtsp://[login:password@]address[:port][/path]

    • login:password — имя пользователя и пароль для авторизации rtsp
    • address — IPv4 адрес сервера или доменное имя
    • port — Номер порта. По умолчанию: 554
    • path — путь к ресурсу. Значение по умолчанию: /

    HTTP

    http://interface:port[/path]

    • interface — адрес локального интерфейса
    • port — номер порта. По умолчанию: 80
    • path — путь к ресурсу. Для использования HLS в конце пути должно быть .m3u8 о умолчанию: /

    Дополнительные параметры передачи HLS потока:

    • duration=5 — длина сегмента в секундах. По умолчанию: 5
    • quantity=6 — количество сегментов. По умолчанию: 6
    • no_auth — доступ к потоку без аутентификации

    Дополнительные параметры передачи MPEG-TS потока:

    • buffer_size=SIZE — размер в килобайтах клиентского буфера. Буфер выделяется для каждого соединения и предотвращает потерю данных при задержках передачи. По умолчанию:: 1024
    • buffer_fill=SIZE — минимальный размер данных в килобайтах, который должен быть собран перед передачей клиенту. По умолчанию: 256
    • no_auth — доступ к потоку без аутентификации

    Дополнительные опции приема:

    • ua=USER-AGENT — пользовательский User-Agent. Значение по умолчанию: Astra
    • timeout=TIMEOUT — таймаут, в секундах, для установления соединения с сервером. Значение по умолчанию: 10
    • buffer_size=SIZE — размер буфера приема, в килобайтах. Значение по умолчанию: 1024
    • buffer_time=TIME — Размер буфера в секундах - альтернатива параметру buffer_size

    Пример:

    http://0:10000/channel-id/index.m3u8#no_auth — передача HLS
    http://0:10000/channel-id — MPEG-TS стрим

    Для получения HTTPS-источника необходимо использовать дополнительный прокси-сервер, например nginx, поскольку Astra еще не поддерживает HTTPS. Создайте конфигурационный файл /etc/nginx/sites-enabled/astra с содержимым:

    server {
        listen 30000;
        server_name _;
    
        location / {
            proxy_cache off;
            expires -1;
            proxy_ssl_server_name on;
            proxy_pass https://example.com:8000;
        }
    }
    

    RESI

    RESI — это модулятор DVB-C производства компании DigitalDevices

    resi://#adapter=0&device=0&frequency=346&modulation=QAM256

    Опции:

    • adapter — номер адаптера RESI в системе: /dev/dvb/adapter0
    • device — номер модулятора в адаптере RESI: /dev/dvb/adapter0/mod0
    • frequency — частота транспондера
    • symbolrate — скорость транспондера. По умолчанию: 6900
    • modulation — DVB-C модуляция. возможные значения: QAM16, QAM32, QAM64, QAM128, QAM256. Default: QAM64
    • attenuator — Аттеньюация уровня сигнала. Значение должно находиться в диапазоне от 0 до 10. По умолчанию: 0

    MPEG-TS File

    file://path

    • path — путь до файла
      Пример:
      file:///mnt/raid0/file.ts

    Дополнительные параметры:
    loop — "зацикленное" воспроизведение файла.


    Network Push

    Network Push — протокол передачи потоков на основе HTTP
    Используется для передачи потоков от клиента на сервер
    Например для передачи потока на сервера для транскодирования

    np://[login:password@]address[:port][/path]

    • login:password — — логин и пароль для HTTP-авторизации. Поддерживает: Basic, Digest. For Input only!
    • address — — IPv4 адрес или доменное имя хоста
    • port — номер порта. По умолчанию: 80
    • path — путь к ресурсу. По умолчанию: /

    Дополнительные параметры для Output:

    • sctp — использовать протокол SCTP вместо TCP

    Пример:
    np://media.example.com/channel-id


    Глобальные опции приема

    • pnr=PNR — номер программы, также известен как SID (Service ID). Извлечение канала с указанным номером из потока
    • set_pnr=PNR — изменить PNR. Значение должно быть в диапазоне от 1 до 65535
    • set_tsid=TSID — изменить TSID (Transport Stream ID)
    • biss=1122330044556600 — BISS ключ для дешифрования потока
    • cam — использовать DVB-CI для дешифрования потока
    • cam=CAM-ID — использовать Softcam для дешифрования потока
    • ecm_pid=PID — установить ECM PID (не рекомендуется использовать)
    • shift=X — размер буфера дешифрования для входящего потока, в мегабитах, позволяет задержать дешифрование потока. Параметр может потребоваться для каналов "Sky". Для расчёта значения параметра, необходимо умножить битрейт потока на время задержки, в секундах. Например 10Мбит/с * 3 секунды получится shift=30
    • cas — пропускать служебные данные о системах условного доступа. Используется для передачи зашифрованного потока
    • filter=N,… — фильтрация потока, убрать данные с указанными идентификаторами (PID). Идентификаторы перечисляются через запятую
    • filter~=N,… — фильтрация потока, убрать все данные кроме указанных идентификаторв (PID) и служебных таблиц. Идентификаторы перечисляются через запятую
    • map.SRC=DST — изменить идентификаторы данных (PID) на заданные значения. SRC - оригинальный идентификатор или тип данных. Возможные типы pmt, video, audio или код языка. DST - требуемый идентификатор. Значение может быть в диапазоне от 16 до 8190
    • no_sdt — удалить информацию о канале: название канала, название оператора. SDT - Service Description Table
    • pass_sdt — передача SDT без обработки. По умолчанию, если установлен параметр pnr, Astra передаёт информацию только по выбранному потоку
    • no_eit — удалить информацию о событиях: EPG. EIT - Event Information Table
    • pass_eit — передача EIT без обработки. По умолчанию, если установлен параметр pnr, Astra передаёт информацию только по выбранному потоку
    • no_reload — отключить проверку изменений в потоке
    • cc_limit=N — установить лимит CC-ошибок. Если количество CC-ошибок больше установленного лимита, Astra попытается переключится на резервный источник. По умолчанию: лимит не установлен.
    • bitrate_limit=RATE — установить минимальный битрейт для анализатора в Кбит/с. Источник будет считаться нерабочим если битрейт потока меньше указанного значения. По умолчанию: 16 Кбит/с для потока без видео данных и 128 Кбит/с для потока с видео данными
    • watchdog=XXX - установка времени срабатывания таймера для перезапуска неисправного входящего потока, устанавливается в секундах. по умолчанию - 5 секунд.
    • sctp — использовать протокол SCTP вместо TCP