web-dev-qa-db-fra.com

Streaming vidéo de la caméra Android au serveur

J'ai vu beaucoup d'informations sur la façon de diffuser la vidéo du serveur sur un appareil Android, mais pas beaucoup sur l'inverse, ala Qik. Est-ce que quelqu'un pourrait me diriger dans la bonne direction ou me donner des conseils sur la façon de procéder?

264
JCL

J'ai hébergé un projet open source pour activer un téléphone Android sur une caméra IP:

http://code.google.com/p/ipcamera-for-Android

Les données vidéo brutes sont extraites de LocalSocket et le MDAT MOOV de MP4 a été vérifié avant la diffusion. La vidéo en direct est emballée au format FLV et peut être lue via le lecteur vidéo Flash avec un serveur Web intégré :)

121
Zhou Chang

Cela m'a pris du temps, mais j'ai finalement réussi à faire une application qui fait exactement cela. Consultez la page de codes de Google si cela vous intéresse: http://code.google.com/p/spydroid-ipcamera/ J'ai ajouté des tas de commentaires dans mon code (principalement dans CameraStreamer. Java), cela devrait donc être assez simple à comprendre ... La partie difficile a été de comprendre le RFC 3984 et de mettre en œuvre un algorithme approprié pour le processus de mise en paquet. (Cet algorithme transforme en réalité le flux mpeg4/h.264 produit par MediaRecorder en un flux rtp Nice, selon le rfc)

Au revoir

69
Simon

Je me penche également sur cette question et, même si je n'ai pas de bonne solution pour vous, j'ai néanmoins réussi à extraire le code vidéo de SIPDroid:

http://code.google.com/p/sipdroid/source/browse/trunk/src/org/sipdroid/sipua/ui/VideoCamera.Java

24
ObsidianX

J'ai mis au point un SDK open source appelé Kickflip pour que la vidéo en streaming à partir d'Android soit une expérience sans douleur. 

Le SDK illustre l'utilisation d'Android 4.3 MediaCodec API pour diriger les paquets du codeur du périphérique directement vers FFmpeg pour RTMP (avec librtmp) ou HLS streaming de H.264./AAC. Il présente également les effets OpenGL en temps réel (titrage, clé de chrominance, fondus) et l’enregistrement en arrière-plan.

Merci beaucoup, et surtout, fadden .

18
dbro

Voici un article complet sur la vidéo en streaming d'une caméra Android sur une page Web.

Streaming Android de vidéos en direct sur le Web

  1. Utilisé libstreaming sur l'application Android
  2. Côté serveur Wowza Media Engine est utilisé pour décoder le flux vidéo
  3. Enfin, jWplayer est utilisé pour lire la vidéo sur une page Web.
10
Minion

Je suis en mesure d’envoyer la vidéo de la caméra en direct du mobile à mon serveur.en utilisant ce lien voir le lien

Reportez-vous au lien ci-dessus. Il existe un exemple d'application dans ce lien. Il vous suffit de définir votre URL de service dans RecordActivity.class.

Exemple en tant que: ffmpeg_link = "rtmp: // votre adresse de serveur: 1935/live/venkat";

nous pouvons envoyer des vidéos de type H263 et H264 en utilisant ce lien.

5
Venkat

Ce n'est pas une réponse complète, mais webRTC est peut-être ce que vous recherchez. Voici quelques exemples rapides de webRTC en action: http://www.webrtc.org/reference-apps

Si vous voulez du code spécifique à Android, il existe! http://www.webrtc.org/native-code/Android

3
theicfire

Chèque Yasea bibliothèque

Yasea est un client de streaming Android. Il code les données YUV et PCM de caméra et microphone à H.264/AAC, encapsule en FLV et transmet. sur RTMP.

Fonctionnalité:

  1. Android mini API 16.
  2. H.264/AAC codage en dur.
  3. H.264 codage souple.
  4. Flux RTMP avec gestionnaire de rappel d'état.
  5. Orientation dynamique portrait et paysage.
  6. Interrupteur chaud des caméras avant et arrière.
  7. Enregistrement sur MP4 en streaming.
1
Hamed Gh

Mux (ma société) a une application Android open source qui diffuse RTMP sur un serveur, notamment en configurant la caméra et les interactions de l'utilisateur. Il est conçu pour la diffusion en continu sur l'API de diffusion en direct de Mux, mais peut facilement être transmis en flux vers n'importe quel point d'entrée RTMP.

0
heff