What I want to do
I have a Hauppauge WinTV-HVR 950Q USB-TV-Stick. I want to use this stick to successively tune to and read in a certain live TV stream.
What I do
I trigger a scan and save the scan results in a file. I call it channels.conf, like the v4l documentary proposes.
scan /home/username/Documents/dvb/atsc/us-CA-SF-Bay-Area > /home/username/Documents/dvb/atsc/conf/home_channels.conf Everything works fine, the scan returns something like this(A correct channel file):
[0003]:503000000:8VSB:49:52:3 [0005]:503000000:8VSB:81:84:5 [0006]:503000000:8VSB:97:100:6 26 San Francisco, CA:551000000:8VSB:49:52:3 26 San Francisco, CA:551000000:8VSB:65:68:4 KTSF-D3:551000000:8VSB:81:84:5 KTSF-D4:551000000:8VSB:97:100:6 KTSF-D5:551000000:8VSB:113:116:7 KTSF-D6:551000000:8VSB:129:132:8 KPIX-DT:563000000:8VSB:49:52:1 KKPX ION:635000000:8VSB:49:52:3 KKPX qubo:635000000:8VSB:65:68:4 IONLife:635000000:8VSB:81:84:5 100:635000000:8VSB:487:488:100 200:635000000:8VSB:417:418:200 201:635000000:8VSB:422:423:201 202:635000000:8VSB:427:428:202 203:635000000:8VSB:432:433:203 204:635000000:8VSB:412:413:204 300:635000000:8VSB:442:443:300 400:635000000:8VSB:457:458:400 KSTS-HD:683000000:8VSB:49:52:3 Telemundo Exitos TV:683000000:8VSB:65:68:4 CNL-SOI:683000000:8VSB:81:84:5 KQEH:689000000:8VSB:49:52:1 KQED:689000000:8VSB:65:68:2 LIFE:689000000:8VSB:81:84:3 KIDS:689000000:8VSB:97:100:4 V-me:689000000:8VSB:113:116:5 Then I tune to a channel from the scan results. KIDS for example:
azap -r -c Documents/dvb/atsc/conf/channels.conf KIDS What I expect the program to do:
I expect the program to be tuned and to deliver results similar to this:
username@username:~$ azap -r -c Documents/dvb/atsc/conf/channels.conf KIDS using '/dev/dvb/adapter0/frontend0' and '/dev/dvb/adapter0/demux0' tuning to 689000000 Hz video pid 0x0061, audio pid 0x0064 status 1f | signal 00e6 | snr 00e6 | ber 00000000 | unc 00000000 | FE_HAS_LOCK status 1f | signal 00e6 | snr 00e6 | ber 00000000 | unc 00000000 | FE_HAS_LOCK status 1f | signal 00e6 | snr 00e6 | ber 00000000 | unc 00000000 | FE_HAS_LOCK status 1f | signal 00dc | snr 00e6 | ber 00000000 | unc 00000000 | FE_HAS_LOCK status 1f | signal 00e6 | snr 00e6 | ber 00000000 | unc 00000000 | FE_HAS_LOCK status 1f | signal 00e6 | snr 00e6 | ber 00000000 | unc 00000000 | FE_HAS_LOCK ... What it does:
In 2 out of 5 tries the azap just doesn't work at all.
username@username:~$ azap -r -c Documents/dvb/atsc/conf/channels.conf KIDS using '/dev/dvb/adapter0/frontend0' and '/dev/dvb/adapter0/demux0' tuning to 689000000 Hz video pid 0x0061, audio pid 0x0064 status 00 | signal 0000 | snr 00e6 | ber 00000000 | unc 00000000 | FE_HAS_LOCK status 00 | signal 0000 | snr 00e4 | ber 00000000 | unc 00000000 | FE_HAS_LOCK status 00 | signal 0000 | snr 00e6 | ber 00000000 | unc 00000000 | FE_HAS_LOCK status 00 | signal 0000 | snr 00c2 | ber 00000000 | unc 00000000 | FE_HAS_LOCK status 00 | signal 0000 | snr 00e6 | ber 00000000 | unc 00000000 | FE_HAS_LOCK ... The rest of the time it generally works initially, then switches the status to 00 and can not be used any more, even if there is incoming signal.
status 1f | signal 00dc | snr 00dc | ber 00000000 | unc 00000000 | FE_HAS_LOCK status 1f | signal 00d2 | snr 00dc | ber 00000000 | unc 00000000 | FE_HAS_LOCK status 1f | signal 00dc | snr 00dc | ber 00000000 | unc 00000000 | FE_HAS_LOCK status 1f | signal 00dc | snr 00dc | ber 00000000 | unc 00000000 | FE_HAS_LOCK status 1f | signal 00d2 | snr 00d2 | ber 00000000 | unc 00000000 | FE_HAS_LOCK status 1f | signal 00c8 | snr 00d2 | ber 00000000 | unc 00000000 | FE_HAS_LOCK status 1f | signal 00d2 | snr 00d2 | ber 00000000 | unc 00000000 | FE_HAS_LOCK status 00 | signal 00d2 | snr 00d2 | ber 00000000 | unc 00000000 | FE_HAS_LOCK status 00 | signal 00d2 | snr 00d2 | ber 00000000 | unc 00000000 | FE_HAS_LOCK status 00 | signal 00d2 | snr 00d2 | ber 00000000 | unc 00000000 | FE_HAS_LOCK status 00 | signal 00dc | snr 00dc | ber 00000000 | unc 00000000 | FE_HAS_LOCK status 00 | signal 00e6 | snr 00e6 | ber 00000000 | unc 00000000 | FE_HAS_LOCK status 00 | signal 00dc | snr 00dc | ber 00000000 | unc 00000000 | FE_HAS_LOCK status 00 | signal 00e6 | snr 00e6 | ber 00000000 | unc 00000000 | FE_HAS_LOCK status 00 | signal 00e6 | snr 00e6 | ber 00000000 | unc 00000000 | FE_HAS_LOCK status 00 | signal 00e6 | snr 00dc | ber 00000000 | unc 00000000 | FE_HAS_LOCK ... The output even shows that there is high signal to noise ratio, low or rather no block errors or uncorrected errors at all at first, then it This keeps me wondering since I see no reason for the program to switch. After double checking with a real TV I am very sure that I always have an incoming signal and that there should not be any reasons for a behavior like this.
Question
Can any of you guys see a reason for this behavior, could it be a problem with the Hardware that I'm using or rather a Software issue? Did anybody experience the same issues, how did you fix it? Any help is greatly appreciated!