Je dois diffuser d'une caméra / fichier Android sur une télécommande FFServer qui diffusera ma vidéo. Je peux le faire sur le bureau à Ubuntu en émettant une commande comme: ou diffuser un fichier tel que ceci: p> si fondamentalement Je veux pouvoir faire ce qui précède de Android. Après plusieurs recherches, c'est ce que j'ai fait jusqu'à présent - je suis tombé sur ce lien http://bambuser.com/opensource A> À partir de laquelle j'ai téléchargé la source FFMPEG et le construit. La construction génère plusieurs choses:
1. Libavcodec, Libavcore, LibaveDevice, Libavfilter, LibavAfformat, Libavutil, Libswscale]
2. Executables [FFMPEG, FFPROBE] P> Vous ne savez pas comment brancher ma fonctionnalité avec ces ressources C'est ce que j'ai essayé jusqu'à présent:
1. Chargé les Libs de mon activité à l'aide de System.LoadLibrary (), puis copié l'exécutable FFMPEG au dossier d'actifs qui, à l'exécution, j'ai copié dans le répertoire "Fichiers" de mon application, j'ai ensuite défini des autorisations pour l'exécutable à l'aide de runtime.getruntime (). (). Ensuite, la dernière étape consistait à l'exécuter en Java avec l'instruction suivante: p> 2. Copied FFMPEG.c, les bibliothèques partagées et le dossier "Inclure" généré par la construction dans mon dossier JNI et ajouté une fonction JNI qui enveloppe la fonction principale () dans FFMPEG.c. Avec cette approche, je me suis trouvé avoir à copier plusieurs fichiers d'en-tête de la source FFMPEG pour la construction de NDK pour réussir et je doute fort si c'est la voie à suivre. P> Les deux approches ci-dessus ont fonctionné Pour moi, je ne suis pas sûr d'où je vais mal, alors toute aide sur la manière de faire un simple streaming FFMPEG comme un fichier MP4 d'Android serait très apprécié. P> p>
3 Réponses :
Je l'ai eu à utiliser Apporach 2, c'est ce que j'ai fait. 1. copié ffmeg.c, le dossier "Inclure" et les bibliothèques partagées au dossier JNI de mon projet. P>
modifié FFMPEG.c, en référence à ce blog Publier http://demo860.blogspot.com/2010/07/androïd-ffmpmpeg-dynamic-module-jni.html p> li>
Il y avait plusieurs erreurs lors de la construction avec NDK, donc je viens d'ajouter les dépendances manquantes jusqu'à ce que la construction réussisse enfin. P> Li> ol>
Au début, l'application commencerait puis quitter immédiatement, ceci était dû à un couple de choses que j'ai oublié de le faire, assurez-vous que vous avez fait ce qui suit pour vous épargner quelques heures et une perte de cheveux: - Définir la permission d'Internet sur Manifest (si le fichier multimédia est dans SDCard, définissez l'autorisation de stockage externe en écriture et assurez-vous que la carte SDCard est montée) - Assurez-vous que la télécommande FFServer est exécutée et configurée correctement. Vous pouvez confirmer en streaming à partir d'un bureau - Assurez-vous que les paramètres corrects sont passés p>
Maintenant, je peux diffuser d'un fichier MP4 dans ma carte SDCard à une télécommande FFServer, a essayé de diffuser en streaming de la caméra de périphérique. P>
Avez-vous un exemple de projet pour résoudre les dépendances manquantes?
Vous n'avez pas à copier des bibliothèques partagées et d'inclure le dossier. Vous pouvez utiliser la fonctionnalité "Prebuild_Shared_Library" de Andriod.mk à la place. P>
Il semble être un peu en retard pour répondre à cette question, mais si vous avez besoin d'une solution, voici un ...
Eh bien, j'avais conçu une solution de contournement au même problème, mais à travers la première approche qui utilise un compilée Tout d'abord, aussi loin que cela me semble, les constructions fournies par Bambuser Strong> sont beaucoup trop vieux et Voici un script qui pourrait être utilisé pour générer un: p> Pour le script ci-dessus pour fonctionner, Android NDK Strong> est requis et pourrait être téléchargé à partir de ici . Téléchargez la et évitez également Utilisation du protocole Fichier: // code> dans la ligne de commande, spécifiez simplement le chemin absolu du fichier d'entrée. Et essayez de vous connecter la sortie du processus FFMPEG par gettin 'Instances de son
stdout code> et
starr code> flux ... p> p> p>
Avez-vous les gars-là le binaire pour FFServer ?? ne trouve aucun binaire nulle part