Como te repito no es lo mismo un AVI en Divx que en Indeo.
Todos todos los formatos tienen diferentes codecs, ej:
Avi-->DivX,Indeo,M$MP4,Xvid,etc...
MPG-M2T,MPEG-1,MPEG-2,etc...
DVD-VIDEO-->Este tiene codec unico MPEG-2.
VIDEO-CD-->MPEG-1
SuperVideoCD-->MPEG-2
Dos videos de la misma duracion y mismos codecs de audio y video y misma duración, ocupan diferentes tamaños dependiendo del Bitrate del video. Ej:
1150 segundos en Avi-DivX a 750Kbits/S=862500 Kbits = 842Mbits= 105,25 MegaBytes
1150 segundos en Avi-DivX a 1300Kbits/S=1495000Kbits = 1459Mbits= 182,50 MegaBytes
Podrias hacer algo asi como:
Si el dispositivo tiene X Megabits(no megabytes ojo) y el video Y segundos pues calcula,
Y segundos de audio * Bitrate del audio (Ej en Audio-MP3: Y*128Kbits)=128Y
Y segundos de video * Bitrate de video (Ej Video DivX: y*1150Kbits)=1150Y
128Y+1150Y=1278Y=Tamaño del video.
Para ajustar al tamaño de almacenamiento:
Tamaño del video ha de ser capacidad - 400 MBits (para no fallar y que no te quedes corto) - tamaño del audio.
Seria:
Tamaño del video=X-128Y-400, por tanto el Bitrate del video sera tamaño deseado(z)-duracion(P)
Z/P= Bitrate del video para que coja.
No se si me explico bien