Für alle die mal ein wenig rumprobieren wollen, hab ich einen Grossteil der remote-commands des port 8080 zusammengestellt.
Wenn ich mich recht erinnere muss das ganze als HTTP GET an die box geschickt werden.
eine Antwort wird wahrscheinlich nicht zurückkommen... habs allerdings noch nie getestet.
wichtig ist scheinbar das als erstes mit "m=new" ein neues remote object erzeugt wird.
die id die dort vergeben wird, muss bei allen commandos die sich darauf beziehen, angegeben werden.
... das ist alles nur Theorie, die ich mir aus dem source der tv2client.exe zusammengereimt hab.
wenn jemand irgendwas damit zustande bekommt, schreibts mal in diesen thread.
ach ja.. ich glaub das dies nur funktioniert, wenn die box komplett initialisiert ist (aber ich kann mich auch irren)
commands
remoteAvEngine:
close "m=close"
detune "m=detune"
flush "m=flush"
open "m=open&pipeid={0}" pipeId(String)
pause "m=pause"
pauseLive "m=pauselive&dvrurl={0}" fileUrl(EscapedString)
playDvrFile "m=play&speed={0}&dvrurl={1}&rap=0x{2}" speed(float), fileUrl(escapedString), startTime.NTPTime.ToString("X")
"m=play&speed={0}&dvrurl={1}" speed(float), fileUrl(escapedString)
scan "m=play&speed={0}&dvrurl={1}&secs={2}" speed(float), fileUrl(escapedString), scanDuration(long)
seek "m=seek&ntp=0x{0}&dvrurl={1}" seekTime.NTPTime.ToString("X") fileUrl(escapedString)
setlanguage "m=setlang&comp={0}&lang={1}&pid={2}" esitem(string) iso639Language(int) pid(int)
setSap "m=setsap&sap={0}" useSap(int [0/1])
step "m=play&dir={0}" direction(int)
tune "m=tune&url={0}&pipe={1}&ticks={2}&cc608={3}&cc708={4}&sap={5}&audiopid={6}&blockvideo={7}&blockvideobounds={8}&blockaudio={7}&blockaudiobounds={8}" url(escapedString), pipeId(string), Environment.TickCount, cc608(int), cc708(int), useSap(int), audioPid(int), blockState.Blocked, blockState.TimeBounds
tuneRefresh "m=tunerefresh&blockvideo={0}&blockvideobounds={1}&blockaudio={0}&blockaudiobounds={1}" blockState.Blocked, blockState.TimeBounds
tuneRefresh "m=tunerefresh&url={0}&pipe={1}", new object[] url(escapedString) pipeId(escapedString)
tuneRefresh "m=tunerefresh&url={0}&pipe={1}&cc608={2}&cc708={3}" url(escapedString) pipeId(escapedString) cc608(int) cc708(int)
remoteRecordingAV:
start "o={0}&m=record&url={1}&start={2}&end={3}&pri={4}&bitrate={5}" id(int) sourceUrl(escapedString) requestedStart(long), requestedEnd(long), priority(int), bitRate(int)
stop "o={0}&m=stop&del=true&url={2}&end={3}", new object[] id(int), sourceUrl(escapedString), requestedEnd(long)
timeset "o={0}&m=timeset&url={1}&start={2}&end={3}" id(int) sourceUrl(escapedString) newStart(long), newEnd(long)
remoteObject:
new "m=new&o={0}&t={1}" id(int) type(String) type: "recordernode" "itunersession"
delete "m=delete&o={0}" id(int)