Monthly Archives: May 2009

Click Sicuro ma non libero

I nostri parlamentari, tra una cosa e l’altra, partecipano alle commissioni di lavoro. Una di queste commissioni, quella sull’infanzia, ha promosso la nascita di un software per il controllo della navigazione dei minori.

Il software verrà installato dal genitore sul computer del figlio o della figlia, e fungerà un po’ da firewall intelligente (dove navighi, cosa dici, a chi lo dici, eccetera) durante la navigazione sul web.

A parte l’efficacia o meno del mezzo, sulla quale non sta a me giudicare, quello che mi perplime parecchio sono due questioni:

  1. che i nostri parlamentari promuovano l’uso e l’acquisto di un software commerciale di una non meglio precisata azienda
  2. che i nostri parlamentari promuovano l’uso e l’acquisto di un software NON LIBERO.

Se avessi un figlio, mai e poi mai installerei sul suo computer un software promosso da dei politici di cui conosco bene l’insulsa predisposizione tecnologica senza avere le garanzie di indagine sullo stesso che mi può fornire un software di cui ho a disposizione i sorgenti. Chi mi garantisce che il traffico di mio figlio non venga monitorizzato e analizzato per secondi fini? Nessuno.

Il software in questione, che non linko, è acquistabile online su http://clicksicuro.it (il sito è tutto in Flash, con una bella musichetta di sottofondo).

La notizia la leggo dal Giornale, sia da parte della On. Mannucci che della On. Mussolini. http://www.ilgiornale.it/a.pic1?ID=354098 http://www.ilgiornale.it/a.pic1?ID=354107 http://www.ilgiornale.it/a.pic1?ID=354100

Aggiornamento. Tanto per dire: una delle due società che sembrano essere le creatrici del software in questione ha il dominio scaduto mentre l’altra ha un bel 404 nella pagina di download del software Click Sicuro.


Migliorare l’usabilità di OpenOffice Impress

Ultimamente mi sono trovato a lottare contro l’usabilità del programma Impress (quello per scrivere slide e presentazioni della suite OpenOffice.org). Qui di seguito voglio condividere qualche adattamento all’interfaccia utente che mi ha permesso di scrivere molte slide in un tempo decente, senza dover fare troppi chilometri con il fottuto mouse.

Quello che vedete qui sotto è il mio attuale setup. Sotto l’immagine descrivo il senso di ognuno dei pallini rossi

Cosa è evidenziato nella figura, partendo dall’alto e andando in senso antiorario:

  • Accesso diretto alle slide master tramite pulsante, senza dover andare a cercarlo nel menu. Una volta aperta l’interfaccia delle slide master, in quel punto appare la barra per aggiungerne o toglierne.
  • La palette di colori deve stare assolutamente a portata di mano. Il posto migliore secondo me è “dockarla” lì, sopra la lista delle slide
  • Il navigatore di stili e la lista delle slide master possono stare tranquillamente uno sotto l’altro, in modo da occupare una sola colonna ed essere sempre a disposizione
  • Per risparmiare spazio verticale, avendo un monitor “wide”, sicuramente fa comodo prendere la barra degli strumenti e spostarla in verticale all’estrema destra. Ovviamente, visto lo spazio ridotto, occorre togliere icone inutili

Idee da condividere?


Digital Video Frustration

Scrivo questo post per due motivi: prima di tutto per lamentarmi, che è lunedì ed è attività che mi riesce bene. L’altro motivo è per scrivere da qualche parte le frustrazioni incontrate nel tentare di fare manipolazioni e presdigitazioni su dei video usando soltanto strumenti open source (il problema non è l’open source, come vedremo).

Il problema: prendere una parte di un video pubblicato via RTMP (streaming vero, da piattaforma proprietario Adobe) e piazzare sopra lo spezzone un logo in sovraimpressione.

Semplice no?

Dettaglio tecnico: i video in questione sono codificati in H.264/MP3. Il container è l’f4v (ma questo, fortunatamente, conta poco o nulla).

L’operazione è da compiere server side per cui tutto attraverso command line e scripting (no GUI).

Che strumenti ci sono a disposizione per fare un lavoretto del genere? Ovviamente rtmpdump, ffmpeg e/o mencoder.

Spezzando diligentemente il problema principale in problemi più piccoli, il primo era: scaricarsi dallo streaming uno spezzone di un video. Il tool (unico, non ci sono alternative al momento) è appunto rtmpdump. Appena lo provo rimango subito molto contento del fatto che rtmpdump scaricasse non in “tempo reale” secondo gli FPS del filmato, ma mooolto più velocemente, praticamente in download. Peccato però che il tool non permettesse di specificare un tempo di partenza e uno di fine dello scaricamento. O tutto o niente. Un altro problema di rtmpdump è che il container del filmato scaricato è FLV, senza possibilità di intervenire su questa opzione.

Riprendendo in mano le mie conoscenze arrugginitissime di C++, modifico il programma in modo da poter specificare un offset di partenza e un tempo massimo di scaricamento. Tutto OK, senonché il filmato finale riporterà comunque la durata complessiva del filmato originale.

Mentre lavoro su questo problemino, il giorno stesso Adobe fa chiudere il sito di rtmpdump per contravvenzione al DMCA (nota che Adobe dichiarava simpaticamente di voler aprire il protocollo). Per adesso, dunque, sospendo la questione rtmpdump.

Mi trovo dunque tra le mani un video H.264/MP3. Problema successivo: stamparci sopra un logo per tutta la durata dello stesso.

L’unico modo per farlo (talvolta è bello sapere di aver un’unica possibilità, talvolta meno), è usare l’opzione “vhook” di ffmpeg. In pratica è possibile eseguire del codice – una sorta di sistema a plugin – durante la codifica del video. Uno di questi plguin si chiama, pensa un po’, “watermark” e fa esattamente quello che mi serve.

Però. Però si dà il fatto che questo sistema di “plugin” sia stato misconosciuto dagli sviluppatori di ffmpeg (“fa cagare”) e per questo prima deprecato (nella versione 0.5) e poi direttamente tolto (versione SVN attuale)… il sistema sarà sostituito (notare il tempo al futuro) da un framework molto più elegante chiamato libavfilter.

La versione che arriva con la mia Ubuntu è la 0.5 (meno male!) ma è compilata con il simpatico –disable-vhook (merda!). Ergo, se voglio usare -vhook devo ricompilarmi ffmpeg, ma la versione 0.5, non la versione SVN. Nota a latere: se chiedi supporto agli sviluppatori (mailing list o canale IRC), questi vogliono che tu faccia i test solo con la versione SVN… che non supporta vhook… OK, capito?

Faccio le mie prove e sembra andare tutto bene… il logo in sovraimpressione fa la sua sporca figura ma… ma l’audio è desincronizzato! Dopo qualche secondo, l’audio rallenta e dopo un po’ le immagini sembrano quelle di un filmato di Enrico Ghezzi.

Il problema sembra essere il decoder MP3 usato da ffmpeg, al quale non piace troppo l’Mp3 della traccia audio del filmato. Probabilmente è colpa del coder usato, ma alla fine sembra che devo trovare un’altra soluzione. Qualcuno attento potrebbe obiettare “Ma perché per un H264 viene usata una traccia audio Mp3 e non AAC?”. Osservazione più che corretta. Il problema è che questi video sono prodotti in codifica “real time” da alcune squadre di produzione. Il software utilizzato per questa codifica è Adobe Live Encoder il quale, “bontà sua”, non supporta out-of-the-box AAC. Occorre acquistare un plugin che costa circa 250€ (ogni commento è superfluo). Per questo motivo il cliente ha preferito per adesso usare Mp3 con l’encoder marcio di Adobe.

Quanti decoder Mp3 ci sono Open Source? Due. Uno è libavcodec, fornito ed usato da ffmpeg e l’altro è libmad. È possibile usare libmad con ffmpeg? No.

A questo punto occorre tirare fuori dal cassetto degli attrezzi mencoder, che invece può usare come decoder libmad, e provare. (qualcuno sa come e se si può usare libmp3lame per decodificare gli mp3 di ffmpeg?)

Incredibilmente, funziona. Mencoder + libmad riesce a ricodificare il video tenendo sincronizzato audio e video.

L’idea dunque sarebbe: passo lo spezzone originale da mencoder per crearne una versione digeribile da ffmpeg, usando come video codec “copy”, in modo da non dover ricodificare il video perdendo di qualità. Poi il video viene passato a ffmpeg per il watermarking del logo.

Già. Peccato che il video prodotto da mencoder con questa procedura sia “sminchiato”, come dicono a Milano… pieno di artefatti e con grossi problemi nelle immagini in movimento (bpyramid? bframes? Boh…).

E così continuo le mie prove, sinceramente frustrato e con poche speranze…


Un luuungo weekend congressuale

Nella stessa settimana, quella appena terminata, si sono tenute a Firenze una dopo l’altra due conferenze: Better Software e Pycon 3 italia. Sono state azzeccate tutte e due (e il numero di partecipanti, per un grand-total di circa 600 persone lo dimostra) e personalmente mi sono sentito a mio agio come ci si può trovare solo quando sei ad intrattenerti con amici su argomenti che ti interessano direttamente. Un grazie e un saluto a tutto lo staff di Develer che si è veramente fatto in quattro affinché tutto filasse liscio. Spero che qualcuno di loro adesso si possa prendere qualche giorno di meritato riposo.

Pe concludere, faccio un mero elenco di tutto quello che questi 5 giorni mi hanno lasciato…

  • Firenze è sempre la stessa, e forse non è un gran complimento
  • Guido van Rossum è esattamente come me lo immaginavo
  • Forse Alex Martelli dovrebbe cambiare il font delle sue slide
  • Ho scoperto le magnificenze della computer vision (e semantica applicata) grazie ad un talk di Thomas Alisi. Bravo e simpatico.
  • Il simpaticissimo e GIS-competente Paolo Cavallini di Faunalia mi ha dimostrato ancora una volta che il (nostro) mondo è veramente piccolo. E che non basta qualche capello bianco per frenare l’entusiasmo.
  • Anche Luca Mezzalira ha provato a rimpicciolire il mondo :) E mi ha dimostrato che anche un programmatore Flash non disdegna il Python :)
  • Paolo Sammicheli è sempre il senese migliore :P
  • Finalmente ho conosciuto Antonio Cangiano. Non ti ho beccato per i saluti: ciao!
  • I talk su Python possono essere molto interessanti o molto noiosi. Talvolta contemporaneamente.
  • I lightining talk di 5 minuti, secondo me, non funzionano. Proposta: 10m +2m da uno all’altro.
  • Adesso devo trovare il tempo di leggere i 4 libri di O’Reilly. Mannaggia al 35% di sconto.
  • Trovo sempre più appassionante la faccenda delle architetture distribuite e l’architettura dei sistemi altamente scalabili. Mi sa che la strada è quella.
  • Fa davvero piacere sentirsi dire “tanto tempo fa mi dicesti una cosa, ma non ci avevo creduto. Invece ora mi rendo conto che avevi ragione”
  • Fare un talk è più divertente che ascoltarlo
  • I barcamp (attuali) sono di una noia mortale
  • Anche in Italia ci sono persone veramente in gamba. È ovvio, ma “toccarle con mano” fa piacere.
  • Ho usato molto il treno e per questo non ho potuto partecipare alle famose cene o birrate in compagnia
  • Il wireless è una tecnologia perdente
  • Bravi, Develer ;)

I contenuti di questo sito sono distribuiti con una licenza Creative Commons 2.5 eccetto dove diversamente specificato.

Tema WordPress Punto5 sviluppato da Claudio Cicali; icone del set famfamfam silk e komodomedia.

© 2005-2010
Claudio Cicali