05 gennaio 2017

video mac scalato per telefono

Ho accolto la richiesta di un membro della famiglia di poter trasferire un video in formato .mp4 dal Mac (OS X El Capitan) al suo (vecchio) telefono android.

Il primo tentativo di trasferimento non ha avuto successo: il telefono si rifiuta di riprodurre il video.

Forte dei miei precedenti esperimenti di conversione video con ffmpeg, provo con un
ffmpeg -i <nome file>
per capire questo mp4 cosa contiene. Il video risulta essere un H264 formato 1720x960 e l'audio un AAC.

Una veloce consultazione di alcuni siti dedicati ad android mi convince che un mp4 con video in H264 e audio AAC sono effettivamente compatibili, indietro fino ad Android 2.1 (il nostro caso).
https://developer.android.com/guide/topics/media/media-formats.html
http://androidforums.com/threads/which-video-format-does-android-support-natively.340033/


Mi convinco rapidamente che il problema non sta nei codec ma nella risoluzione, che il povero telefono non riesce assolutamente a gestire. La massima risoluzione del cellulare è 480x320.

Il comando suggerito per modificare la risoluzione, preso da
http://www.bugcodemaster.com/article/changing-resolution-video-using-ffmpeg
è il seguente: 
ffmpeg -i video_1920.mp4 -vf scale=640:360 video_640.mp4 
 

Ma sul Mac ho dei problemi: mi dice "unrecognized option -vf"

ffmpeg -v
mi risponde: FFmpeg version SVN-r19382
Sara' perche' mi ritrovo la versione del 2009?

Devo ripiegare su una sintassi alternativa, usando il copy e l'opzione -s, come suggerito nella risposta a questa domanda di Stack Overflow:
http://stackoverflow.com/questions/4490154/reducing-video-size-with-same-format-and-reducing-frame-size

ffmpeg -i "InputVideoLarge.mp4" -s 480x320 -acodec copy "OutputVideoSmall.mp4"

Risultato: video convertito, android contento, e sopratutto grande soddisfazione per me e il richiedente!

Per quanto riguarda la versione ffmpeg e la possibilità di aggiornarlo, ne parleremo più avanti!


Nessun commento:

Posta un commento