Tecnologia e non solo

gennaio 13, 2010

La tv su XBMC con Tvheadend.

Filed under: Debian,Dvb,karmic,Sid — telperion @ 10:31 PM

In xbmc manca un sistema integrato per vedere la tv, bisogna quindi appoggiarsi ad un applicativo esterno, di mythtv ne ho già parlato, è ora la volta del test con hts-tvheadend.

Tvheadend è un backend per ricevere e registrare i programmi televisivi, DVB-T nel mio caso, molto snello rispetto al mastodontico e complesso mythtv, ma ha anche alcune limitazioni.

Piattaforma utilizzata Debian Sid x32, xbmc svn 2674, hts-tvheadend_2.7+svn4096, VDPAU, tv LCD 32″ 720p collegamento component YPbPr.


Hts-tvheadend.
Installazione.

Il pacchetto deb fornito per debian e ubuntu, installa il programma crea un utente hts e lancia il programma come servizio in inet.d.
Non mi piace, complicazioni varie di permessi gruppi, amministratore sito, programma che gira sempre in background che impedisce l’uso dell’adattatore DVB-T ad altri software.

Visto che sul mio pc non ci sono altri utenti oltre il mio, rimossi tutti gli autostart in init.d, rimosso l’utente hts e lanciato semplicemente il programma dal mio utente con:

tvheadend -C

che crea al primo avvio una cartella .hts nella nostra home, ed un account senza nome e senza password per l’amministrazione da browser web.

Per le volte successive basterà un semplice

tvheadend

oppure:

tvheadend -f

se vogliamo “demonizzarlo”, il tutto con i nostri permessi.

Per teminarlo:

killall tvheadend

Semplice e senza tanti casini.

Configurazione.

Apriamo il browser web e digitiamo:

http://localhost:9981

dovreste visualizzare la pagina di controllo di tvheadend, cliccate sulla tab configuration e poi su TV Adapters Generals, scegliete dal selettore la vostra scheda e premete Save.

Ora in teoria premendo Add DVB Network by location e scegliendo la località, dovreste ricevere la lista dei Multiplexes (mux) della vosta zona.

In realtà pur essendoci Italia – Torino (il mio caso) la lista dei mux è assolutamente incompleta e quindi ho proceduto ad inserirli manualmente.

Terminiamo tvheadend per poter usare la scheda DVB-T e creiamo un lista canali con w_scan:

w_scan -X -P -t 2 -E 0 -c IT > dvb-channels.conf

che in 4-5 minuti ci fornirà il file dvb-channels.conf contenete tutti i canali ricevibili.

Rilanciate tvheadend e aprite con un editor di testi il file dvb-channels.conf, troverete una serie di righe tipo

RaiUno(RAI):482000000:INVERSION_AUTO:BANDWIDTH_8_MHZ: ... :HIERARCHY_AUTO:512:650:3401

Ogni riga corrisponde ad un canale, il primo dato fino ai 2 punti è il nome del canale il secondo la frequenza in Hz del mux dove si trova il canale.

Nel browser premete ora la tab Multiplexes e premete Add mux(es) manually, e nella scheda che si apre mettete la frequenza ricavata senza gli ultimi tre zeri, 482000 nell’esempio, Bandwith 8MHz, e Auto sulle altre voci e premete add, ripetete per i vari mux che vi interessa ricevere, ricordando che ogni mux contiene vari canali, fino a completare la lista:

e premete Save changes.

Ora passate alla scheda Services e togliete la spunta ai canali (Service name) che non vi interessano:

e premete Save changes.

Ora tornate sulla scheda General e premete Map DVB Services to channels.

Non premete mai i link play che vedete, al 90% si incasina tutto e bisogna riavviare tvheadend.

Ultima cosa configurate la cartella dove salvare le registrazioni in

Configuration – Digital Video Recorder – Recording system path

nel mio caso ho messo /home/mc/rec e ho spuntato Make subdirectories per day.

La configurazione è finita, non complicata come quella di mythtv, ma certo non semplice ed immediata.

Configurare Kaffeine 0.8 è semplicissimo e stravince a mani basse.

Registrazione.

La registrazione di programmi si può impostare solo dall’interfaccia web e solo tramite la EPG (guida elettronica) assolutamente insufficiente per le tv italiane con orari regolarmente sballati e guide su DVB-T che arrivano solo al programma seguente. Bocciato.

Le opzioni di registrazione di MythTv sono assolutamente superiori, anche quelle del timer di Keffeine 0.8 sono eccellenti e semplicissime.

Kaffeine 0.8 stravince a mani basse.

Passiamo a configurare Xbmc per usare tvheadend.

In Video aggiungiamo una Sorgente Video che chiameremo Tv e che punta alla cartella

htsp://127.0.0.1:9982

Nel mio caso ho messo l’IP del pc che è fisso.

Ora basta selezionare Video -Tv – Canali, e premere il canale dalla lista:

Qualità dell’immagine Tv.

SD-TV
Immagine buona ma non eccezionale, a mio parere gli stream registrati con kaffeine, sono superiori, ma forse è solo suggestione.
Premendo la pausa il canale si ferma e riparte al play ma prosegue con frequenti scatti.

HD-TV
I canali HD non vengono processati da VDPAU (che con tutto il resto funziona) e quindi alto carico cpu e scatti.
Su karmic e versione xbmc-svn più vecchia, VDPAU viene usato con i canali HD-TV e le cose migliorano.

Conclusioni.

Per registrare il più semplice e funzionale è kaffeine 0.8.
Buono ma complicato e mastodontico MythTv, scadente tvheadend.

Per vedere la tv con xbmc, tvheadend è meglio di mythtv più semplice e leggero.
Per me che la tv la vedo sul tv, funzione abbastanza inutile, utile a chi ha solo il pc ma in quel caso inutile xbmc.

Kaffeine mediocre per vedere la TV.
Per vedere la HD-TV smplayer+VDPAU resta ancora il migliore irraggiungibile.

Per il time-shift, mythv con xbmc funziona bene, scadente tvheadend.

La mia soluzione preferita è usare kaffeine 0.8 in registrazione e contemporaneamente leggere il file con xbmc, con un 20-30 minuti di vantaggio lo skip degli spot è assicurato.

Bocciato totalmente il nuovo kaffeine 1, assolutamente non finito.

40 commenti

  1. Ciao, sapresti consigliarmi un metodo per generare una lista di canali? Io sono di Palermo e uso Archlinux. La mia scheda tv integrata su Windows mi trova tutti i canali mentre su Linux, se uso questa lista ( http://gist.github.com/276639 ) riempita con le frequenze di Palermo da dgtvi, ne trovo solo alcuni. Una volta riuscivo a prendere tutti i canali anche con Linux, da un bel pò di tempo invece non più. Il comando che uso è “scan channels > canali.conf” e come programma per vedere la TV uso VLC.

    Commento di Garret — gennaio 13, 2010 @ 11:47 PM

    • usa w_scan come spiegato.

      Commento di telperion — gennaio 14, 2010 @ 1:19 am

      • E’ vero con questo w_scan ho preso tutti i canali.
        Comunque io sono “costretto” a usare VLC perché permette di deinterlacciare le immagini, cosa che non potrei fare con Xbmc 😦

        Commento di Garret — gennaio 14, 2010 @ 8:49 am

      • xbmc deinterlaccia senza problemi, basta mettere
        Modifiche interlacciate – Auto seleziona
        e poi imposta per tutti i filmati, vedi immagine

        http://yfrog.com/jbimmaginegyoj

        Commento di telperion — gennaio 14, 2010 @ 12:26 PM

  2. grande ottima guida!

    Non è che hai anche capito come fare a mettere un link in rilievo sul menu principale di Xbmc con scritto tipo “Guarda la TV” o “TV” o chicchesia?

    Purtroppo avevo già provato questa metodologia, ma da me di dvb-t non se ne parla, prendo solo i mediaset al massimo livello (quelli a pagamento, chissà per quale motivo eh? di rai niente…vergognoso…)…

    Sarebbe da capire se supporti:

    Analogico
    Satellitare con CCC@M per le emu…

    Cmq ottima guida, praticamente mi hai risposto in una giornata! 🙂

    Ciao grazie!

    Commento di Fra — gennaio 14, 2010 @ 9:26 am

    • Analogico non credo, il sat si con le cam non so vedi la documentazione.

      Commento di telperion — gennaio 14, 2010 @ 12:28 PM

  3. Ho Kaffeine 0.8.8, sai come posso fargli leggere la lista dei canali che ho creato con w_scan? Se uso la funzione “cerca canali” di kaffeine me ne trova pochissimi perchè si serve di un file it-Palermo obsoleto.

    Commento di Garret — gennaio 14, 2010 @ 6:14 PM

    • w_scan -k -P -t 2 -E 0 -c IT > channels.dvb

      metti il file in ~/.kde/share/apps/kaffeine

      Commento di telperion — gennaio 14, 2010 @ 8:41 PM

      • Ho fatto come dici tu e i canali mi spuntano nella lista di Kaffeine solo che cliccandoci sopra lo schermo rimane sempre nero. Ovviamente ho controllato che Kaffeine abbia impostato la scheda TV e che questa non sia occupata. Se apro con VLC tutto funziona.

        Commento di Garret — gennaio 15, 2010 @ 2:36 PM

  4. Ciao Telpe, vado un po’ OT.
    Dammi due dritte su come archiviare/trasformare un DVD in un qualcosa di più semplice da salvare in un HD. Tralasciando la brutale copia c’e qualcosa che mi trasforma il film in un formato mpeg4 di qualche tipo mantenendo le lingue e i sottotitoli?
    Ciao.

    Commento di Steno — gennaio 15, 2010 @ 10:48 am

    • Il più semplice è handbrake, fai un mkv in h264 high profile AVC (lento) per qualità molto alta o con FFMPEG ASP (veloce).

      Commento di telperion — gennaio 15, 2010 @ 12:18 PM

      • Grazie, provo. Anche se suppongo che il container MKV sia leggibile solo da PC. O sbaglio?

        P.S.
        Mantiene anche i capitoli?

        Commento di Steno — gennaio 15, 2010 @ 2:10 PM

      • I sottotitoli nei dvd sono in formato bitmap, l’unico container che li supporta è mkv, che supporta anche i capitoli ma spesso i player linux non li rilevano.
        http://trac.handbrake.fr/wiki/ChapterMarkers

        Con mp4 i sottotitoli vengono “stampati” sul video è quindi impossibile cambiarli toglierli.
        Altrimenti bisogna grabbarli con un ocr che li trasforma in file di testo (srt) ma è un procedimento che richiede correzioni del testo prodotto dall’ocr e verifica synch (aka: du palle).

        C’è poi il problema dei sottotitoli forzati che va valutato da film a film.
        http://trac.handbrake.fr/wiki/Subtitles

        http://yfrog.com/1qforcedj
        Nell’immagine ad esempio i sub ita sono applicati due volte, la prima per i soli forced (scritte varie, dialoghi in lingue “terze” ecc), la seconda con tutti i dialoghi, da usare con l’audio eng per la traduzione. Non esiste una regola, conviene fare delle prove rapide con un singolo capitolo che ha i forced, e trovata la quadra lingue+sub, codificare tutto il film.

        Il container avi (obsoleto) supporta a malapena tracce audio multiple, e con hack, niente sottotitoli embebbed ma solo srt esterni, niente a/r quindi impossibile creare anamorfici che si auto selezionano il corretto a/r in lettura, niente capitoli, niente HD.

        Commento di telperion — gennaio 16, 2010 @ 1:15 PM

      • Notevole prodotto Handbrake, non c’e’ che dire. Fantastico il trio MKV+H264+AAC.
        Approfitto ancora un pochino di te, io sono parecchio arrugginito sul tema.

        Ho fatto qualche esperimento e il risultato sembra buono, ma volevo una opinione.
        Con doppio audio 5.1 AAC e risoluzione full dvd H264 ho messo un bitrate medio di 1600 per il video, 384 per l’audio e attivato la doppia passata.
        Con questi parametri si ottiene circa 1GB/Ora. Secondo te è adeguato? Eccessivo? Scarso? Ci sono regole basilari per H264?

        Ciao e grazie.

        Commento di Steno — gennaio 19, 2010 @ 9:06 am

      • con h264 (sempre 2 pass per qualità buona con qualsiasi codec) da 1200 kb/s in su per il video SD a piena risoluzione sono ottimi.

        Per prodotti minori, se scali la risoluzione es 572 X(y)bastano anche 900 kb/s e audio AAC 96 ProLogic

        Commento di telperion — gennaio 19, 2010 @ 12:39 PM

      • Continuando sul mio OT:

        E’ partita la ricodifica di massa (ho anche trovato film con lettura difficoltosa, mannaggia, alla faccia della sicurezza di un backup su DVD 😦 ).

        Dopo qualche prova ho mantenuto un profilo semplice semplice, (imho, non ho visto differenza apprezzabili tali da giustificare l’aumento del tempo necessario)
        1. Athlon 64 3500+ (che passa il convento) con tre lettori DVD recuperati per rippare velocemente più film
        2. Ubuntu 9.10 64bit (che non guasta) & Handbrake
        3. CQ 61% per i film e 57% per i cartoni, MKV + H.264 + AAC 5.1 con doppio audio, sottotitoli e capitoli

        Handbrake è una meraviglia, al momento in coda ci sono una ventina di codifiche, son tre giorni che il poveraccio lavora senza sosta a circa una decina di fps 😀

        Per vedere poi sulla TV per il momento ho comprato il Playo (http://www.4geek.it/playo/) quando mi arriva vi dico come va.
        Certo, mi piacerebbe usare qualcosa di più sofistico tipo XBMC con magari un bel eeebox (http://notebookitalia.it/asus-eeebox-eb1501-ora-in-italia-6785.html) ma mai dire mai, in questo caso il playo (che si collega in rete) lo dirotto sulla TV in camera… 😀

        Ciao a tutti.

        Bye.

        MKV + H.264 + AAC 5.1.

        Commento di Steno — gennaio 22, 2010 @ 2:11 PM

  5. ma è mai possibile, che non riescano a fare un solo programma integrato per fare tutto questo ? cacchio ma che è win e mac sono miracoli ?
    più si va avanti con il tempo meno linux diventa appetibile nel multimedia. cccheccazz’è ?

    Commento di LuNa — gennaio 20, 2010 @ 4:00 am

  6. Come aggiunta alla tua ottima guida, vorrei segnalare che, per integrare tvheadend in xbmc utilizzando l’indirizzo htsp://127.0.0.1:9982, è necessario prima abilitare l’accesso nella scheda configuration->access control di tvheadend.

    Complimenti ancora per il sito e per questa guida!!

    Commento di Lorenzo — gennaio 21, 2010 @ 9:31 am

    • Se lo usi come demone preconfigurato si, se lo lanci dal tuo utente con
      tvheadend -C
      la prima volta e
      tvheadend -f poi
      gli accessi sono già consentiti a chiunque.
      Grazie per i complimenti.

      Commento di telperion — gennaio 21, 2010 @ 11:10 am

  7. Guida rapida, precisa e veramente interessante.
    Unico punto sul quale faccio ancora appello alla tua esperienza: sia Kaffeine che tvheadend hanno una qualità TV a mio giudizio scadente, in quanto le immagini sono “rigate” orizzontalmete specie nelle immagini in rapifo movimento. Inutilizzabili …
    MythTV non ha questo problema. Secondo te esistono configurazioni per eliminare questo effetto o non se ne esce?
    Grazie e ancora complimenti
    g

    Commento di Giuliano — aprile 18, 2010 @ 11:09 PM

    • Ho trovato da solo la soluzione e la posto qui in modo che se qualcun altro ha avuto lo stesso problema possa evitare di perdere tempo.
      Il problema della seghettatura orizzontale è, come molti avranno capito, un problema di de-interlacciamento. Non è dovuto al backend che estrae lo stream dalla scheda DVB, bansi’ del frontend che lo visualizza.
      1) Kaffeine -> Nella nuova distro di Kubuntu Karmic, c’è stato un fall-bac a Kaffeine 1.0pre, ovvero alcune cose buone della stable 0.8 sono state perse, tra cui la possibilità di controllare il de-interlacciamento tramite la pressione del taso “I” e di +”I”
      2) MythTV -> Il frontend ha di default il deinterlacciameno
      3) XBMC -> Non ha il de-interlacciamento di default e non ha tra le impostazioni generali la possibilità di settarlo. Occorre, guardando il video (la TV), richiamare il menù dalla barra a scomparsa in alto allo schermo, e lì settare il de-interlacciamento. Nello stesso menù, verso le ultime posizioni, si trova il settaggio per renderlo di default in tutti i video. In questo modo non bisognerà settarlo ogni volta.

      Spero di essere stato di aiuto a qualcuno, specie a coloro che apprezzano MythTV ma non ne sopportano la complicatezza e la pesantezza e i frequenti crash.
      g

      Commento di Giuliano — aprile 19, 2010 @ 1:26 am

  8. […] scaricabili e aggiornabili direttamente da xbmc e migliore qualità dell’immagine tv tramite tvheadend, che lo rende ora il miglior player per la tv sd e hd, visti gli attuali problemi di mplayer+vdpau […]

    Pingback di Xbmc Dharma « Tecnologia e non solo — ottobre 21, 2010 @ 7:07 PM

  9. Al problema della registrazione dei dvb streaming da tvheadend solo tramite epg ho pensato a questo script:
    http://pastebin.com/k2a2HGSH
    Il cuore della questione è questo comando:
    mencoder -o pippo.avi -ovc xvid -xvidencopts bitrate=800 -oac mp3lame -lameopts cbr:br=128 “dvb://”
    che comprimere al volo lo streaming e poi tagliare con avidemux. Non è molto efficente perchè faccio lavorare inutilmente la cpu per comprimere roba che poi taglierò o addirittura butterò… però è molto comodo, pratico, veloce e adeguato a quello che serve a me (vedi il mio crontab 😉 http://pastebin.com/MqsFdfdj
    Che dire… lo definisco un PVR molto KISS… anche perchè vedo che sei seguito molto dagli amici arcieri!

    Ho confrontato il risultato ottenuto con Handbrake da 25 minuti di streaming senza tagli (circa 435 Mb)
    – con quel comando di mencoder ottengo un file di circa 170 Mb
    – se lo dò direttamente in pasto a HandBrake ottengo un file di circa 190 Mb di qualità decisamente migliore con i settaggi predefiniti. Non ho trovato molte differenze apprezzabili ne in termini di peso ne di qualità tra ‘normal’ e ‘high’. Ho scelto mkv

    Quando mi interessa la qualità seguirò la strada: ts – taglio e demux con projectx – (ri)mux con mplex – codifica con handbrake, per i cartoni può andare anche: compressione al volo con mencoder – tagli con avidemux

    Ti vengono in mente dei settaggi migliori di quelli che uso ora?
    Perchè in qualche tuo post ho letto che Handbrake va nei pazzi mandandogli lo streaming direttamente?
    Cosa intendevi con ‘utile a chi ha solo il pc ma in quel caso inutile xbmc’?

    Commento di stele — novembre 5, 2010 @ 6:48 PM

  10. Ciao, mi chiedevo se potevi spiegarmi come si fa a rimuovere tutti gli autostart in init.d e l’utente hts .

    Grazie e scusami!

    Commento di jokerigno — novembre 14, 2010 @ 3:37 am

    • cerca in /etc/init.d (altra cartella dipende dal sistema che usi) file che abbiano tvhead (o hts non ricordo) nel nome e cancellali.
      Poi rimuovi l’user hts con tool grafico o a riga di comando, e cancella la /home/hts

      Commento di telperion — novembre 14, 2010 @ 10:05 PM

      • Grazie, provvederò!

        intanto hai visto che la nuova release di XBMC si integrerà con i tv tuner (almeno questo ho capito)…dici che non avremo più bisogno di tvheadend e affini?

        Commento di jokerigno — novembre 16, 2010 @ 9:14 PM

      • non la dharma

        Xbmc Dharma


        che sto usando ora, forse la prossima tra n mesi.

        Commento di telperion — novembre 17, 2010 @ 12:00 am

  11. Nell’utilizzo quotidiano reale a guardare la TV a me si blocca tutto. Ritengo probabile che dipenda dal pessimo segnale di tv digitale che ricevo a casa mia e dalle versioni compilate da svn di xbmc e tvheadend. Con mplayer tutto bene.

    Xbmc è comunque un mc fantastico e condivido con il fatto che manda in pensione parecchia roba. Entusiasmo a 2000 anche da chi lo vede e non crede ce sia Linux, opensource. gratuito, esente virus… e rimane secco! Che sia una possibile killer application?

    Commento di stele — novembre 18, 2010 @ 3:53 PM

    • killer application?
      No perchè c’è per linux, windows e osx sempre free e open, quindi puoi usarlo con qualsiasi s.o.
      Ovviamente con windows hai pure la garanzia dei driver meglio supportati per le schede video varie, dvb-t, e una marea di telecomandi.
      Pensa che a me mplayer ultimamente da casini, mancata ricezione hdtv, deinterlace VDPAU a muzzo, hdtv con tearing, mentre con tvheadend+xbmc o vlc-git, tutto a posto.

      Commento di telperion — novembre 18, 2010 @ 4:08 PM

      • Ok killer application no (cazzata). Comunque a mio avviso linux è oggi per molti aspetti la scelta migliore per l’home entartaiment ovvero per moltissimi utenti. Si tratta di un casino per l’hardware che non è poco se non ti vuoi sbattere.

        Sulla tv HD ho provato a seguire il tuo ottimo post https://telperion.wordpress.com/2009/10/14/dvb-t-hd-con-smplayer-e-vdpau/
        ma credo di ricevere solo Rai Test HD e durante la sintanizzazione con tzap leggo nell’output FE_HAS_LOCK:

        status 1f | signal 001f | snr 000e | ber 000004ff | unc 00000000 | FE_HAS_LOCK
        status 03 | signal 0064 | snr 0000 | ber 00000000 | unc 00000000 |

        Quando vedo quello il led giallo del sintonizzatore si accende. Calma piatta con dvbsnoop.
        Puo essere che a Firenze ancora niente HD? Oppure che il driver del mio sintonizzatore non lo supporta?

        Commento di stele — novembre 19, 2010 @ 3:05 PM

  12. CIAO! bella guida, utilissima. L’ho seguita e funziona tutto alla perfezione.
    Mi chiedevo se qualcuno poteva però aiutarmi su una cosa: ho detto che funziona tutto ma in realtà funziona solo quando sono connessa alla Rete.
    Se clicco su tv mentre non sono connessa a internet xbmc mostra il messaggio “Condivisione remota: rete non connessa” e non mi fa andare avanti. Visto che uso la chiavetta dvb-t sul portatile è piuttosto fastidioso… esiste un modo per farlo andare offline?

    Commento di yaya — gennaio 18, 2011 @ 4:59 PM

    • se usi localhost nel browser e 127.0.0.1 in xbmc dovrebbe andare comunque, se usi invece un ip, (192.168.x.x) può darsi sia quello che ti da il dhcp quando sei connessa/o, e alla disconnessione dalla rete locale non esiste più.

      Commento di telperion — gennaio 18, 2011 @ 6:13 PM

      • Grazie della risposta 🙂, purtroppo uso già 127.0.0.1 in xbmc infatti non avrebbe nessun bisogno di accedere alla rete (tvheadend sul browser funziona tranquillamente…) ma xbmc blocca ogni operazione a priori.
        Qualche altra idea?
        Magari c’è un’opzione nascosta di xbmc per evitare che faccia il controllo sullo stato della rete o qualcosa del genere…

        Commento di yayas — gennaio 19, 2011 @ 12:11 am

    • Ciao, ho il tuo stesso problema. Sei riuscito a risolverlo per caso? Grazie =)

      Commento di motoplux — settembre 4, 2011 @ 9:57 am

  13. Ciao,

    ti scrivo per dirti una cosa che sicuramente già sai.

    Esiste una versione di xbmc (la xbmc-pvr) che è già pensata per integrarsi con tvheadend per la gestione dei canali (migliorando quindi usabilità e facilità d’installazione).

    Potresti quindi aggiornare la guida (da me utilizzata finora) e che è il primo risultato tra quelli proposti da google.

    🙂

    Commento di jokerigno — marzo 26, 2011 @ 11:59 PM

  14. Affter messing around with hts-tvheadend after completly removing it first, I made it work with XBCM. And it works fine. Just wondering if we can add descrambling keys to tv-headend????

    Commento di acenaliu — aprile 1, 2011 @ 4:46 PM

  15. Salve a tutti,

    Complimenti per la guida ma io ho un bel problema…quando vado su TV Adapters e cerco di scegliere la mia scheda dal selettore, non posso perchè la lista è vuota…in altre parole non ho nulla da scegliere. Idee?

    Premetto che com Me Tv il mio ricevitore funziona anche se lo installai seguendo una guida secoli fa e onestamente non mi ricordo minimamente come ho fatto.

    Grazie in anticipo

    Commento di Francesco — Maggio 26, 2011 @ 11:49 PM


RSS feed for comments on this post.