Преобразование нескольких потоков RTP в поток gRP C - PullRequest
1 голос
/ 20 января 2020

Я получаю несколько потоков RTP (g711 ulaw / alaw), которые могут приходить по TCP или UDP, я хочу прервать RTP и получить необработанный носитель из потока RTP и передать его в другое место назначения с помощью Google gRP C протокол.

В настоящее время у меня есть механизм обработки RTP, который делает это и дает мне необработанный поток из стека RTP, который я затем направляю в пункт назначения gRP C, но это решение не масштабируется за пределы 1000 потоков. на одном хосте, и его трудно поддерживать.

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

Я опция exploring Использовать ffmpeg / gstreamer для получения необработанных пакетов из потока RTP. Не уверен, насколько масштабируемым он будет и как мне получить поток, чтобы я мог передавать его через gRP C.

У меня есть следующие вопросы:

  1. Это хороший вариант для этой цели использовать ffmpeg / gstreamer.
  2. Как мне работать с несколькими потоками, любые предложения или примеры.
  3. Любые подробности о масштабируемости ffmpeg / gstreamer.
  4. Я планирую использовать Java для своего приложения , которая java обертка будет хорошо, например, Xuggle / ffmpeg-cli-wrapper для ffmpeg.
...