несколько пакетов RTP для каждого файла.И Muxing - PullRequest
2 голосов
/ 17 июня 2019

У меня есть сервер Janus (WebRTC).И я использую VP8 / OPUS.Затем Янус RTP Packet пересылается в GStreamer.У меня два вопроса.

Нужно ли запускать один GStreamer (с несколькими потоками) или несколько GStremaer?На самом деле Янус отправил Gstreamer несколько RTP-потоков.Пример) Два участника находятся в комнате WebRTC.Затем Янус отправил 4 пакета RTP в GStreamer.peer1: видео / аудио, peer2: видео / аудио.Если я запускаю только один GStreamer, невозможно определить, от кого поступает каждый поток.Поэтому для классификации я должен разделить порт с несколькими процессами GStreamer.

Как это:

Процесс 1:

gst-launch-1.0 \ rtpbin name=rtpbin \ udpsrc name=videoRTP port=5000 \ caps=“application/x-rtp, media=(string)video, payload=98, encoding-name=(string)VP8-DRAFT-IETF-01, clock-rate=90000” \ ! rtpvp8depay ! webmmux ! queue \ ! filesink location=track1.webm \ udpsrc port=5002 \ caps=“application/x-rtp, media=audio, payload=111, encoding-name=(string)OPUS, clock-rate=48000" \ ! rtpopusdepay ! opusparse ! oggmux \ ! filesink location=audio.ogg

Процесс 2:

gst-launch-1.0 \ rtpbin name=rtpbin \ udpsrc name=videoRTP port=5003 \ caps=“application/x-rtp, media=(string)video, payload=98, encoding-name=(string)VP8-DRAFT-IETF-01, clock-rate=90000” \ ! rtpvp8depay ! webmmux ! queue \ ! filesink location=track1.webm \ udpsrc port=5005 \ caps=“application/x-rtp, media=audio, payload=111, encoding-name=(string)OPUS, clock-rate=48000" \ ! rtpopusdepay ! opusparse ! oggmux \ ! filesink location=audio.ogg

ИтакЯ путаюЕсть ли несколько потоков?или несколько процессов?Скажите мне подробности, плз!

Как я могу перенести VP8 / OPUS в mp4 контейнер в реальном времени?Я долго искал это.Но я пока не могу.GStreamer имеет так много вариантов для каждой версии.Жду ваших советов!Спасибо.

Я старался изо всех сил.

Я ожидаю way и mp4 файлы.

...