Ich habe einiges getestet, aber eine gute Lösung habe ich nicht gefunden.
Im isochronous transfer mode des Sundtek Sticks kommt lediglich ein stark ruckelndes Klötzchen-Bild ohne Ton.
Im bulk transfer mode des Sundtek Sticks kommt zwar Bild und Ton recht sauber, aber es ruckelt alle 1-2 Sekunden.
Die Ressourceneinstellungen im ESXi haben auch nicht geholfen:
- von 1 vCPU auf 2 vCPU erhöht (Hardware: Core2Duo P8600 (2x 2,4 GHz))
- 500 MHz exklusive CPU-Reservierung eingestellt (real benötigt: ca. 300 MHz)
- 256 MB Memory exklusiv reserviert (in VM benötigt: ca. 200MB)
- VMware USB Arbitrator (System Resource Allocation -> init-process -> vmware-usbarbitrato.5056):
memory limit von 13 auf 26 MB erhöht und CPU auf expandable/unlimited gesetzt
root@vdr:~ # /opt/bin/mediaclient --build
Build date: Mar 28 2011
root@vdr:~ # /opt/bin/mediasrv --build
Build date: Mar 28 2011
root@vdr:~ # /opt/bin/mediaclient -e
**** List of Media Hardware Devices ****
device 0: [ Sundtek MediaTV Pro] DVB-C, DVB-T, ANALOG-TV, FM-RADIO, REMOTE-CONTROL, OSS-AUDIO, RDS
[SERIAL]:
ID: 123456789xxxx
[DVB-C]:
FRONTEND: /dev/dvb/adapter0/frontend0
DVR: /dev/dvb/adapter0/dvr0
DMX: /dev/dvb/adapter0/demux0
[DVB-T]:
FRONTEND: /dev/dvb/adapter0/frontend0
DVR: /dev/dvb/adapter0/dvr0
DMX: /dev/dvb/adapter0/demux0
[ANALOG-TV]:
VIDEO0: /dev/video0
VBI0: /dev/vbi0
[FM-RADIO]:
RADIO0: /dev/radio0
RDS: /dev/rds0
[REMOTECONTROL]:
INPUT0: /dev/mediainput0
[OSS]:
OSS0: /dev/dsp0
isochronous transfer mode des Sundtek Sticks:
dtvtransfermode=iso , PID-Filter ON/OFF:
--pidfilter=[on|off] hat nichts geholfen
dtvtransfermode=iso , PID-Filter ON und VDR aktiv:
root@vdr:~/sundtek_driver # /opt/bin/mediaclient --cat /dev/dvb/adapter0/dvr0 | /opt/bin/mediaclient --pipecount=1000
[2011-03-31 16:48:24] 645120 bytes | 630.00 kb | 0.62 mb transferred
[2011-03-31 16:48:25] 675840 bytes | 660.00 kb | 0.64 mb transferred
[2011-03-31 16:48:26] 675840 bytes | 660.00 kb | 0.64 mb transferred
[2011-03-31 16:48:27] 563200 bytes | 550.00 kb | 0.54 mb transferred
[2011-03-31 16:48:28] 552960 bytes | 540.00 kb | 0.53 mb transferred
[2011-03-31 16:48:30] 604160 bytes | 590.00 kb | 0.58 mb transferred
[2011-03-31 16:48:31] 522240 bytes | 510.00 kb | 0.50 mb transferred
root@vdr:~ # /opt/bin/mediaclient --listpids
Using device: /dev/dvb/adapter0/frontend0
ID | PID
----------
0000 | 0x0012 - 18
0001 | 0x0000 - 0
0002 | 0x0011 - 17
0003 | 0x0010 - 16
0004 | 0x006e - 110
0005 | 0x0078 - 120
0006 | 0x007d - 125
0007 | 0x0079 - 121
0008 | 0x0083 - 131
dtvtransfermode=iso , PID-Filter OFF und VDR gestoppt:
root@vdr:~/sundtek_driver # /opt/bin/mediaclient --cat /dev/dvb/adapter0/dvr0 | /opt/bin/mediaclient --pipecount=1000
[2011-03-31 16:50:25] 3143680 bytes | 3070.00 kb | 3.00 mb transferred
[2011-03-31 16:50:26] 3440640 bytes | 3360.00 kb | 3.28 mb transferred
[2011-03-31 16:50:27] 2805760 bytes | 2740.00 kb | 2.68 mb transferred
[2011-03-31 16:50:28] 2979840 bytes | 2910.00 kb | 2.84 mb transferred
[2011-03-31 16:50:29] 3450880 bytes | 3370.00 kb | 3.29 mb transferred
[2011-03-31 16:50:30] 2928640 bytes | 2860.00 kb | 2.79 mb transferred
[2011-03-31 16:50:31] 2908160 bytes | 2840.00 kb | 2.77 mb transferred
[2011-03-31 16:50:32] 3450880 bytes | 3370.00 kb | 3.29 mb transferred
dtvtransfermode=iso , /var/log/mediasrv.log:
Es kommt nichts auffälliges, auch kein "realigning stream" o.ä.
bulk transfer mode des Sundtek Sticks
dtvtransfermode=bulk , PID-Filter ON und VDR aktiv:
root@vdr:~/sundtek_driver # /opt/bin/mediaclient --cat /dev/dvb/adapter0/dvr0 | /opt/bin/mediaclient --pipecount=1000
[2011-03-31 16:32:02] 716800 bytes | 700.00 kb | 0.68 mb transferred
[2011-03-31 16:32:03] 737280 bytes | 720.00 kb | 0.70 mb transferred
[2011-03-31 16:32:04] 737280 bytes | 720.00 kb | 0.70 mb transferred
[2011-03-31 16:32:05] 778240 bytes | 760.00 kb | 0.74 mb transferred
[2011-03-31 16:32:06] 757760 bytes | 740.00 kb | 0.72 mb transferred
[2011-03-31 16:32:07] 727040 bytes | 710.00 kb | 0.69 mb transferred
[2011-03-31 16:32:08] 737280 bytes | 720.00 kb | 0.70 mb transferred
[2011-03-31 16:32:09] 747520 bytes | 730.00 kb | 0.71 mb transferred
[2011-03-31 16:32:10] 727040 bytes | 710.00 kb | 0.69 mb transferred
[2011-03-31 16:32:11] 665600 bytes | 650.00 kb | 0.63 mb transferred
root@vdr:~/sundtek_driver # /opt/bin/mediaclient --listpids
Using device: /dev/dvb/adapter0/frontend0
ID | PID
----------
0000 | 0x0012 - 18
0001 | 0x0000 - 0
0002 | 0x0011 - 17
0003 | 0x0010 - 16
0004 | 0x006e - 110
0005 | 0x007d - 125
0006 | 0x0078 - 120
0007 | 0x0079 - 121
0008 | 0x0064 - 100
0009 | 0x0083 - 131
dtvtransfermode=bulk , PID-Filter OFF und VDR gestoppt:
root@vdr:~/sundtek_driver # /opt/bin/mediaclient --cat /dev/dvb/adapter0/dvr0 | /opt/bin/mediaclient --pipecount=1000
[2011-03-31 16:38:21] 4157440 bytes | 4060.00 kb | 3.96 mb transferred
[2011-03-31 16:38:22] 4464640 bytes | 4360.00 kb | 4.26 mb transferred
[2011-03-31 16:38:23] 4454400 bytes | 4350.00 kb | 4.25 mb transferred
[2011-03-31 16:38:24] 4464640 bytes | 4360.00 kb | 4.26 mb transferred
[2011-03-31 16:38:25] 4454400 bytes | 4350.00 kb | 4.25 mb transferred
[2011-03-31 16:38:26] 4474880 bytes | 4370.00 kb | 4.27 mb transferred
[2011-03-31 16:38:27] 4464640 bytes | 4360.00 kb | 4.26 mb transferred
[2011-03-31 16:38:28] 4454400 bytes | 4350.00 kb | 4.25 mb transferred
[2011-03-31 16:38:29] 4464640 bytes | 4360.00 kb | 4.26 mb transferred
[2011-03-31 16:38:30] 4454400 bytes | 4350.00 kb | 4.25 mb transferred
[2011-03-31 16:38:31] 4464640 bytes | 4360.00 kb | 4.26 mb transferred
dtvtransfermode=bulk , /var/log/mediasrv.log:
2011-03-31 16:30:22 [937] TS Sync byte not aligned, realigning stream (0)
2011-03-31 16:30:22 [937] TS Sync byte not aligned, realigning stream (616)
2011-03-31 16:30:22 [937] TS Sync byte not aligned, realigning stream (861)
2011-03-31 16:30:22 [937] TS Sync byte not aligned, realigning stream (1128)
2011-03-31 16:30:22 [937] TS Sync byte not aligned, realigning stream (1351)
2011-03-31 16:30:22 [937] TS Sync byte not aligned, realigning stream (2152)
2011-03-31 16:30:23 [937] THERE MUST BE A BUG WITH YOUR HARDWARE, PLEASE CHECK ISO/BULK TRANSFER MODE
2011-03-31 16:30:23 [937] Packetsize < 188 bytes is invalid, throwing it away and increasing corruption
2011-03-31 16:30:23 [937] TS Sync byte not aligned, realigning stream (752)
2011-03-31 16:30:23 [937] THERE MUST BE A BUG WITH YOUR HARDWARE, PLEASE CHECK ISO/BULK TRANSFER MODE
2011-03-31 16:30:23 [937] Packetsize < 188 bytes is invalid, throwing it away and increasing corruption
2011-03-31 16:30:24 [937] TS Sync byte not aligned, realigning stream (188)
2011-03-31 16:30:24 [937] TS Sync byte not aligned, realigning stream (616)
2011-03-31 16:30:24 [937] TS Sync byte not aligned, realigning stream (0)
2011-03-31 16:30:24 [937] TS Sync byte not aligned, realigning stream (616)
2011-03-31 16:30:24 [937] TS Sync byte not aligned, realigning stream (888)
2011-03-31 16:30:24 [937] TS Sync byte not aligned, realigning stream (1128)
2011-03-31 16:30:24 [937] TS Sync byte not aligned, realigning stream (0)
2011-03-31 16:30:24 [937] TS Sync byte not aligned, realigning stream (308)
2011-03-31 16:30:24 [937] TS Sync byte not aligned, realigning stream (616)
2011-03-31 16:30:24 [937] TS Sync byte not aligned, realigning stream (1264)
2011-03-31 16:30:24 [937] TS Sync byte not aligned, realigning stream (188)
2011-03-31 16:30:24 [937] TS Sync byte not aligned, realigning stream (616)
2011-03-31 16:30:24 [937] TS Sync byte not aligned, realigning stream (852)
2011-03-31 16:30:24 [937] TS Sync byte not aligned, realigning stream (0)
Ich vermute, dass durch die softwareseitige Vermittlungsschicht (von VMware) zwischen USB-Hardware-Port und Durchreichen in eine VM kein kontinuierlichen Datenstrom geliefert werden kann.
Bei isochronous transfer gar nicht und beim bulk transfer einigermassen, aber nicht in ausreichend guter Qualität.
Am VDR 1.7.16 scheints nicht zu liegen, da ein TS-Datenstrom mit
opt/bin/mediaclient --cat /dev/dvb/adapter0/dvr0 > test.ts
in eine Datei geschrieben, genauso oft ruckelt wie der Live-TV-Stream vom VDR.
Am Sundtek Stick liegts jedenfalls nicht, da der an meinem physikalischen VDR-System einwandfrei funktioniert.