2016-07-25 30 views
0

Ist es möglich, sowohl MediaPlayer als auch MediaRecorder gleichzeitig zu verwenden, um mit rtsp stream zu arbeiten?MediaPlayer + MediaRecorder für RTSP-Stream?

Zum Beispiel würde ich MediaPlayer verwenden Live-Videostream

MediaPlayer.setDataSource("rtsp://link:port/parameters.sdp?");

zu spielen und dann einen Knopf MediaRecorder zu verwenden, um das Live-Stream aufzeichnen und lokal speichern (oder aus der Ferne, wenn möglich)

MediaRecorder.setOutputFile("/sdcard/liveRTSP.mp4");

Antwort

0

Solange Sie sie nicht benötigen, um die gleiche zugrunde liegende RTP-Verbindung zu teilen, sollten Sie in Ordnung sein. Die Verwendung dieser beiden Klassen führt zu zwei ausstehenden RTSP-Verbindungen zum RTSP-Server. Wenn es damit umgehen kann und Sie nicht beide dieser Verbindungen synchronisieren müssen (eine von ihnen kann hinter der anderen zurückbleiben, aber die Verzögerung wäre klein und nicht garantiert), dann geht es Ihnen gut.

+0

, Vielen Dank für Ihre Antwort, wenn Sie sagen "brauchen sie nicht die gleiche zugrunde liegende RTP-Verbindung zu teilen", meinst du, ich kann nicht beide Funktionen auf der gleichen 'setDataSource'? –

+0

@FayZan hängt davon ab, welche Überladung der 'setDataSource' Sie verwenden. Wenn derjenige, der eine Zeichenkette oder eine URL nimmt, wird es meiner Meinung nach dazu führen, dass beide Objekte eine explizite RTP-Verbindung haben. Wenn Sie eine zugrunde liegende Verbindung unter der MediaDataSource-Schnittstelle umbrechen, können Sie eine Verbindung freigeben. –