Pasar un vídeo de cualquier formato a los MPEG4 o 3GP (y H263 que también suelen reconocer) es muy fácil. Por ejemplo la siguiente línea funciona perfecto para que pueda ser vista:
ffmpeg -i entrada.avi -s qcif -vcodec h263 -acodec aac -ar 22050 -ab 42 -b 100000 -ac 1 salida.3gp
Nota: qcif es equivalente a 176×144, -ac 1 es para que grabe en mono. Podéis usar mpeg4 en vez del h263, supongo que el audio también funcionaría con MP3, pero no lo probé.
Pero resulta que los originales de IT Crowd que se publicaron en Internet están grabados con un aspecto “panorámico” muy raro, 640×352 (1.8181), mientras que el teléfono sólo acepta en formato 1.33. Si no está con ese aspecto lo escala a lo bestia para que ocupe la pantalla completa, haciendo que la imagen se vea deformada.
Después de pelearme un par de horas sin encontrar una solución canónica –i.e. especificando el aspecto en el vídeo– llegué a la conclusión que la única solución es agregarle a “pelo” las franjas negras arriba y abajo de la imagen. Así me sale que para mantener el aspecto 1.8181 la imagen debería ser de 176×94, por lo que hay que ponerle franjas negras que completen los 50 pixels para llegar a 176×144.
Por suerte el ffmpeg lo hace con el -padtopy -padbottom. Así la línea que me deja IT Crowd perfecto para verlo en el móvil es:
ffmpeg -i entrada.avi -padtop 26 -padbottom 24 -s 176x94 -vcodec h263 -acodec aac -ar 22050 -ab 42 -b 100000 -ac 1 salida.3gp
Nota: no se pude poner 25 pixels, tiene que ser múltiplo de 2, por lo tanto elegí 26 + 24.
Bueno, ya está mi escrita chuleta para la siguiente vez que lo necesite, ya estoy pasando los dos últimos capítulos –”sólo” los ví unas tres veces :-)– para que los pueda ver mañana mientras hacemos el paripé desde las 9 de la mañana a las 14 horas en la competición de natación en Son Hugo.
Ahora sólo me falta confirmar que la velocidad de 27-30KB/seg es normal, es lo máximo que alcanzo con ese teléfono, mi Debian y un adaptador USB-Bluetooth Belkin de 14.99 euros (más IVA).