CapturePlugin - WinTV

Aus TV-Browser Wiki
Version vom 26. Juni 2005, 15:50 Uhr von Fingerhut⧼word-separator⧽⧼parentheses⧽
⧼revision-nav⧽
Wechseln zu: Navigation⧼comma-separator⧽Suche

Achtung !!
1. Bei der Umstellung auf den TV-Browser 1.1.0 alpha können die Skripte vorerst übernommen werden.
2. Schon bestehende Aufnahmen können nicht mehr gelöscht werden (Nur noch per Hand in den Geplanten Tasks)



Standard Aufnahme


Legt ein neues Gerät mit dem Standard-Treiber an.

Nach dem erfolgreichen Anlegen des Gerätes müßt Ihr es auswählen und "Gerät konfigurieren" wählen.

Achtung: Es wird zusätzlich noch das Programm schtasks.exe benötigt!

!! wichtig !! keine Leerzeichen, Sonderzeichen oder Umlaute in den Pfaden, Benutzername oder Passwort verwenden!!! (und natürlich diese Anpassen).

Folgendes müßt Ihr eingeben, damit WinTV funktioniert:

TV-Browser 1.1 alpha Capture Plugin Version 2.03 (konfigurations Datei)

http://skripte.wannawork.de/WinTV_PVR_CapturePlugin203_schtasks_Parameter_002.zip

Im Capture Plugin einfach unter Geräte importieren. Danach nur noch unter Einstellungen Benutzername & Passwort eingeben,
unter Kanäle die Externen Kanäle ändern und unter Variablen den Pfad überprüfen und gegeben falls anpassen

TV-Browser 1.0.1 Capture Plugin Version 2.01

Unter Applikation:

c:\windows\system32\schtasks.exe

Unter Parameter:

Aufnahme-Parameter:(Channal)

/create /SC EINMAL /TN %T2_%CNB_%SD%SMO%SY_%SH%SMI /TR "C:\Programme\WinTV\WinTV2K.EXE -c%CNU -ntod -nss -startr:%T2_%CNB_%SD%SMO%SY_%SH%SMI.mpg -qdef -limit:%LS -mute -exitr" /ST %SH:%SMI:00 /SD %SD/%SMO/%SY /ru %UN /rp %UP

Aufnahme-Parameter:(Preset)

/create /SC EINMAL /TN %T2_%CNB_%SD%SMO%SY_%SH%SMI /TR "C:\Programme\WinTV\WinTV2K.EXE -p%CNU -ntod -nss -startr:%T2_%CNB_%SD%SMO%SY_%SH%SMI.mpg -qdef -limit:%LS -mute -exitr" /ST %SH:%SMI:00 /SD %SD/%SMO/%SY /ru %UN /rp %UP 


Löschen-Parameter:

/delete /TN %T2_%CNB_%SD%SMO%SY_%SH%SMI /F 

Und bitte den Pfad zu WinTV2K.exe anpassen!


Unter Einstellungen:

Minuten früher starten : 2 bis 11 min je nach Sender und Tageszeit
Minuten später stoppen : 8 bis 20 min je nach Sender und Tageszeit
(Diese Werte sind reine Erfahrungswerte bitte selber testen)

Benutzername  : "euer Benutzername von Windows"
Passwort  : "euer Passwort von Windows"
Diese bitte mit " am Anfang und Ende angeben.

Anmerkung:
(Passwort und Benutzername müssen angegeben werden, falls ihr noch keinen Benutzernamen angelegt habt, kann das unter Systemsteuerung und Benutzerkonten nachgeholt werden! Unbedingt notwendig! Falls ihr beim Windowsstartbildschirm keine Benutzerabfrage wollt, kann das mit dem Programm tweakui von den "powertoys for windows xp" geändert werden. Unter Logon und Auto Logon einfach den Haken bei "logon autom... usw" setzen und Benutzerdamen/Kennwort eingeben. Domain ist euer computername. Falls ihr euren Computernamen nicht mehr wisst. Unter Systemsteuerung und System (bzw. Systemsteuerung/Leistung und Wartung/System)dann auf Computername klicken und abzulesen, bei vollständiger Computername (ohne den Punkt eingeben).


Unter Kanäle

Müßt ihr die Kanal-Nummern(Channel) oder die Stations-Nummern(Preset) von WinTV angeben. Überprüft noch einmal welche Aufnahme-Parameter ihr benützt!! (Ihr verwendet Stations-Nummern wenn ihr zB. ARD auf 1 anzeigen läßt oder Pro7 auf 7 )

Aufnahme aus dem Standby für Win2k und XP

Es existiert die Möglichkeit per Kommandozeilen-Tool einzustellen ob der Rechner automatisch hochgefahren werden soll. Dafür müßte allerdings ein kleines VB-Skript geschreiben werden. ( Für Win2k & XP)
Zusätzlich wird dieses Programme benötigt:
jt.exe ftp://ftp.microsoft.com/reskit/win2000/jt.zip (der Server ist öfters Überlastet)
alternativ http://ftp.se.kde.org/pub/vendor/microsoft/ResKit/win2000/
Für das System gelten die gleichen Vorraussetungen wie für schtasks.exe.
!! wichtig !! keine Leerzeichen, Sonderzeichen oder Umlaute in den Pfaden, Benutzername oder Passwort verwenden!!! (und natürlich diese Anpassen). '


TV-Browser 1.1 alpha Capture Plugin Version 2.03

http://skripte.wannawork.de/WinTV_PVR_W2K_XP_jt_1,1,0_001.zip

(Skripte und konfigurations Datei)

Im Capture Plugin einfach unter Geräte importieren. Danach nur noch unter Einstellungen Benutzername & Passwort eingeben,
unter Kanäle die Externen Kanäle ändern und unter Variablen die Pfade überprüfen und gegeben falls anpassen


TV-Browser 1.0.1 Capture Plugin Version 2.01
Es sind genau die gleichen Einstellungen, wie für 'Aufnahme aus dem Standby für XP'

Die Skripte
http://skripte.wannawork.de/WinTV_PVR_W2K_XP_jt_Channel_1,0_2.zip
http://skripte.wannawork.de/WinTV_PVR_W2K_XP_jt_Preset_1,0_2.zip

Dieser Skipte geht davon aus, dass
die Skripte in -> c:\skripte ,
jt.exe in -> %systemroot%\system32\ und
WinTV als -> C:\PROGRAMME\WinTV\WinTV2K.EXE
gespeichert sind. Bitte alle Pfade anpassen. (In den Skipten sind es die Variablen die mit v_path anfangen). Die Skripte mit der rechte Moustaste anklicken und dann auf "Bearbeiten" klicken, um sie zu bearbeiten.

Der Tasknamen (v_taskname)kann geändert werden, er muss nur im timer.vbs und deltimer.vbs gleich sein.. Wenn sie am Anfang keine Variable sondern einen String benützen, dann reichten drei """ ohne & anstatt """"& .

Aufnahme aus dem Standby für XP

Es existiert die Möglichkeit per Kommandozeilen-Tool einzustellen ob der Rechner automatisch hochgefahren werden soll. Dafür müßte allerdings ein kleines VB-Skript geschreiben werden.
Zusätzlich werden diese zwei Programme benötigt:
schtasks.exe und waketask.exe http://www.huebert.info/waketask/

!! wichtig !! keine Leerzeichen, Sonderzeichen oder Umlaute in den Pfaden, Benutzername oder Passwort verwenden!!! (und natürlich diese Anpassen).


Legt ein neues Gerät mit einem Standard-Treiber an.

Folgendes müßt Ihr eingeben, damit WinTV funktioniert:

TV-Browser 1.1 alpha Capture Plugin Version 2.03 (konfigurations Datei)

http://skripte.wannawork.de/WinTV_PVR_CapturePlugin203SkripteParameter_002alpha.zip

Im Capture Plugin einfach unter Geräte importieren. Danach nur noch unter Einstellungen Benutzername & Passwort eingeben,
unter Kanäle die Externen Kanäle ändern und unter Variablen die Pfade überprüfen und gegeben falls anpassen

TV-Browser 1.0.1 Capture Plugin Version 2.01

Unter Applikation:

C:\Windows\System32\cscript.exe

Unter Parameter:

Aufnahme-Parameter:

 //Nologo c:\skripte\timer.vbs %SH %SMI %SD %SMO %SY  %EH %EMI %CNU %UP %UN %T2 %LS  %LM %CNB

Löschen-Parameter:

 //Nologo c:\skripte\deltimer.vbs  %SH %SMI %SD %SMO %SY  %EH %EMI %CNU  %T2   %LM %CNB


Unter Einstellungen:

Minuten früher starten : 2 bis 11 min je nach Sender und Tageszeit
Minuten später stoppen : 8 bis 20 min je nach Sender und Tageszeit
(Diese Werte sind reine Erfahrungswerte bitte selber testen)

Benutzername  : "euer Benutzername von Windows"
Passwort  : "euer Passwort von Windows"
Diese bitte mit " am Anfang und Ende angeben.


Anmerkung:
(Passwort und Benutzername müssen angegeben werden, falls ihr noch keinen Benutzernamen
angelegt habt, kann das unter Systemsteuerung und Benutzerkonten nachgeholt werden!
Unbedingt notwendig! Falls ihr beim Windowsstartbildschirm keine Benutzerabfrage wollt,
kann das mit dem Programm tweakui von den "powertoys for windows xp" geändert werden.
Unter Logon und Auto Logon einfach den Haken bei "logon autom... usw" setzen
und Benutzerdamen/Kennwort eingeben. Domain ist euer computername.
Falls ihr euren Computernamen nicht mehr wisst. Unter Systemsteuerung und System
(bzw. Systemsteuerung/Leistung und Wartung/System)dann auf Computername klicken und abzulesen,
bei vollständiger Computername (ohne den Punkt eingeben).


Unter Kanäle Müßt ihr die Kanal-Nummern(Channel) oder die Stations-Nummern(Preset) von WinTV angeben.
Wenn ihr Stations-Nummern verwendet müsst ihr eine Teile im record skript austauschen. Siehe record.vbs (Ihr verwendet Stations-Nummern wenn ihr zB. ARD auf 1 anzeigen läßt oder Pro7 auf 7 )


Die Skripte

http://skripte.wannawork.de/WinTV_PVR_XP_schtasks_Preset_1,0.zip
http://skripte.wannawork.de/WinTV_PVR_XP_schtasks_Channel_1,0.zip

timer.vbs

Set ArgObj = WScript.Arguments
v_counter = ArgObj.count

IF  14 <> v_counter THEN
  Wscript.Echo  "Falsche Anzahl der Parameter"
  WScript.Quit(1)
ELSE

v_starthh = ArgObj(0) v_startmin = ArgObj(1) v_startday = ArgObj(2) v_startmonth = ArgObj(3) v_startyear = ArgObj(4) v_endhh = ArgObj(5) v_endmin = ArgObj(6) v_channelnr = ArgObj(7) v_password = ArgObj(8) v_user = ArgObj(9) v_telecast = ArgObj(10) v_seconds = ArgObj(11) v_minutes = ArgObj(12) v_channelname = ArgObj(13)
if 100 > v_minutes Then v_minutes = 0 & v_minutes END IF v_taskname = """"& v_startmonth & "," & v_startday & " " & v_starthh & v_startmin & "-" & v_endhh & v_endmin & " " & v_minutes & " " & v_channelnr & " " & v_channelname & " " & v_telecast &"""" Wscript.Echo "create " & v_taskname v_user = """"& v_user & """" v_password = """" & v_password & """"
v_startdate = v_startday & "/" & v_startmonth & "/" & v_startyear v_starttime = v_starthh & ":" & v_startmin & ":00"
v_path_record = "C:\Windows\System32\cscript.exe c:\skripte\record.vbs C:\PROGRAMME\WinTV\WinTV2K.EXE" v_path_schtasks = "%systemroot%\system32\schtasks.exe" v_path_waketask = "%systemroot%\System32\waketask.exe"
v_startprog = """"& v_path_record &" "& v_channelnr &" "& v_telecast &" "& v_channelname & " " & v_seconds & """"
v_create = 0
Set objShell = WScript.CreateObject("WScript.Shell") Set objExecObject = objShell.Exec("" & v_path_schtasks &" /create /sc EINMAL /st " & v_starttime & " /sd " & v_startdate & " /ru " & v_user & " /rp " & v_password & " /tn " & v_taskname & " /tr "& v_startprog ) Do While Not objExecObject.StdOut.AtEndOfStream strText = objExecObject.StdOut.ReadLine() If Instr(strText, "ERFOLGREICH") < 1 Then Wscript.Echo strText v_create = 1 End If Loop IF 0 = v_create THEN Set task = WScript.CreateObject("WScript.Shell") task.run ("" & v_path_waketask &" 1 " & v_taskname ),1 Wscript.Echo "create "& v_taskname ELSE WScript.Quit(1) END IF END IF

deltimer.vbs

Set ArgObj = WScript.Arguments
v_counter = ArgObj.count
IF  11 <> v_counter THEN
  Wscript.Echo  "Falsche Anzahl der Parameter"
  WScript.Quit(1)
ELSE

v_starthh = ArgObj(0) v_startmin = ArgObj(1) v_startday = ArgObj(2) v_startmonth = ArgObj(3) v_startyear = ArgObj(4) v_endhh = ArgObj(5) v_endmin = ArgObj(6) v_channal = ArgObj(7) v_telecast = ArgObj(8) v_minutes = ArgObj(9) v_channelname = ArgObj(10)
if 100 > v_minutes Then v_minutes = 0 & v_minutes END IF v_taskname = """"& v_startmonth & "," & v_startday & " " & v_starthh & v_startmin & "-" & v_endhh & v_endmin & " " & v_minutes & " " & v_channal & " " & v_channelname & " " & v_telecast &""""
Wscript.Echo "delete " & v_taskname
v_path_schtasks = "%systemroot%\system32\schtasks.exe"
set task = wscript.CreateObject("wscript.Shell") task.run ("" & v_path_schtasks & " /delete /tn "& v_taskname &" /F"),1 END IF


record.vbs

Set ArgObj = WScript.Arguments

v_path_winTV = ArgObj(0) v_channelnr = ArgObj(1) v_telecast = ArgObj(2) v_channelname = ArgObj(3) v_seconds = ArgObj(4)
Wscript.Echo " Win TV: starte Aufnahme " & v_telecast & " " & v_channelname wscript.sleep 2000
v_m = DatePart("m" , Now) v_d = DatePart("d" , Now) v_h = Hour(Now) v_min = Minute(Now)
IF v_m < 10 Then v_m = 0 & v_m END IF IF v_d < 10 Then v_d = 0 & v_d END IF IF v_h < 10 Then v_h = 0 & v_h END IF IF v_min < 10 Then v_min = 0 & v_min END IF
v_currenttime = DatePart("yyyy" , Now) &","& v_m &","& v_d &"_"& v_h & v_min
v_startprog = ""& v_path_winTV &" -c"& v_channelnr &" -ntod -startr:" & v_telecast & "_" & v_currenttime &"_"& v_channelname & ".mpg -qvcd -limit:" & v_seconds & " -mute -exitr"
set task = wscript.CreateObject("wscript.Shell") '//task.run("C:\Programme\WinTV\Ir.exe /QUIET"),1 '// nur in Sonderfaellen noetig wscript.sleep 2000 task.run(v_startprog),1

Dieser Beschreibung geht davon aus, dass
die Skripte in -> c:\skripte ,
schtasks.exe und waketask.exe in -> %systemroot%\system32\ und
WinTV als -> C:\PROGRAMME\WinTV\WinTV2K.EXE
gespeichert sind.

Bitte alle Pfade anpassen. (In den Skipten sind es die Variablen die mit v_path anfangen). Die Skripte mit der rechte Moustaste anklicken und dann auf "Bearbeiten" klicken, um sie zu bearbeiten.

Der Tasknamen (v_taskname)kann geändert werden, er muss nur im timer.vbs und deltimer.vbs gleich sein. Wenn sie am Ende oder Anfang keine Variable benützen, dann reichten drei """ ohne &.
(Siehe in record.vbs v_startprog = ... )


Anmerkung zu den Skripten


Wer sich die älteren Versionen angeschaut hat, stellt sicher fest das es am Anfang das Skript record.vbs nicht gab. Diese ist hinzugekommen aus mehreren Gründen.

1. Das Skript (record.vbs) benützt die Systemzeit zur Namensgebung, dadurch sind wöchentliche bzw. sogar tägliche Aufnahmen mit korreckter Bezeichnung möglich.
2. Meine Hauppauge USB2 hatte Probleme mit dem Starten aus dem Standby, welche durch den Restart von IR.exe und der kurzen warte Zeit von 2 Sekunden behoben wurden.
3. Beim Starten aus dem Standby verzögertes starten von WinTV.
4. Die Festplatte wird gestartet bevor die Aufnahme begint. (WinTV nicht auf der selben Festplatte wie das Verzeichnis für die Aufnahme und die Festplatten sind im Standby. -> das record skript auf der Festplatte zum aufnehmen speichern)

Die Skripte sind nicht in Stein gemeisselt und können natürlich geändert werden.

Anregungen:



Log Datei

hier zB. als Anhang in der record.vbs

(die txt Datei muss schon bestehen)

wscript.sleep 5000

v_aufnahme = v_telecast & " " & v_channelname
Set objFSO = wscript.CreateObject("Scripting.FileSystemObject")
v_strPath = "G:\video2\8_log" v_datei = "record.txt" v_strFullName = objFSO.BuildPath( v_strPath , v_datei)
Set objFile = objFSO.OpenTextFile(v_strFullName ,8 ) objFile.WriteLine "" & Now & " : "& v_aufnahme &"" objFile.Close



Ein Beispiel für Manipulation an der Zeit

Die Aufgabe bestand dabei, aus einer Datumsvariable (Now) die einzele Parameter herauszulessen, in der Form, wie sie auch vom Capture Plugin übergeben werden. Dann diese wieder zu einer Datumsvariable zusammen zu setzen und ein Minute davon abzuziehen.


test.vbs

'C:\Windows\System32\cscript.exe c:\progdvb\test.vbs 

v_month = DatePart("m" , Now) v_day = DatePart("d" , Now) v_hour = Hour(Now) v_min = Minute(Now) v_year = DatePart("yyyy" , Now)
Wscript.Echo Now
IF 10 > v_month Then v_month = 0 & v_month END IF
IF 10 > v_day Then v_day = 0 & v_day END IF
IF 10 > v_hour Then v_hour = 0 & v_hour END IF
IF 10 > v_min Then v_min = 0 & v_min END IF
v_currenttime = v_day &"/"& v_month &"/"& v_year &" "& v_hour &":"& v_min &":00"
If IsDate(v_currenttime) = 0 Then Wscript.Echo v_currenttime & " v_currenttime ist kein gültiges Datum." Else Wscript.Echo v_currenttime & " ist ein gültiges Datum." v_newtime = DateAdd("n", -1, v_currenttime) Wscript.Echo v_newtime End If