Ich möchte den Kamerastream von einem Android-Gerät erfassen und mit RTMP auf einen Server streamen (der Server ist out meines Steuerelements). Ich habe noch nicht herausgefunden, wie man einen Datenstrom von der Kamera selbst erzeugt, aber das ist für eine spätere Sorge.
Im Moment gibt es zwei Probleme: Ich möchte API 9+ unterstützen und RTMP wird nicht nativ von Android unterstützt.
Ich habe mich umgesehen und diese SO-Post gefunden Konvertiere den Video-Eingangsstrom in RTMP und Ссылка . Der Erste schlug eine Bibliothek vor, die wenig oder keine Dokumentation enthält. Letzteres wahrscheinlich unterstützt es (?), Benötigt aber API 14 +.
Gibt es anständige Beispiele oder Bibliotheken, die RTMP-Streaming von einem Android-Gerät unterstützen? Ich habe auch etwas über das Konvertieren von RTSP oder FFMPEG gelesen, wenn das ein brauchbarer Weg ist, dann denke ich, dass es auch ausreichen wird.
Ich habe diese Bibliothek gefunden (es hat viel Ähnlichkeit mit der oben genannten) und versucht zu arbeiten . Ich habe es in Android Studio importiert und Code geschrieben, aber es scheint intern mit einem Fehler java.lang.NoClassDefFoundError RTSP Codec Factory
abzustürzen. Scheinbar funktioniert das auf Android nicht so gut.
Außerdem habe ich mehrmals auf Adobe Air gestoßen. Ich möchte nicht in ActionScript 3 (AS3) codieren, da diese Bibliothek nur ein (kleiner) Teil einer nativen App ist. Wenn Adobe Air über eine Bibliothek verfügt, die mir nicht bekannt ist, würde ich sie gerne integrieren, wenn das möglich ist.
In akzeptierte Antwort der Frage, die du verlinkt hast jemand schlägt vor, JavaCV zu verwenden.
Er benötigt API 8 oder neuer und enthält eine FFmpegFrameRecorder -Klasse.
Link zu GitHub:
Sie haben sogar eine vollständige Probe von flv (es ist ziemlich groß, also werde ich es hier nicht einfügen): Ссылка
In Ihrem Fall müssen Sie wahrscheinlich ersetzen:
%Vor%mit
%Vor% Sie sollten sich spydroid
ansehen; Es macht genau das, wonach Sie suchen. Ihre Website finden Sie hier: Ссылка
Sie stellen eine Bibliothek zur Verfügung, die Sie verwenden können, zusammen mit einer Erläuterung der verschiedenen Streaming-Optionen und einiger Codebeispiele. Diese Informationen finden Sie hier: Ссылка
Wenn Sie von Ihrem Android-Gerät aus ein Protokoll veröffentlichen können, das von ffmpeg unterstützt wird (siehe die Liste der unterstützten Protokolle ) ) Sie könnten den folgenden Befehl verwenden, um das Video an Ihren Server zu übertragen:
%Vor%Tags und Links android video-streaming rtmp