haber haber haber, convertir videos implica muchisima matematica y programacion, un video o un archivo de video es una sucesion de datos acomodados segun cierto algoritmo para hacerlo pesar menos por eso de la compresion imagina un video de 1 segundo a 24 fotogramas por segundo, un sistema de compresion bastante chafa seria guardar 24 fotografias y mandarlas a pantalla en cada 1/24seg, discho archivo constaria de las 24 fotografias empaquetadas y un pequeño archivo con la secuenciacion tiempos e informacion de el mismo, si quieres cambiarlo de formato deberias de hacer un manejo de cada uno de los fotogramas y por decir algo si cierta coordenada de las fotografias o una area o cuadrante entero no cambia en toda la duracion del mismo entonces puedes copiar ese cuadrante y onthefly anexarlo a los fotogramas en los que no cambia "por eso los cuadrios en ciertos mpeg, la imagen no cambia en areas obscuras"
pero mas facil aun puedes conseguir los plugins o SDK de algunos formatos gratos o de licencias libres y solo los añades a tu desarrollo puedes hacerlo hasta en VB o delphi, un convertidor desde cero y usando los algoritmos propietarios no es trabajo de un solo programador y no tienen ningun caso si ya existen componetes y pluguins que hacen eso solo invocandolos en una funcion ademas de que la teoria de un codec o un sistema de encriptacion como el mp3 conlleva muchisima teoria que te llevaria una vida el estudiar comprender mejorrar o desarrollar.