von Medien-Pipeline, nehme ich es Ihnen Medienquelle beziehen, nicht wahr? Es ist nicht möglich, Medien aus verschiedenen Pipelines zu mischen.
Sie können mit dem Mischerelement Composite
überprüfen. Es wurde noch nie getestet, aber es sollte funktionieren. Es wäre sehr einfach, das Audio von B und das Video von A gemischt zu bekommen. Nehmen wir an, Sie bekommen, dass Medien durch eine WebRtcEndpoint
Composite composite = new Composite.Builder(pipeline).build();
HubPort hubPortA = new HubPort.Builder(composite).build();
webRtcA.connect(hubPortA, MediaType.VIDEO);
HubPort hubPortB = new HubPort.Builder(composite).build();
webRtcB.connect(hubPortB, MediaType.AUDIO);
WebRtcEndpoint
Erstellung und Verhandlung sind aus Gründen der Übersichtlichkeit nicht dargestellt.
EDIT 1
Denken Sie vielleicht mehr als nur diese beiden, sondern als @santoscadenas wies darauf hin, mischen, wenn Sie nur zwei Ströme unterschiedlicher Art mischen möchten, können Sie direkt den WebRtcEndpoint
. Dies wird auch Ressourcen sparen und wird besser skalieren, wie die Composite
ist ziemlich hungrig. Genommen von der anderen Antwort, und es zu einem Namenskonvention anpassen, wäre es
seinen
webRtcA.connect(webRtcOut, MediaType.VIDEO);
webRtcB.connect(webRtOut, MediaType.AUDIO);
ja von mediapipeline Ich meine Medienquelle, können Sie zeigen, eine bestimmte Methode, die verwendet werden kann, wenn ich mit einem kms-Filter versuchen möchte, was sollte ich dabei in Betracht ziehen –
@SagarPilkhwal Ich denke, dass die Zusammensetzung könnte nur funktionieren wie du es erwartest. Probieren Sie es gleich aus, und Sie können wahrscheinlich Ihren eigenen Filter erstellen. – igracia
Sie brauchen dafür kein Composite, siehe meine Antwort – santoscadenas