Hmm, the differences in my and your setup are
1) I have also hvr-1300 in my system (for dvb-t)
2) I modified the vdr sources instead of modifying the driver for
informing the system from the S2 capabilities (klaus explained also that
method in his 1.7.2 announcements). I can re-test this in another way once
the 2G_CAP patch is applied to v4l-dvb repository.
I applied Klaus latest patch to v4l-dvb source and changed
FE_CAN_2ND_GEN_MODULATION to FE_CAN_2G_MODULATION in dvbdevice.c.
Do you have MFE's version of v4l-dvb aswell ?
Yes, I have. I am actually now using 2 day old version from
http://linuxtv.org/hg/v4l-dvb which includes the FE_CAN_2G_MODULATION
flag support in driver.
And now I am finally able to watch the
HD content with my vdr 1.7.2 and streamdev server plugin by using mplayer
or vlc as a client with HVR-4000.
BUT there is somewhere bug in the vdr channel tuning because it seems that
if I want to watch dvb-s or dvb-s2 channels, I must first tune to correct
channel with vdr-1.6.0 or with szap-s2...
I tried to put step by step guide/notes how I got VDR172/h264 KIND of
working... Maybe you could get it working in similar way...
1) Build and install latest v4l-dvb drivers
2) Checkout s2-szap from http://mercurial.intuxication.org/hg/szap-s2
(I am using couple of weeks old version), and change INCLUDE line in
Makefile to point your v4l-dvb driver sources. I have for example
INCLUDE=-I/home/lamikr/dvb/drivers/20081231/v4l-dvb/linux/include
Then build it.
3) Add hd channel info to szap2 channels.conf With astra-28.2E I can
use following with szap2channels.conf
arteHD:11361:hC23M5O35S1:S19.2E:22000:6210:6230:0:11120:1:1011:0
4) Test whether tuning works with szap2, I use
[lamikr@tinka szap-s2]$ ./szap-s2 -a 1 -S 2 -c szap2channels.conf arteHD
ERROR: invalid value for parameter ''
reading channels from file 'szap2channels.conf'
zapping to 1 'arteHD':
delivery DVB-S2, modulation 8PSK
sat 0, frequency 11361 MHz H, symbolrate 22000000, coderate 2/3, rolloff
0.35
vpid 0x1842, apid 0x1856, sid 0x0000
using '/dev/dvb/adapter1/frontend0' and '/dev/dvb/adapter1/demux0'
status 1f | signal d000 | snr 0000 | ber 00000000 | unc 00000000 |
FE_HAS_LOCK
status 1f | signal c2c0 | snr 8b33 | ber 00000000 | unc 00000000 |
FE_HAS_LOCK
(I could then try to record and watch from command line by using commands:
# dvbstream -c 1 8192 -o > test3.mpg
# vlc test3.mpg
)
4) Extract vdr-1.7.2 (I have cloned from unofficial vdr git repo)
5) Apply attached 2G modulation support patch for vdr-1.7.2 (due to flag
name change in official V4L-DVB drivers)
patch -p1 < ../vdr172_v4ldvb_2g_modulation_support.patch
6) Apply h264 support patch for vdr-1.7.2 that has been earlier send to
mailing list:
patch -p1 <
../vdr-1.7.2-h264-syncearly-framespersec-audioindexer-fielddetection-speedup.diff
7) download and configure latest dvbstreamdev plugin from cvs
- update plugins/streamdev/streamdevhosts.conf
- update svdrphosts.conf
- update runvdr
(VDRCMD="$VDRPRG --lirc -w 15 -c
/home/lamikr/dvb/vdr/vdr-git -Pstreamdev-server")
8) Include arteHD info to top of the vdr channels.conf
arte;ARD:10743:hC56M5O0S0:S19.2E:22000:401=2:402=deu,403=fra:404:0:28724:1:1051:0
arte
HD;ZDFvision:11361:hC23M16O35S1:S19.2E:22000:6210=27:6221=deu,6222=fra:6230:0:11120:1:1011:0
9) Make sure you have tuned to arteHD with szap-s2 and then closed szap
(see step 4)
10) launch vdr 1.7.2 with runvdr
11) watch arteHD with
vlc http://localhost:3000/TS/2
If I now would like to watch arte instead, I would need to close vdr,
szap first from command line and then re-launch vdr...
Btw... I now really envy the vdpay/nvidia cpu usage as with 780G
motherboard I have...
Tasks: 174 total, 3 running, 171 sleeping, 0 stopped, 0 zombie
Cpu(s): 55.4%us, 3.5%sy, 0.5%ni, 40.5%id, 0.0%wa, 0.0%hi, 0.2%si,
0.0%st
Mem: 1799896k total, 1779300k used, 20596k free, 272416k buffers
Swap: 8185076k total, 176k used, 8184900k free, 728196k cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
8866 lamikr 20 0 598m 57m 20m S 108 3.2 0:23.90 vlc
8854 root 20 0 214m 24m 4460 S 2 1.4 0:01.12 vdr
5200 lamikr 9 -11 224m 5776 3848 S 2 0.3 1:31.79 pulseaudio
diff --git a/dvbdevice.c b/dvbdevice.c
index e0b05a1..08dc63f 100644
--- a/dvbdevice.c
+++ b/dvbdevice.c
@@ -32,7 +32,7 @@
// unpatched driver. However, with an unpatched driver it will not support
// DVB-S2 hardware. If you have DVB-S2 hardware you need to either patch
// the driver or modify the line that uses this macro in cDvbDevice::cDvbDevice().
-#define FE_CAN_2ND_GEN_MODULATION 0x10000000
+#define FE_CAN_2G_MODULATION 0x10000000
#define DO_REC_AND_PLAY_ON_PRIMARY_DEVICE 1
#define DO_MULTIPLE_RECORDINGS 1
@@ -491,7 +491,7 @@ cDvbDevice::cDvbDevice(int n)
if (fd_frontend >= 0) {
if (ioctl(fd_frontend, FE_GET_INFO, &frontendInfo) >= 0) {
switch (frontendInfo.type) {
- case FE_QPSK: frontendType = (frontendInfo.caps & FE_CAN_2ND_GEN_MODULATION) ? SYS_DVBS2 : SYS_DVBS; break;
+ case FE_QPSK: frontendType = (frontendInfo.caps & FE_CAN_2G_MODULATION) ? SYS_DVBS2 : SYS_DVBS; break;
case FE_OFDM: frontendType = SYS_DVBT; break;
case FE_QAM: frontendType = SYS_DVBC_ANNEX_AC; break;
case FE_ATSC: frontendType = SYS_ATSC; break;
@@ -505,6 +505,7 @@ cDvbDevice::cDvbDevice(int n)
if (frontendType == SYS_DVBS2)
numProvidedSystems++;
isyslog("device %d provides %s (\"%s\")", CardIndex() + 1, DeliverySystems[frontendType], frontendInfo.name);
+ printf("device %d provides %s (\"%s\")\n", CardIndex() + 1, DeliverySystems[frontendType], frontendInfo.name);
dvbTuner = new cDvbTuner(fd_frontend, CardIndex(), frontendType);
}
}
_______________________________________________
vdr mailing list
vdr@xxxxxxxxxxx
http://www.linuxtv.org/cgi-bin/mailman/listinfo/vdr