Как передать несколько входов на несколько выходов в Windows - PullRequest
0 голосов
/ 15 января 2019

Я привык использовать ffmpeg и прочее для трансляции / тестирования ... но я не понимаю, как серверам iptv удается иметь более 50 входных потоков, создавать более 50 выходных потоков и делиться ими, поскольку я не могу даже запустить 3 команды ffmpeg с кодировкой, не требуя от процессора помощи ...

Я пытался получить информацию, но кроме Wowza, который, кажется, делает то, что я пытаюсь понять, я не нахожу никакой информации ...

Я надеюсь, что вы можете подсказать мне понимание того, как все это работает. Кроме того, я хотел бы проверить это, так что если у вас есть какие-либо рекомендации о том, как это сделать, я буду вам благодарен!

1 Ответ

0 голосов
/ 17 января 2019

Большинство крупных потоковых служб на самом деле будет иметь несколько серверов - это отчасти связано с тем, что разные серверы выполняют разные функции, а также из-за производительности, как вы отметили.

Существует много разных способов соединения службы, но обычно она (для прямых трансляций) имеет следующие элементы:

  • своего рода живой кодер, который принимает внешний поток и преобразует его в формат, понятный остальной системе
  • транскодеры - они берут входное видео и создают его версии с несколькими битрейтами для поддержки потоковой передачи с адаптивным битрейтом (см .: https://stackoverflow.com/a/42365034/334402)
  • Упаковщики - они упаковывают результирующие видеопотоки в требуемый протокол потокового видео, обычно HLS или MPEG DASH в наши дни. Обычно это делается «вовремя», поэтому на самом деле упаковываются только требуемые потоки и скорости передачи данных. Если требуется шифрование, оно обычно применяется и на этом этапе.
  • Сервер Origin и CDN - видеопотоки, которые на самом деле состоят из пакетов данных, составляющих видеосегменты ABR, доставляются на сервер Origin, который является источником для CDN. CDN, сеть доставки контента, подобна большому рассредоточенному кешу видео и копирует видео на край сети, чтобы уменьшить задержку при запросе видео пользователем.

Вы также можете создать это с помощью облачных сервисов, а не устанавливать или раскручивать серверы самостоятельно - может быть полезно взглянуть на некоторую документацию от таких провайдеров, как AWS Media Services или BitMovin.

Каким бы способом это не было сделано, ваши первоначальные мысли верны - для сервера большого количества видеопотоков требуется немало сил.

...