2012-04-11 13 views
13

Tengo una pregunta bastante raro, pero aquí está:Java: Guía para escribir un códec de vídeo personalizado

¿Es posible, y hay alguna guías para escribir un códec de vídeo personalizado en C++ o Java?

Aquí está la parte extraña: no necesito sumergirme en esas toneladas de información sobre audio y películas que no entiendo. Lo que realmente necesito es el material técnico detrás de cómo hacer una capa de software entre un reproductor de película y un archivo de película.

He aquí por qué: Me gustaría crear una biblioteca o en última instancia 2 funciones - codificar/descodificar - en C++/Java, que tomará la entrada binaria RAW de cualquier tipo de archivo y lo codificará/descodificará según una contraseña determinada o algo así. Entonces necesito poner este procesamiento entre un reproductor de películas y un archivo de película. El resultado final será un archivo mp4/avi/mpeg/wmv protegido con contraseña (realmente no importa), que solo se puede reproducir con este "códec". La lógica interna del códec no es el problema en este momento.

Cómo me imagino que es como una secuencia, el reproductor de películas solicita el archivo y llama a mi función encode(), toma una porción del archivo, lo descodifica (ha sido codificado previamente) y devuelve los bytes correctos en wmv/mp4 y así sucesivamente formato.

¿Es esto posible y cómo?

+0

Sé que es hace mucho tiempo, pero también quiero lograr lo mismo, ¿has encontrado alguna manera o algún progreso en esto? – adkstar

Respuesta

8

Un códec generalmente toma bloques de imágenes e información de contexto, transforma y cuantifica los datos, aplica predicciones, y luego codifica el flujo de errores resultante usando uno de varios esquemas de codificación.

La API es generalmente simple. Para la codificación, envía bloques de datos de imagen (fotogramas) al codificador y genera una secuencia de bits. Usted puede ser responsable de escribir el contenedor (formato de archivo) usted mismo. Para la decodificación, transmite bits y salen los marcos.

No existe absolutamente ningún estándar para esto: las tecnologías utilizadas en los códecs a veces están estandarizadas, pero las interfaces exactas no lo son.

MediaTool Introducción es una sencilla interfaz de programación de aplicaciones (API) para la decodificación, codificación de vídeo y la modificación en Java: http://wiki.xuggle.com/MediaTool_Introduction#How%5FTo%5FTake%5FSnapshots%5FOf%5FYour%5FDesktop

Java Media marco de trabajo tutorial: http://wwwinfo.deis.unical.it/fortino/teaching/gdmi0708/materiale/jmf2_0-guide.pdf

tal vez ayude!

+0

Gracias, lo echaré un vistazo. –

Cuestiones relacionadas