Premessa: Visto che ci ho perso un pomeriggio per trovare le impostazioni giuste, provo a buttare giù una semplice e veloce guida per la conversione delle cassette VHS in supporto digitale.
Come potrei iniziare..innanzitutto è assolutamente necessaria una scheda di acquisizione (ma va!,mi direte) con ingresso S-Video oppure direttamente RCA; il modello della scheda non è importante purché sia riconosciuta dal kernel (utilizzo una Pinnacle 310i, ma in linea di principio una qualsiasi scheda di acquisizione va bene).

Perché trasformarle su linux, mi direte, quando c’è quel bel programma chiamato Pinnacle Studio ?(peraltro fornito gratuitamente, ma in versione limitata, assieme alla scheda). Le risposte sono semplici : 1) Nel mio caso è l’unico sistema operativo che utilizzo nel fisso, quindi (s)fortunatamente Studio mi è precluso; 2) a proposito di Studio, l’ho utilizzato in passato e a parte la lentezza di avvio, non ho mai visto un programma tanto esoso di RAM e CPU, tanto più che ogni tre per due va in crash; 3) mencoder lo valuto come il migliore programma di acquisizione e si, è solo su linux. Ma vediamo con calma.
Primo passo: verificare se è presente il dispositivo video alla directory /dev/video# (dove # è un numero da 0 a 63), nel caso sia presente significa che il modprobe lanciato all’avvio ha rilevato la scheda di acquisizione. Per la conferma, da terminale, lanciare un lsmod, e tra i moduli caricati nel kernel dovrebbe esserci il dispositivo video (nel mio caso sono caricati i moduli v4l2_common, v4l1_compat, saa7134, saa7134_dvb, saa7134_dvb, saa7134_alsa relativi al sintonizzatore tv e alla scheda di acquisizione). Nel caso non sia presente alcun dispositivo video occorre analizzare il log di avvio del sistema (grazie all’ utility dmesg, si può analizzare la procedura di lancio del sistema operativo e le relative periferiche caricate).
Come ho già preannunciato è necessario mencoder, programmino a linea di comando (si, ma non c’è da spaventarsi) legato a mplayer e simile a ffmpeg. Per installarlo si può utilizzare il gestore pacchetti oppure più velocemente un
sudo apt-get install mencoder mplayer twolame mjpegtools ffmpeg2theora libogg0 libogg-dev libvorbis0a libvorbis-dev vorbis-tools mp32ogg ffmpeg (comprensivo dei codec utilizzati)
4apr12 – sostituito toolame con twolame, per termine dello sviluppo (ultimo aggiornamento del pacchetto nel 2003) Grazie Renzo!
Ok, in questo modo abbiamo installato programma e codec necessari (diciamo anche sovrabbondanti) dopo due minuti siamo quasi pronti per partire a trasformare le cassette, manca l’ultimo passaggio, la configurazione. Dopo vari tentativi ho trovato un compromesso tra spazio occupato/qualità/Ram disponibile (vedi sotto) con questa stringa da terminale:
mencoder -tv driver=v4l2:input=2:width=384:height=288:forceaudio:adevice=/dev/dsp:amode=0:fps=25:forcechan=1 -ovc lavc -oac lavc -lavcopts vcodec=mpeg2video:vrc_buf_size=1835:vrc_maxrate=6000:vbitrate=4500:keyint=15:aspect=4/3:acodec=mp2:abitrate=80 -of mpeg -mpegopts format=dvd -o video.mpg
Se vi fidate, potete copia-incollare questa nel vostro terminale e la registrazione partirà immediatamente (non si vede l’anteprima durante la registrazione, a mio modo di vedere inutile e pesante per la cpu), il terminale si trasforma in un timer e la combinazione per interrompere la registrazione è CTRL+C. Tutto qui. Al termine mencoder crea il file nella cartella home del vostro utente.
Vediamo in “dettaglio” i parametri passati a mencoder (Nota, il comando qui sopra è formato da “pezzi” separati dal “:”)
-tv imposto ingresso da scheda tv (dvb-t o analogico)
driver=v4l2:input=2 driver utilizzati per la gestione della scheda di acquisizione (alias moduli caricati nel kernel), il due indica la modalità di ingresso utilizzata (nel mio caso S-Video = 2, Composite =1 )
width=384:height=288 formato video catturato (ho provato a salire come risoluzione, ma ho notato problemi del buffer di cattura e nessun miglioramento dal punto di vista della qualità)
forceaudio:adevice=/dev/dsp:amode=0 questa riga forza la registrazione dell’audio sul device specificato (legato all’ALSA del pc)
fps=25:forcechan=1 frame rate
-ovc lavc -oac lavc -lavcopts lavc è una libreria di codec audio/video, dopo si specifica quale codec utilizzare
vcodec=mpeg2video codec video, mpeg2video, perfettamente compatibile con lettori dvd
vrc_buf_size=1835 buffer di registrazione video, per DVD viene richiesto 1835 (non me lo sono inventato;), guarda qui)
vrc_maxrate=6000:vbitrate=4500 bitrate video variabile (in accordo con la codifica mpeg), massimo a 6000kbit/s
keyint=15:aspect=4/3 il primo è riferito alle Group Of Pictures, praticamente il numero frames contenuti in un “pacchetto” previsto nel Mpeg. il secondo è l’aspetto sullo schermo del filmato trasformato
acodec=mp2:abitrate=80 codifica audio, mp2. non è il massimo della compressione ma permette la compatibilità con i lettori DVD. per il bitrate ho lasciato un valore basso, vista la pessima qualità audio delle cassette
-of mpeg -mpegopts format=dvd ultimi comandi, definisco il “contenitore” del video finale (mpeg) e richiedo la compatibilità con il formato DVD
-o video.mpg nome del file creato. in questo modo verrà creato nella vostra cartella home. chiaramente può essere cambiato
PS. mentre vi scrivo ho notato che esiste un’interfaccia grafica per mencoder a questo link. Non l’ho provata, rimango fedele al buon vecchio terminale….per ora.
Per info qualche sito:
PPS. Come vedere se la scheda di acquisizione è visualizzata dal sistema?
se è una scheda interna da terminale lanciamo lspci (lsusb se usb) ci vengono elencate le varie periferiche pci collegate al sistema. Dovremmo visualizzare la scheda collegata; nel mio caso
06:02.0 Multimedia controller: Philips Semiconductors SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (rev d0)
Se questo passaggio risulta negativo passiamo ad un’analisi veloce del buffer del kernel, attraverso l’utility dmesg per indagare su quali periferiche siano collegate e correttamente visualizzate. Digitando dmesg | grep “qualcosa“, passiamo a vedere se (e cosa) viene visto della scheda nella procedura di avvio. NOTA si può anche analizzare direttamente il risultato di dmesg, ma è un po’ lunghetto (circa una 20ina di pagine). nel “qualcosa” va inserito il termine da cercare, per esempio il nome del chip di decodifica, la sigla della scheda, il modello. Come ultimo tentativo, è possibile vedere se sono caricati i moduli di acquisizione nel kernel con lsmod, dove appare una lista dei “driver” caricati attualmente nel sistema, tra questi dovrebbero esservi v4l2, v4l2_common, videobuf_dma, come scritto più in alto.
Se in nessuno di questi passaggi si trova nulla riferito alla scheda, significa che il modprobe (la sonda appunto, lanciata all’avvio alla ricerca di hardware da caricare) non è riuscito a trovare il modulo corretto per la scheda utilizzata. Potete tranquillamente prendervela con chi ve l’ha venduta…;)
hi, new to the site, thanks.
Usato come guida principale. Due modifiche
- il pacchetto toolame e’ twolame
- dopo il comando mencoder ho aggiunto tv://
TUTTO OK!!
Grazie
Hai ragione, il pacchetto toolame non è più sviluppato (sourceforge indica ultimo aggiornamento nel 2003).
Corretto.
Ti ringrazio,
Luca