Java: Guida per scrivere un codec video personalizzato


Ho una domanda piuttosto strana, ma qui è:

È possibile, e ci sono delle guide per scrivere un codec video personalizzato in C++ o Java?

Ecco la parte strana: non ho bisogno di immergermi in quelle tonnellate di informazioni sull'audio e sul cinema che non capisco. Quello di cui ho effettivamente bisogno è la roba tecnica dietro a come creare un livello software tra un lettore di film e un file di film.

Ecco perché: vorrei creare una libreria o in definitiva 2 funzioni - encode / decode - in C++ / Java, che prenderà l'input binario GREZZO di qualsiasi tipo di file e lo codificherà / decodificherà in base a una determinata password o qualcosa del genere. Quindi ho bisogno di mettere questa elaborazione tra un lettore di film e un file di film. Il risultato finale sarà un file mp4 / avi / mpeg / wmv protetto da password (non importa), che potrebbe essere riprodotto solo con questo "codec". La logica interna del codec non è il problema in questo momento.

Come immagino sia come un flusso, un film il lettore richiede il file e chiama la mia funzione encode(), prende un pezzo del file, lo decodifica (è stato precedentemente codificato) e restituisce i byte corretti in formato wmv/mp4 e così via.

Tutto questo è possibile e come?

Author: gonzobrains, 2012-04-12

1 answers

Un codec generalmente prende blocchi di immagini e informazioni di contesto, trasforma e quantizza i dati, applica previsioni, quindi codifica il flusso di errore risultante utilizzando uno qualsiasi degli schemi di codifica.

L'API è solitamente semplice. Per codificare, si inviano blocchi di dati immagine (frame) al codificatore e genera un flusso di bit. Potresti essere responsabile della scrittura del contenitore (formato file) da solo. Per la decodifica, esegui lo streaming di bit e i frame escono.

C'è assolutamente nessuno standard per niente di tutto questo - le tecnologie utilizzate nei codec sono a volte standardizzate, ma le interfacce esatte non lo sono.

MediaTool Introduzione è una semplice Application Programming Interface (API) per la decodifica, la codifica e la modifica di video in Java: http://wiki.xuggle.com/MediaTool_Introduction#How%5FTo%5FTake%5FSnapshots%5FOf%5FYour%5FDesktop

Java Media frame lavoro tutorial: http://wwwinfo.deis.unical.it/fortino/teaching/gdmi0708/materiale/jmf2_0-guide.pdf

Forse ti aiuta!

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