Подготовка DVB-совместимого потока для одного телеканала¶
Flussonic Media Server подготовит из любого потока на входе SPTS с постоянным битрейтом (CBR) для передачи в DVB-сети.
Flussonic по умолчанию транскодирует поток на центральном процессоре (CPU).
Warning
Чтобы получить поток с постоянным битрейтом (CBR) на выходе транскодера, транскодируйте на центральном процессоре (CPU), а не на графическом (GPU). Иначе из-за ограничений алгоритмов, заложенных в GPU, вы не получите поток с постоянным битрейтом (CBR).
Допустим, на выходе вам нужно получить SD-поток. Ниже рассматриваются способы настройки Flussonic Media Server в веб-интерфейсе и конфигурационном файле.
В веб-интерфейсе¶
Шаг 1. Настройте транскодирование потока в CBR¶
1) Откройте настройки потока, нажав на имя потока на странице Streams.
2) Перейдите на вкладку Transcoder и нажмите Enable Transcoder.
3) В разделе Audio укажите битрейт аудиодорожки (Bitrate) — 128k
и аудиокодек (Codec) — mp2a
.
4) В разделе Video > Track 1 укажите:
- GOP (GOP size) —
28
для 25 FPS; - битрейт видеодорожки (Bitrate) —
2613k
, вычисляемый по следующей формуле: 0.95 × (общий битрейт потока − 250); - высоту (Height) —
1048
и ширину (Width) —576
окна воспроизведения для плеера; - стратегию изменения размера кадра (Resize) —
scale
; - скорость кодирования (Preset) —
fast
; - размер буфера. В разделе Extended, введите ключ Key —
bufsize
и его значение Value —2475000
. Размер буфера вычисляется по следующей формуле: 900 × (общий битрейт потока − 250).
5) Примените настройки, нажав Save.
Шаг 2. Отправьте поток в мультикаст-группу¶
1) В настройках потока перейдите на вкладку Output в раздел Push live video to certain URLs и укажите адрес мультикаст-группы следующим образом: udp://239.172.0.1:1234
.
2) Перейдите в настройки отправляемого потока, нажав Options. Укажите среднее значение битрейта видеодорожки, включая заголовки и инкапсуляцию (Video bitrate), и общий битрейт потока (TS Bitrate). Среднее значение битрейта видеодорожки вычисляется по следующей формуле: общий битрейт потока − 250.
3) Примените настройки, нажав Save:
Шаг 3. Убедитесь, что всё работает¶
Для этого используйте специальную утилиту, например, DVB Inspector (см. Проверка в DVB Inspector) или любую программу, которая проверяет поток на соответствие стандарту ETSI TR 101 290.
В конфигурационном файле¶
1) В настройках потока укажите transcoder
и настройте его следующим образом:
stream spts-cbr {
input file://vod/bunny.mp4;
transcoder gop=28 vb=2613k bufsize=2475000 preset=fast size=1048x576:scale ab=128k acodec=mp2a;
}
, где:
gop=28
— размер GOP (Group Of Pictures) для 25 FPS (Frames Per Second);vb=2613k
— битрейт видеодорожки, вычисляемый по следующей формуле: 0.95 × (битрейт всего потока − 250);bufsize=2475000
— размер буфера в битах, вычисляемый по следующей формуле: 900 × (битрейт всего потока − 250);preset=fast
— скорость кодирования;size=1048x576:scale
— размер окна воспроизведения для плеера, гдеscale
— стратегия изменения размера кадра, при которой картинка вписывается в заданный размер без сохранения пропорций;ab=128k
— битрейт аудиодорожки;acodec=mp2a
— аудиокодек.
2) В настройках потока добавьте push
и укажите адрес мультикаст-группы (udp://239.172.0.1:1234
), общий битрейт потока (bitrate
) и среднее значение битрейта видеодорожки, включая заголовки и инкапсуляцию (vb
): push udp://239.172.0.1:1234 bitrate=3000 vb=2750
. Среднее значение битрейта видеодорожки вычисляется по следующей формуле: (общий битрейт потока − 250).
3) Убедитесь, что всё работает. Для этого используйте специальную утилиту, например, DVB Inspector (см. Проверка в DVB Inspector) или любую программу, которая проверяет поток на соответствие стандарту ETSI TR 101 290.
Проверка качества выходного SPTS в DVB Inspector¶
1) Запишите отрезок потока длительностью пару минут с помощью следующей команды в терминале: /opt/flussonic/contrib/multicast_capture.erl udp://239.172.0.1:1234 spts-cbr-output.ts
. Закончите запись, использовав сочетание клавиш Ctrl+C.
2) Скачайте получившийся отрезок spts-cbr-output.ts
на локальный компьютер.
3) Проверьте записанный отрезок в DVB Inspector.
✅
❌
В результате вы получите CBR SPTS, который можно передать в QAM-модулятор и отправить в кабельную сеть, эфир или спутник.
Note
Значение по умолчанию шага замера в DVB Inspector (View > Filter > Steps) сглаживает битрейт отдельных PID при большой длительности отрезка. Это значит, что чем больше длительность отрезка записываемого потока, тем ровнее битрейт отдельных PID. Так, если вы запишете отрезок потока длительностью 10 минут и откроете его в DVB Inspector, то увидите идеальный график с ровными битрейтами отдельных PID. Если на этом же отрезке вы установите шаг замера равным 500, то увидите, что в битрейтах отдельных PID есть небольшие колебания. Такие небольшие колебания около одного Кбит/с не влияют на результат и такой поток всё ещё CBR.