Android - Kamera-Stream als RTMP-stream
Ich will den Kamera-stream auf einem Android-Gerät und übertragen Sie Sie auf einem server mit RTMP - (der server ist aus meiner Kontrolle). Ich habe nicht herausgefunden, doch wie erstellen Sie einen Strom von Daten von der Kamera selbst, aber das ist eine spätere Sorge.
Im moment gibt es zwei Probleme: ich möchte die Unterstützung API 9+ und RTMP ist nicht native unterstützt von Android.
Ich habe ein wenig umgesehen-und dies gefunden ALSO post Konvertieren von video-Input-Stream zu RTMP und https://github.com/yixia/VitamioBundle. Die ehemaligen vorgeschlagen eine Bibliothek , dass hat wenig bis gar keine Dokumentation. Letztere wahrscheinlich unterstützt (?), aber es erfordert API-14+.
Gibt es anständige Beispiele oder Bibliotheken gibt, dass das unterstützt RTMP-streaming von einem Android-Gerät? Ich habe auch etwas gelesen über das konvertieren von RTSP oder FFMPEG, wenn das ein gangbarer Weg, dann denke ich, es wird genügen, zu.
Edit 1:
Habe ich gefunden diese Bibliothek (Es hat sehr viel ähnlichkeit mit der einen oben genannten) und versucht, mit zu arbeiten. Ich importierte es in Android Studio und schrieb einige code, aber es scheint zu crash-intern mit einer java.lang.NoClassDefFoundError RTSP Codec Factory
Fehler. Also anscheinend funktioniert nicht allzu gut auf Android.
Außerdem habe ich festgestellt, mehrere Male Adobe air. Ich will nicht, um code in Action Script 3 (AS3), da diese Bibliothek nur aus einem (kleinen) Teil einer nativen app. Wenn Adobe Air ist eine Bibliothek, die ich bin mir nicht bewusst, dann würde ich gerne integrieren, wenn das möglich ist.
Du musst angemeldet sein, um einen Kommentar abzugeben.
In der akzeptiert die Antwort der Frage, die Sie verlinkten jemand schlägt mit JavaCV.
Es erfordert API 8 oder höher und verfügt über eine FFmpegFrameRecorder Klasse.
Link zu github:
https://github.com/bytedeco/javacv
Sie haben sogar eine vollständige Probe zu erfassen, flv (es ist ziemlich groß, so dass ich nicht fügen Sie es hier):
https://github.com/bytedeco/javacv/blob/master/samples/RecordActivity.java
In Ihrem Fall müssen Sie wahrscheinlich ersetzen:
mit
java.lang.ExceptionInInitializerError
verursacht durchCouldn't load jniopencv_core: findLibrary returned null
Fehler.Sollten Sie einen Blick auf
spydroid
; es tut genau das, was Sie suchen. Ihre website kann hier gefunden werden: https://code.google.com/p/spydroid-ipcamera/Bieten Sie eine Bibliothek, die Sie verwenden können, zusammen mit einer Erklärung der verschiedenen streaming-Optionen und einige code-Beispiele. Diese Informationen können hier gefunden werden: https://github.com/fyhertz/libstreaming
Wenn Sie veröffentlichen von Ihrem android-Gerät verwenden ein Protokoll unterstützt von ffmpeg (siehe die Liste der unterstützten Protokolle), könnten Sie mit dem folgenden Befehl übertragen Sie das video auf Ihrem server :