Estoy contento con mi Galaxy Ace desde hace tiempo. Pero uno de los problemas con los que me había topado, es que, a pesar de que instalando el Reproductor de video
MX Player, que reproduce gran variedad de formatos, hay momentos en los que, ciertamente, un video en un formato "adecuado" para el celular, sería mejor opción.
Ya sea porque el video original ocupa mucho espacio o porque el formato original funciona bien pero al adelantar/atrasar, hay retrasos, siempre se presenta la oportunidad de usar un formato más amigable con los codificadores estándar del aparato.
Por esa razón, revisé varios posts y guías de conversión y encontré un comando con una serie de opciones, que brinda la mejor relación peso/calidad en el video producido.
El comando en cuestión sería el siguiente:
ffmpeg -i video.original -s 428x320 -y -vcodec libx264 -acodec libmp3lame -ac 2 -ar 44100 -ab 128k -aspect 16:9 -preset slow -profile:v baseline -level 30 -maxrate 10000000 -bufsize 10000000 -f mp4 -threads 0 video.ace.mp4
Se pueden usar opciones más sencillas, pero el resultado en este caso es un poco mejor (en opinión del que escribe). El script es el siguiente:
#!/bin/bash
arg=$2
if [ ${arg} == "-w" ]
then
asp="16:9"
elif [ ${arg} == "-s" ]
then
asp="4:3"
else
echo "YOU MUST SPECIFY A VIDEO ASPECT RATIO: WIDESCREEN (-w) OR STANDARD (-s), EG:"
echo "gaceconv originalvideo.avi -w"
exit 1
fi
original=${1}
name=${original:0:${#original}-4}
ffmpeg -i "${original}" -s 428x320 -y -vcodec libx264 -acodec libmp3lame -ac 2 -ar 44100 -ab 128k -aspect ${asp} -preset slow -profile:v baseline -level 30 -maxrate 10000000 -bufsize 10000000 -f mp4 -threads 0 "${name}.ace".mp4
Lo guardan como "gaceconv.sh" y lo ejecutan como
gaceconv originalvideo.avi -w
ó
gaceconv originalvideo.avi -s
La opción "-w" produce un video con formato 16:9 (panorámico) y "-s" produce formato "estándar" 4:3 o "cuadrado".
El video resultante tiene dimensiones de 480x320 pixels.