Question

Je suis en train de travailler sur un projet de vidéoconférence.Nous avons été à l'aide de logiciels de codec pour encoder et de décoder des images vidéo qui sera parfait pour les faibles résolutions( jusqu'à 320p).Nous avons prévu de soutenir notre application pour les plus hautes résolutions jusqu'à 720p.Je suis venu pour savoir que l'accélération matérielle pour faire ce travail assez bien.

Comme le codec matériel api Media codec est disponible à partir de Jelly Bean onward je l'ai utilisé pour encoder et de décoder et fonctionnent très bien.Mais ma demande est prise en charge à partir de 2.3 .J'ai donc besoin d'avoir une accélération matérielle du décodage vidéo H. 264 images de 720p à 30fps.

Sur la recherche est venu à travers l'idée d'utiliser OMX codec en modifiant le trac cadre.J'avais lu que le décodage matériel H. 264 est disponible à partir de 2.1 et de l'encodeur est-il de 3.0.Je suis passé par de nombreux articles et des questions sur ce site et a confirmé que je peux aller de l'avant.

J'avais lu sur le trac de l'architecture ici -architecture et ici - stagefright comment il fonctionne

Et j'ai lu sur OMX codec ici --android-matériel-décodeur-avec-omxcodec-en-ndk.

Je vais avoir un problème initial et certaines confusions sur sa mise en œuvre.Je voudrais avoir quelques infos à ce sujet.

  1. Pour l'utilisation de OMX codec dans mon code dois-je construire mon projet avec l'ensemble de l'android à la source de l'arbre ou je peux le faire en ajoutant des fichiers à partir de PSBA source(si oui laquelle tous).
  2. Quelles sont les étapes à partir de zéro à suivre pour l'atteindre.

Quelqu'un peut-il me donner une ligne directrice sur ce

Merci...

Était-ce utile?

La solution

Le meilleur exemple pour décrire l'intégration de OMXCodec natif de la couche est de l'utilitaire de ligne de commande stagefright comme on peut le constater ici dans GingerBread lui-même.Cet exemple montre comment une OMXCodec est créé.

Quelques points sont à noter:

  1. L'entrée à OMXCodec doit être modélisé comme un MediaSource et, par conséquent, vous devez vous assurer que votre application gère cette exigence.Un exemple pour la création d'un MediaSource en fonction de la source de peut être trouvé dans record utilitaire de fichier DummySource.

  2. L'entrée de décodeur c'est à dire MediaSource doit fournir les données par le biais de la read méthode et par conséquent, votre demande doit fournir des images individuelles pour chaque read appel.

  3. Le décodeur peut être créé avec NativeWindow pour la sortie allocation de mémoire tampon.Dans ce cas, si vous souhaitez accéder à la mémoire tampon à partir de la CPU, vous devriez probablement consulter cette requête pour plus de détails.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top