Медиа-адрес состоит из трех частей:
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
- sync
- синхронизация потока — это равномерная передача потока на основе метки PCR.
Astra вычисляет общий размер блока между двумя метками PCR и фактической скоростью блока. - no_sync
- этот параметр отключает функцию sync.
- 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 по умолчанию: /
- sctp
- использовать протокол SCTP вместо TCP.
Дополнительные параметры передачи 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 (не рекомендуется использовать).
- cas
- пропускать служебные данные о системах условного доступа. Используется для передачи зашифрованного потока.
- filter=N,...
- фильтрация потока, убрать данные с указанными идентификаторами (PID). Идентификаторы перечисляются через запятую.
- filter~=N,...
- фильтрация потока, убрать все данные кроме указанных идентификаторв (PID) и служебных таблиц. Идентификаторы перечисляются через запятую.
- map.SRC=DST
- изменить идентификаторы данных (PID) на заданные значения. SRC - оригинальный идентификатор или тип данных. Возможные типы: pmt, video, audio, ait или код языка. DST - требуемый идентификатор. Значение может быть в диапазоне от 16 до 8190.
- no_sdt
- удалить информацию о канале: название канала, название оператора (SDTService Description Table).
- pass_sdt
- передача SDT без обработки. По умолчанию, если установлен параметр pnr, Astra передаёт информацию только по выбранному потоку
- no_eit
- удалить информацию о событиях EPG (EITEvent Information Table).
- pass_eit
- передача EIT без обработки. По умолчанию, если установлен параметр pnr, Astra передаёт информацию только по выбранному потоку.
- no_reload
- отключить проверку изменений в потоке.
- cc_limit=N
- установить лимит CC-ошибок. Если количество CC-ошибок больше установленного лимита, Astra переключится на резервный источник (при наличии). По умолчанию: лимит не установлен.
- bitrate_limit=RATE
- установить минимальный битрейт для анализатора в Кбит/с. Источник будет считаться нерабочим если битрейт потока меньше указанного значения. По умолчанию: 16 Кбит/с для потока без видео данных и 128 Кбит/с для потока с видео данными.
- watchdog=N
- установка времени срабатывания таймера для перезапуска неисправного входящего потока, устанавливается в секундах. по умолчанию5 секунд.
- pass_data
- Пропускать элементарные потоки, содержащие данные (data-pid). По умолчанию, Астра удаляет эти данные.
- order 1
- сортировка PID в PMT таблице.
Часто используется с параметромlang
для выбора приоритетной звуковой дорожки.
В данном примере мы установим английскую звуковую дорожку первой (по умолчанию):
lang.1475=ita&lang.1472=eng&order=1472,1475
1475
и1472
- PID - lang 1
- задать или установить свойство языка для звуковой дорожки
Пример:
lang.1241=eng
1241
- pid, eng
- код языка.