CapturePlugin - WinTV

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

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!

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

Unter Applikation:

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_%CNA_%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_%CNA_%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:
Euren Windows Benutzernamen und Passwort, wenn der Benutzername oder das Passwort ein Leerzeichen enthaltet, diese bitte mit " am Anfang und Ende angeben.

Unter Kanäle müßt ihr die Kanal-Nummern(Channel) oder die Stations-Nummern(Preset) von WinTV angeben.

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:

Unter Applikation:

C:\Windows\System32\cscript.exe

Unter Parameter:

Aufnahme-Parameter:

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

Löschen-Parameter:

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

Unter Einstellungen:
Euren Windows Benutzernamen und Passwort, wenn der Benutzername oder das Passwort ein Leerzeichen enthaltet, diese bitte mit " am Anfang und Ende angeben.

Unter Kanäle müßt ihr die Kanal-Nummern(Channel) oder die Stations-Nummern(Preset) von WinTV angeben.

Die Skripte

timer.vbs

Set ArgObj = WScript.Arguments

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 &"""" 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:\progdvb\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 & """"
set task = wscript.CreateObject("wscript.Shell") task.run("" & v_path_schtasks &" /create /sc EINMAL /st " & v_starttime & " /sd " & v_startdate & " /ru " & v_user & " /rp " & v_password & " /tn " & v_taskname & " /tr "& v_startprog ),1
wscript.sleep 200 task.run ("" & v_path_waketask &" 1 " & v_taskname ),1

deltimer.vbs

Set ArgObj = WScript.Arguments

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 &""""
v_path_schtasks = "%systemroot%\system32\schtasks.exe"
set task = wscript.CreateObject("wscript.Shell") task.run ("" & v_path_schtasks & " /delete /tn "& v_taskname &" /F"),1


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 wscript.sleep 2000 task.run(v_startprog),1

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

Wenn sie Stations-Nummern verwenden tauschen sie im record.vbs die Zeile v_startprog =... mit diese Zeile aus.

v_startprog = ""& v_path_winTV &" -p"& v_channelnr &" -ntod -startr:" & v_telecast & "_" & v_currenttime &"_"& v_channelname & ".mpg -qvcd  -limit:" & v_seconds & " -mute -exitr"


Sie können den Tasknamen (v_taskname) ändern, 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 = ... )


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


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)

!! 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:

Unter Applikation:

C:\Windows\System32\cscript.exe

Unter Parameter:

Aufnahme-Parameter:

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

Löschen-Parameter:

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

Unter Einstellungen:
Euren Windows Benutzernamen und Passwort, wenn der Benutzername oder das Passwort ein Leerzeichen enthaltet, diese bitte mit " am Anfang und Ende angeben.

Unter Kanäle müßt ihr die Kanal-Nummern(Channel) oder die Stations-Nummern(Preset) von WinTV angeben.


Die Skripte

timer.vbs

 
Set ArgObj = WScript.Arguments
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 &".job""" ' v_taskname kann nach Anleitung geändert werden
v_user = """"& v_user &"""" v_password = """"& v_password &"""" v_startdate = v_startmonth &":"& v_startday &":"& v_startyear v_starttime = v_starthh &":"& v_startmin
v_path_cscript = "C:\Windows\System32\cscript.exe" v_path_record = "c:\progdvb\aufnahme.vbs c:\PROGRAMME\WinTV\WinTV2K.EXE" v_path_jt = "%systemroot%\system32\jt.exe" ' Pfade anpassen !!!!
' v_machine = ' /SM [<machine>] - set machine (NULL = local machine if omitted)
v_parameter = """"& v_path_record &" "& v_channelnr &" "& v_telecast &" "& v_channelname &" "& v_seconds &""""
set task = wscript.CreateObject("wscript.Shell") task.run(""& v_path_jt &" /sj ApplicationName="& v_path_cscript &" SystemRequired=1 Parameters="& v_parameter &"/ctj StartTime="& v_starttime &" StartDate="& v_startdate &" type=ONCE Disabled=0 /SM "& v_machine &" /sc "& v_user &" "& v_password &" /saj "& v_taskname ),1


deltimer.vbs


Set ArgObj = WScript.Arguments
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_path_jt = "%systemroot%\system32\jt.exe"
v_taskname = """"& v_startmonth & "," & v_startday & " " & v_starthh & v_startmin & "-" & v_endhh & v_endmin & " " & v_minutes & " " & v_channal & " " & v_channelname & " " & v_telecast &".job"""
set task = wscript.CreateObject("wscript.Shell") task.run ("" & v_path_jt & " /sd "& v_taskname ),1


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_moth = DatePart("m" , Now) v_day = DatePart("d" , Now) v_h = Hour(Now) v_min = Minute(Now)
IF 10 > v_moth Then v_moth = 0 & v_moth END IF IF 10 > v_day Then v_day = 0 & v_day END IF IF 10 > v_h Then v_h = 0 & v_h END IF IF 10 > v_min Then v_min = 0 & v_min END IF
v_currenttime = DatePart("yyyy" , Now) &","& v_moth &","& v_day &"_"& v_h & v_min v_file = v_telecast &"_"& v_currenttime &"_"& v_channelname &".mpg" 'nach Belieben anpassen nur keine Leerzeichen verwenden !!!
v_startprog = ""& v_path_winTV &" -c"& v_channelnr &" -ntod -startr:"& v_file &" -qvcd -limit:" & v_seconds & " -mute -exitr"
set task = wscript.CreateObject("wscript.Shell") task.run("c:\Programme\WinTV\Ir.exe /QUIET"),1 'Pfad anpassen oder die Zeile löschen !!
wscript.sleep 2000 task.run(v_startprog),1


Dieser Beschreibung geht davon aus, dass
die Skripte in -> c:\progdvb ,
jt.exe in -> %systemroot%\system32\ und
WinTV und IR als -> C:\PROGRAMME\WinTV\WinTV2K.EXE bzw als C:\Programme\WinTV\Ir.exe
gespeichert sind.

Wenn sie Stations-Nummern verwenden tauschen sie im record.vbs die Zeile v_startprog =... mit diese Zeile aus.

 v_startprog = ""& v_path_winTV &" -p"& v_channelnr &" -ntod -startr:"& v_file &" -qvcd  -limit:" & v_seconds & " -mute -exitr"


Sie können den Tasknamen (v_taskname) ändern, 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 = ... )


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