Я получаю несколько потоков RTP (g711 ulaw / alaw), которые могут приходить по TCP или UDP, я хочу прервать RTP и получить необработанный носитель из потока RTP и передать его в другое место назначения с помощью Google gRP C протокол.
В настоящее время у меня есть механизм обработки RTP, который делает это и дает мне необработанный поток из стека RTP, который я затем направляю в пункт назначения gRP C, но это решение не масштабируется за пределы 1000 потоков. на одном хосте, и его трудно поддерживать.
Я хочу заменить это каким-то очень масштабируемым решением, в котором я могу масштабировать до нескольких тысяч потоков и не требует обслуживания.
Я опция exploring Использовать ffmpeg / gstreamer для получения необработанных пакетов из потока RTP. Не уверен, насколько масштабируемым он будет и как мне получить поток, чтобы я мог передавать его через gRP C.
У меня есть следующие вопросы:
- Это хороший вариант для этой цели использовать ffmpeg / gstreamer.
- Как мне работать с несколькими потоками, любые предложения или примеры.
- Любые подробности о масштабируемости ffmpeg / gstreamer.
- Я планирую использовать Java для своего приложения , которая java обертка будет хорошо, например, Xuggle / ffmpeg-cli-wrapper для ffmpeg.