Pagina 1 di 1

Scheda Tv ati tv-wonder b878t [RISOLTO]

Inviato: dom 27 apr 2008, 3:59
da algol
Salve
Scrivo questo post a futuro aiuto di chi dovesse trovarsi nei miei panni; ho messo un titolo quanto più d'aiuto... :D
Ci sono vari post nel forum, ma sono vecchi (vabbè, anche la scheda lo è... :D) ma non sono riusciti ad aiutarmi...

Comunque, ho preso per potenti 7 euro a un mercatino una

Codice: Seleziona tutto

#lspci -vv

02:0d.0 Multimedia video controller: Brooktree Corporation Bt878 Video Capture (rev 02)
	Subsystem: ATI Technologies Inc Unknown device 0001
	Flags: bus master, medium devsel, latency 32, IRQ 23
	Memory at e5000000 (32-bit, prefetchable) [size=4K]

02:0d.1 Multimedia controller: Brooktree Corporation Bt878 Audio Capture (rev 02)
	Subsystem: ATI Technologies Inc TV-Wonder
	Flags: bus master, medium devsel, latency 32, IRQ 23
	Memory at e4800000 (32-bit, prefetchable) [size=4K]
Ebbene, per farla funzionare si deve:
- includere il modulo bt848 (device drivers, multimedia devices, video capture adapters) avendo ovviamente anche video for linux; il modulo Bt87x Audio Capture nella sezione audio, alsa
- caricare v4l in xorg.conf

Codice: Seleziona tutto

Section "Module"
 Load           "v4l"
EndSection
- al riavvio, scaricare il modulo bttv e ricaricarlo con l'id della propria scheda (visibile in http://mythtv.org/wiki/index.php/Bttv#Card_Values ); sicuramente c'è un modo per fissare questo parametro in un file di configurazione, chiedo aiuto...
- per far funzionare l'audio, bisogna fare una piccola magagna, descritta qui: http://tvtime.sourceforge.net/help.html#audioconnect ; a me il primo dispositivo è dsp1 e non dsp2

Così, con kdetv o tvlive funziona, e al cambio del canale cambia anche l'audio, anche se talvolta va un po' a scatti e con un effetto ripetizione tipo "disco incagliato".

Altro link utile: http://www.ibiblio.org/pub/Linux/docs/H ... /BTTV.html

Poi, ho visto che con mplayer si può vedere, anche se un comando come

Codice: Seleziona tutto

mplayer tv:// -ao sdl -tv driver=v4l2:device=/dev/video0:immediatemode=0
a me fa crashare mplayer

Codice: Seleziona tutto

*** glibc detected *** mplayer: double free or corruption (out): 0x0894dd58 ***
======= Backtrace: =========
/lib/libc.so.6[0xb6dfec23]
/lib/libc.so.6(cfree+0x90)[0xb6e020f0]
mplayer[0x822a7ca]
======= Memory map: ========
...
...
...lungo elenco
Domandina: e per registrare? A parte uno screen grabber... :o
Il fatto che l'audio faccia quel giro può creare difficoltà?

Re: Scheda Tv ati tv-wonder b878t [RISOLTO]

Inviato: dom 27 apr 2008, 7:49
da py67
Hai provato ad usare Kaffeine? Io ho una Sk tv Sattelletare, il mio me lo riconosce in automatico. Uso kaffeine e registro i programmi che mi interessano.

Re: Scheda Tv ati tv-wonder b878t [RISOLTO]

Inviato: dom 27 apr 2008, 11:48
da natostanco
algol ha scritto:Domandina: e per registrare? A parte uno screen grabber... :o
Il fatto che l'audio faccia quel giro può creare difficoltà?
Se funziona come la mia (basata su saa7134) no!
Anche io devo seguire quel procedimento se voglio sentire l'audio se guardo la tv analogica. Pero per registrare, registra senza problemi con mencoder.
Questo è il comando che uso per ottenere un file avi in 640x480 (divx+mp3):

Codice: Seleziona tutto

mencoder tv:// -tv driver=v4l2:input=0:width=640:height=480:forceaudio:audiorate=32000:adevice=/dev/dsp1:amode=1:fps=25:forcechan=1 -oac mp3lame -ovc lavc -lavcopts vcodec=mpeg4:vqscale=4:keyint=12 -lameopts cbr:br=128 -ffourcc DX50 -o nomefile.avi
Prova ad adattarlo al tuo hardware.
Saluti.

Re: Scheda Tv ati tv-wonder b878t [RISOLTO]

Inviato: lun 28 apr 2008, 1:39
da algol
Natostanco, grazie!
mencoder funziona molto bene, anche se l'audio sembra venire un po' strano, avrebbe tipo bisogno di essere lowpassato... ma è in sync; dove tende ad avere lag è nella procedura di rerouting con sox

Codice: Seleziona tutto

 sox -r 32000 -w -t ossdsp /dev/dsp1 -t ossdsp /dev/dsp
infatti l'audio con i suoi incagliamenti tende ad accumulare sempre più ritardo rispetto al video; portando il rate a 44100 ciò si riduce ma dopo tipo cinque minuti l'audio ha già un lag di quasi un secondo.

C'è un bel modo semplice semplice per fare uno script che, ad esempio, avvii il comando summenzionato, ed ogni 3 minuti ad esempio, lo killi e lo riavvii?
Stavo pensando a un ciclo for o un while con dentro uno sleep.. il "problema" (cioè per me che so una mezza mazza di bash) è che per un comando che inizia e finisce, basta un "while [ 1 ] do comando sleep done", ma qui dovrei killare e riavviare...
Forse dovrei pensare a cron?

Re: Scheda Tv ati tv-wonder b878t [RISOLTO]

Inviato: lun 28 apr 2008, 11:54
da natostanco
Per la registrazione: prova a togliere dalla riga che ti ho postato il parametro "audiorate=3200" e ascolta se il sonoro migliora.
Per la riproduzione: prova a correlare sox con arecord in questo modo:

Codice: Seleziona tutto

arecord -D hw:1,0 -r 32000 -c 2 -f S16_LE | sox -q -c 2 -r 32000 -w -t wav - -t alsa hw:0,0
(ovviamente adattando i vari parametri alla tua configurazione) e verifica se migliora il sincronismo.
Saluti

Re: Scheda Tv ati tv-wonder b878t [RISOLTO]

Inviato: lun 28 apr 2008, 22:36
da algol
Ciao
il tuo metodo fa sì che l'audio regga decisamente un po' di più, ma comunque col tempo si accumula un lag fastidioso...
Mi spiegheresti come mai quella pipe da arecord a sox rende l'audio più stabile??
Come mai non figura più ossdsp?

Comunque ho trovato un rozzo metodo per fare quello che intendevo: salvo la tua stringa in un file tv_audio_script.sh, poi ne faccio un altro così:

Codice: Seleziona tutto

#!/bin/bash
while [ 1 ]
do
sh tv_audio_script.sh&
sleep 5m
killall sox
killall arecord

done
Fondamentale che lo script sia portato in background; così ho una brevissima interruzione ogni 5 minuti, che per vedere e non registrare, è altamente accettabile

Se però non volessi killare indiscriminatamente sox ed arecord, anche se è improbabile che ne abbia in esecuzione altre istanze nel contempo, come dovrei fare? Vorrei poter vedere in esecuzione lo script piuttosto che i comandi al suo interno.
Ho provato anche a mettere la roba nello script di sopra in una funzione, ma il risultato non cambia, in top sempre vedo visibili sox, arecord e sleep, oltre ai due script, ma come argomenti di sh, o di bash se li marco eseguibili e li eseguo...

Re: Scheda Tv ati tv-wonder b878t [RISOLTO]

Inviato: mar 29 apr 2008, 9:24
da natostanco
algol ha scritto: Mi spiegheresti come mai quella pipe da arecord a sox rende l'audio più stabile??
Effettivamente non l'ho ben capito nemmeno io :oops:
Ho trovato quella riga nella documentazione di V4L, effettivamente con la mia scheda sox non produce problemi di sincronia, però usandolo ottengo un audio monofonico. Invece se uso arecord da solo l'audio è stereo ma tende a "restare indietro" rispetto al video. Usandoli insieme ho sincronia e stereofonia. \:D/
Speravo si potesse adattare anche alla tua scheda, evidentemente non è così.
Ossdsp non compare perché uso direttamente alsa come output e non l'emulazione di OSS di alsa. Se però hai problemi di latenza, forse è meglio usare ossdsp.
Saluti