Ubuntu: crash di upowerd quando si collega un iPhone via USB

Sul mio portatile, ho notato che con tutte le ultime release di Ubuntu, quando si collega via USB un iPhone, smettono di funzionare le funzionalità di risparmio energetico: la luminosità del display e della tastiera retroilluminata non diminuisce di intensità, non è più possibile consultare lo stato della batteria, e così via.
Questo è causato dal crash, con relativo core dump, del demone upowerd:

Dec 23 11:25:44 mizar systemd[1]: upower.service: Failed with result 'core-dump'.
Dec 23 11:25:46 mizar systemd[1]: upower.service: Failed with result 'core-dump'.
Dec 23 11:25:49 mizar systemd[1]: upower.service: Failed with result 'core-dump'.
Dec 23 11:25:51 mizar systemd[1]: upower.service: Failed with result 'core-dump'.
Dec 23 11:25:53 mizar systemd[1]: upower.service: Failed with result 'core-dump'.
Dec 23 11:25:56 mizar systemd[1]: upower.service: Failed with result 'core-dump'.
Dec 23 11:25:59 mizar systemd[1]: upower.service: Failed with result 'core-dump'.

Per risolvere il problema è sufficiente installare tramite apt-get una libreria parte del progetto libimobiledevice:

root@mizar:/home/utente# apt-get install libimobiledevice-utils

Che strano che nella distro sia presente di default libimobiledevice ma senza il pacchetto “utils”… Mah!

 

FFmpeg: convertire i filmati per iPhone

Come faccio a vedere un filmato in formato AVI su iPhone, come quelli prodotti dalla mia vecchia videocamera Panasonic, senza dover scaricare e/o acquistare app di terze parti?
Semplice: riprocesso l’intero filmato con FFmpeg convertendo l’audio e il video con codec supportati da iPhone (rispettivamente AAC e H.264 / MPEG-4 AVC) e muxandoli in formato MP4.

Ho scelto FFmpeg per svariate ragioni: è open-source e liberamente utilizzabile, è potente e flessibile, supporta una enormità di formati di input, è multipiattaforma, si usa da riga di comando, non c’è bisogno di installare porcherie o spyware vari…

La command-line che uso è molto generica ma produce buoni risultati ed è semplice e veloce da usare:

ffmpeg -i filmato_input -vf scale=960:-1 -acodec libvo_aacenc -ac 2 -ab 128k -ar 44100 -vcodec libx264 -crf 23 filmato_output.mp4

Questa command-line produce un file MP4 con queste caratteristiche:

  • risoluzione video adeguata alle dimensioni dello schermo di un iPhone4 (“-vf scale=960:-1”);
  • audio AAC a 128 kbps, convertito a 2 canali e ricampionato a 44100 Hz (“-acodec libvo_aacenc -ac 2 -ab 128k -ar 44100”);
  • video compatibile H.264 (grazie a x264), convertito in singola passata a constat rate factor cercando di bilanciare qualità e dimensione (“-vcodec libx264 -crf 23”);

Per finire, copio il file su iPhone usando MediaMonkey.

FFmpeg è potentissimo ed ha una quantità incredibile di parametri: sicuramente è possibile migliorare ulteriormente la qualità del video o dell’audio ottenuto giocando con i valori (diminuendo il valore “-crf” aumentano la qualità, la dimensione del video ed il tempo di encoding; aumentando il valore invece diminuisce la qualità, la dimensione del video ed il tempo di encoding).
Buona sperimentazione! 😀