Ich versuche, eine App zu machen, die ein Video von der Kamera eines Android-Telefons über das Internet mit dem TCP-oder UDP-Protokoll streamen wird. Ich bin im Moment in der Lage, ein Byte-Array von dem Android-Telefon auf meinen Computer zu übertragen, der einen Server ausführt, den ich in C# geschrieben habe. Ich habe bereits Video-Streaming gemacht, indem ich .jpegs über das Netzwerk gesendet habe und sie mit 30 fps gezeigt habe, aber das verbraucht zu viel Bandbreite.Streame Live-Video von der Kamera auf Android
Zuerst, was wäre die beste Möglichkeit, die Bilder von der Kamera zu erfassen? Ich betrachte ...
onPictureTaken(byte[] data, Camera camera)
oder
onPreviewFrame (byte[] data, Camera camera)
Ich bin nur daran interessiert, die byte [] Daten, dass und Codierung unter/Komprimieren es dann über das Netzwerk gesendet werden.
Zweitens, wie soll ich diese Frames in ein komprimiertes Video, das ein Byte-Array ist, das über das Netzwerk gestreamt werden kann, drehen? Die Videoqualität interessiert mich nicht sonderlich, mir geht es eher um die Reduzierung der Bandbreite.
Hier ist, was ich versuche zu tun, aber ich brauche kein hochwertiges Video. https://code.google.com/p/spydroid-ipcamera/