Java: Guide pour écrire un codec vidéo personnalisé


J'ai une question assez étrange, mais la voici:

Est-ce possible et existe-t-il des guides pour écrire un codec vidéo personnalisé en C++ ou Java?

Voici la partie bizarre: je n'ai pas besoin de plonger dans ces tonnes d'informations sur l'audio et le cinéma que je ne comprends pas. Ce dont j'ai réellement besoin, c'est des trucs techniques derrière la façon de créer une couche logicielle entre un lecteur de film et un fichier vidéo.

Voici pourquoi: je voudrais créer une bibliothèque ou finalement 2 fonctions - encoder / décoder-en C++ / Java, qui prendra l'entrée binaire BRUTE de tout type de fichier et l'encodera / décodera selon un mot de passe donné ou quelque chose comme ça. Ensuite, je dois mettre ce traitement entre un lecteur de film et un fichier vidéo. Le résultat final sera un fichier mp4 / avi / mpeg / wmv protégé par mot de passe (n'a pas vraiment d'importance), qui pourrait être lu uniquement avec ce "codec". La logique interne du codec n'est pas le problème pour le moment.

Comment j'imagine que c'est comme un flux, un film le lecteur demande le fichier et appelle ma fonction encode(), il prend un morceau du fichier, le décode (il a été précédemment codé) et renvoie les octets corrects au format wmv/mp4 et ainsi de suite.

Est-ce possible et comment?

Author: gonzobrains, 2012-04-12

1 answers

Un codec prend généralement des blocs d'image et des informations de contexte, transforme et quantifie les données, applique des prédictions, puis code le flux d'erreur résultant en utilisant l'un des nombreux schémas de codage.

L'API est généralement simple. Pour encoder, vous envoyez des blocs de données d'image (trames) à l'encodeur, et il génère un flux de bits. Vous pouvez être responsable de l'écriture du conteneur (format de fichier) vous-même. Pour décoder, vous diffusez des bits et des images en sortent.

Il y a absolument aucune norme pour tout cela -- les technologies utilisées dans les codecs sont parfois standardisées, mais les interfaces exactes ne le sont pas.

MediaTool Introduction est une interface de programmation d'application (API) simple pour décoder, encoder et modifier la vidéo en Java: http://wiki.xuggle.com/MediaTool_Introduction#How%5FTo%5FTake%5FSnapshots%5FOf%5FYour%5FDesktop

Java Media cadre de travail tutoriel: http://wwwinfo.deis.unical.it/fortino/teaching/gdmi0708/materiale/jmf2_0-guide.pdf

Peut-être vous aide!

 9
Author: Elnaz, 2018-02-18 01:00:29