Bei Telnet war das doch immer so, dass man eine Verbindung zu einem Anbieter aufgebaut hat und dann einen Usernamen wie z.B. "max.mustermann" senden musste. Wenn der Username nicht existiert, dann existiert die Mail-Adresse auch nicht!?
Beiträge von DeepRed92
-
-
Hey danke,
kann das sehr gut gebrauchen
-
Sehr schön. Mir gefällt es besonders, dass es so übersichtlich gehalten wurde!
Das Bild hat mich überrascht xD
Spoiler anzeigen
[Blockierte Grafik: http://farm5.static.flickr.com/4133/5213911608_b0ae4c9a33_o.jpg]
-
[autoit]
_FTP_DirPutContents($Conn, $Local, $Remote, 0)
[/autoit]
[autoit]
=>_FTP_DirPutContents($Conn, $Local, $Remote, 1)
[/autoit]Die Dateien kannst du vorher mit
[autoit]
[/autoit]
_FTP_DirDeletelöschen und anschließend uploaden.
-
Sorry das ich mich hier einmische, aber ich finde es traurig, sowas zu zu lesen...
Zitat von NetCode(...)naja den kam er wieder und hat gesagt hier das geld(...)
Du hast das Geld bekommen und hast trotzdem das Handy gemopst!? Ganz ehrlich.. wenn man schon 500€ für fast nichts bekommt, dann kann das doch nicht wahr sein!
Zitat von NetCodealso das ende der geschichte : Lügen müssen bestraft werde
Ja klar, aber bestimmt nicht von dir oder? Wir leben in einem Rechtsstaat und sowas kann wirklich nicht angehen!
Traurig auch, dass du ihn hier so schlecht redest (nicht gepflegt etc.).Für die Nummer mitm Handy hättest du von mir garantiert eine Anzeige bekommen! Schäm dich! .
-
Execute benutzen. Z.B. Execute("MsgBo(0, '', 'ein Fehler')")
-
Guten Abend,
hatte seit längerem vor irgendwann mal einen Install Creator in AutoIt zu schreiben und nun habe ich schon mal die Oberfläche erstellt. Klar gibt es Programme wie NSIS usw., aber man blickt da nicht immer ganz durch.
Bugs:
-
MenuItem wird bei jedem Klick auf einem Tab markiert. Keine Ahnung warum..=> Gelöst. Das erste Item wird einfach deaktiviert..
autoit.de/wcf/attachment/15743/
Was meint ihr, ist alles wichtige enthalten oder gibt es, was man noch hinzufügen könnte bzw. muss?
Edit: Rechtschreibfehler sind enthalten, werden aber bald entfernt.
Edit2: Jetzt kann man zwischen Portable, Installer und beides entscheiden.
Edit3: Das Projekt wird noch eine Weile dauern, da ich jetzt momentan in der Klausurphase bin. -
-
Hab das so gemacht:
Spoiler anzeigen
[autoit]Local $array[100][100]
[/autoit] [autoit][/autoit] [autoit]
Local $ready1 = False
Local $ready2 = False
Local $done = False
Local $paraFun3[4]AdlibRegister('Ueberpruefen', 50)
[/autoit] [autoit][/autoit] [autoit]Funktion1(1)
[/autoit] [autoit][/autoit] [autoit]
Funktion2(10, 10, 10)While 1
[/autoit] [autoit][/autoit] [autoit]
Sleep(50)
WEndFunc Funktion1($parameter)
[/autoit] [autoit][/autoit] [autoit]
For $i1 = 0 To 100 - 1
For $i2 = 0 To 100 - 1
$array[$i1][$i2] = $parameter * Random()
Next
Next
Funktion3('852875', '2546556', '151', '51541') ;Wird mittendrin aufgerufen
Sleep(1000) ;Pause
$ready1 = True
Return 1
EndFunc ;==>Funktion1Func Funktion2($updateposa, $updateposb, $parameter)
[/autoit] [autoit][/autoit] [autoit]
$array[$updateposa][$updateposb] = $parameter
$ready2 = True
EndFunc ;==>Funktion2Func Funktion3($p1, $p2, $p3, $p4)
[/autoit] [autoit][/autoit] [autoit]
If $ready1 = False Or $ready2 = False Then
$paraFun3[0] = $p1
$paraFun3[1] = $p2
$paraFun3[2] = $p3
$paraFun3[3] = $p4
Return $done = False
EndIf
$arraylocal = $array
MsgBox(0, 'Parameter in Func3', $p1 & ' - ' & $p2 & ' - ' & $p3 & ' - ' & $p4)
EndFunc ;==>Funktion3Func Ueberpruefen()
[/autoit]
If $ready1 And $ready2 And Not $done Then
Funktion3($paraFun3[0], _
$paraFun3[1], _
$paraFun3[2], _
$paraFun3[3])
$done = True
$ready1 = False
$ready2 = False
Else
$done = False
EndIf
EndFunc ;==>UeberpruefenErweitere es am besten so, dass die Funktion3 sozusagen in eine Warteschleife gerät. Sowas wie ne queue
-
[autoit]
Local $ready = False
[/autoit][autoit][/autoit][autoit]
Local $done = FalseAdlibRegister('Ueberpruefen', 50) ;WARTESCHLEIFE
[/autoit][autoit][/autoit][autoit]Funktion3()
[/autoit][autoit][/autoit][autoit]While 1
[/autoit][autoit][/autoit][autoit][/autoit][autoit]
Sleep(50)
WEndFunc Funktion1()
[/autoit][autoit][/autoit][autoit]
;IRGENDWAS
EndFuncFunc Funktion2()
[/autoit][autoit][/autoit][autoit]
;IRGENDWAS
EndFuncFunc Funktion3()
[/autoit][autoit][/autoit][autoit]
If $ready = False Then Return $done = False
;MUSS WARTEN ALSO...
EndFuncFunc Ueberpruefen()
[/autoit]
If $ready And Not $done Then
Funktion3()
$done = True
Else
$done = False
EndIf
EndFuncSo sieht das Grundgerüst aus. Da du keinen Code preis gibst, muss du das selber implementieren.
Müsste von der Überlegung her korrekt sein. -
Guck mal unter http://msdn.microsoft.com/en-us/library/…v=vs.85%29.aspx bei Parameters.
Edit: Zum nachschlagen einfach shell32.dll + die zugehörige Funktion bei Google eingeben. Dann kommen meistens Seiten von Microsoft. So mache ich das zumindest.
-
Ja, es geht. Bei Dateien und Ordner. Ob das ein Ordner ist oder nicht kannst du ganz einfach mit
[autoit]FileGetAttrib
[/autoit]feststellen.
[ gelöst ] Prüfen, ob Verzeichnis oder Datei -
Schau dir mal die Funktionen
[autoit]FileFindFirstFile
[/autoit]und
[autoit]FileFindNextFile
[/autoit]an. Vielleicht auch
[autoit]_FileListToArray
[/autoit]oder _FileListToArrayEx.
-
Jop, das ist richtig. D84098A2 ist gleich 3628112034. Also stimmt mit der C++ Funktion anscheinend was nicht. Vielleicht ist es auch ein anderes Format.
Edit: Warum benutzt du nicht einfach das hier: http://msdn.microsoft.com/en-us/library/…28VS.85%29.aspx
-
Was sagt den CMD? Gib mal bei CMD "dir C:" ein und guck mal was da zurück gegeben wird.
-
Was bekommst du denn bei AutoIt und C++ zurück? Bei AutoIt eine Zahl und Bei C++ sowas wie C9E7-46D5, richtig?
Müssten in Grunde genommen die selben Werte sein. Sind nur in anderen Zahlensystemen. Müsstest du dann umwandeln -
Habe gerade durch Zufall das hier gefunden:
http://www.autoitscript.com/forum/topic/81…737#entry587737
Wäre genau das, was du suchst. Ist halt schon eine fertige UDF
So sieht das dann aus:
-
Okay, das hat mir weitergeholfen. Tatsächlich ist es so, dass ich die Daten vom Server deswegen nur Stückweise hatte. Jetzt sollte das mit TCPRecv gehen. Jetzt habe ich es geschafft, DESCRIBE, SETUP1 und SETUP2 richtig aufzurufen. Problem ist jetzt nur noch PLAY.
Habe das Script komplett überarbeitet und es sieht schon fast wie eine richtige UDF aus. Allerdings benutze ich dafür AutoItObject.
Also damit man nicht sofort alles runterladen muss, poste ich erstmal, was ich vom Server bekomme:
DESCRIBE
Code
Alles anzeigenRTSP/1.0 200 OK Content-Type: application/sdp Vary: Accept X-Playlist-Gen-Id: 941781 X-Broadcast-Id: 180402 Content-Length: 7952 Date: Sun, 15 Apr 2012 04:49:13 GMT CSeq: 1 Server: WMServer/9.5.6001.18223 Supported: com.microsoft.wm.srvppair, com.microsoft.wm.sswitch, com.microsoft.wm.eosmsg, com.microsoft.wm.fastcache, com.microsoft.wm.packetpairssrc, com.microsoft.wm.startupprofile Last-Modified: Sat, 30 Dec 1899 00:00:00 GMT Cache-Control: x-wms-event-subscription="remote-log", x-wms-stream-type="broadcast", no-cache, no-user-cache, private v=0 o=- 201204100810480144 201204100810480144 IN IP4 127.0.0.1 s=1LIVE c=IN IP4 0.0.0.0 b=AS:65 a=maxps:2762 t=0 0 a=control:rtsp://a1979.l12278653874.c122786.e.lm.akamaistream.net/Akamai_Live_53874/ a=etag:{0F039747-7F88-36AA-BDD8-8DE9EB850B4F} a=range:npt=10.000-10.000 a=type:broadcast a=recvonly a=pgmpu:data:application/x-wms-contentdesc,8,language,31,0,,44,WMS_CONTENT_DESCRIPTION_SERVER_BRANDING_INFO,31,12,WMServer/9.5,9,copyright,31,31,© Westdeutscher Rundfunk Köln,6,author,31,31,© Westdeutscher Rundfunk Köln,5,title,31,5,1LIVE,51,WMS_CONTENT_DESCRIPTION_PLAYLIST_ENTRY_START_OFFSET,3,5,10000,47,WMS_CONTENT_DESCRIPTION_PLAYLIST_ENTRY_DURATION,3,1,0,58,WMS_CONTENT_DESCRIPTION_COPIED_METADATA_FROM_PLAYLIST_FILE,3,1,1,42,WMS_CONTENT_DESCRIPTION_PLAYLIST_ENTRY_URL,31,39,53874&akcp=122786&akserial=1979&fp=v001 a=pgmpu:data:application/vnd.ms.wms-hdr.asfv1;base64,MCaydY5mzxGm2QCqAGLObL8TAAAAAAAABwAAAAECMyaydY5mzxGm2QCqAGLObKYAAAAAAAAADAA8ADwAAAAAADEATABJAFYARQAAAKkAIABXAGUAcwB0AGQAZQB1AHQAcwBjAGgAZQByACAAUgB1AG4AZABmAHUAbgBrACAASwD2AGwAbgAAAKkAIABXAGUAcwB0AGQAZQB1AHQAcwBjAGgAZQByACAAUgB1AG4AZABmAHUAbgBrACAASwD2AGwAbgAAAM51+HuNRtERjYIAYJfJorIgAAAAAAAAAAEAAQCt/AAAodyrjEepzxGO5ADADCBTZWgAAAAAAAAAsv0SZRRE90WEeqX/JJNFDvETAAAAAAAAsMPjd/AWzQH/////AAAAAAAAAAAAAAAAAAAAAAAAAAAQJwAAAAAAAAkAAADKCgAAygoAAK38AAC1A79fLqnPEY7jAMAMIFNlqxAAAAAAAAAR0tOruqnPEY7mAMAMIFNlBgB9EAAAqUZDfODv/EuyKTk+3kFchSEAAAAAAAAAAQAGZABlAAAAy6XmFHLGMkODmalpUgZbWlgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAj6AAAQJwAAAAAAAAj6AAAQJwAAAAAAAKsKAAAAAAAAAQAAAAAAAAAAAAAAAAAAAF2L8SaERexHn18OZR8EUskaAAAAAAAAAAIB6sv4xa9bd0iEZ6qMRPpMynoAAAAAAAAAAgAAAAEADAACAAIAAABJAHMAVgBCAFIAAAAAAAAAAQA0AAAABgAAAEQAZQB2AGkAYwBlAEMAbwBuAGYAbwByAG0AYQBuAGMAZQBUAGUAbQBwAGwAYQB0AGUAAABMADIAAAB01AYY38oJRaS6mqvLlqrocA8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkQfct7epzxGO5gDADCBTZXIAAAAAAAAAQJ5p+E1bzxGo/QCAX1xEK1DNw7+PYc8Ri7IAqgC04iAAAAAAAAAAABwAAAAIAAAAAQAAYs5sYQECAIC7AABBHwAAqwoQAAoAAIgAAA8AAAAAAAGrCqsKAQAAQKTQ0gfj0hGX8ACgyV6oUKgAAAAAAAAAAwAcAFcATQBGAFMARABLAFYAZQByAHMAaQBvAG4AAAAAACAAMQAyAC4AMAAuADcANgAwADEALgAxADcANQAxADQAAAAaAFcATQBGAFMARABLAE4AZQBlAGQAZQBkAAAAAAAWADAALgAwAC4AMAAuADAAMAAwADAAAAAMAEkAcwBWAEIAUgAAAAIABAAAAAAAQFLRhh0x0BGjpACgyQNI9q4AAAAAAAAAQVLRhh0x0BGjpACgyQNI9gEAAAACABgAVwBpAG4AZABvAHcAcwAgAE0AZQBkAGkAYQAgAEEAdQBkAGkAbwAgADkALgAyAAAAJAAgADYANAAgAGsAYgBwAHMALAAgADQAOAAgAGsASAB6ACwAIABzAHQAZQByAGUAbwAgADEALQBwAGEAcwBzACAAQwBCAFIAAAACAGEBNiaydY5mzxGm2QCqAGLObDIAAAAAAAAAsv0SZRRE90WEeqX/JJNFDgAAAAAAAAAAAQE= m=audio 0 RTP/AVP 96 b=AS:65 b=X-AV:65 b=RS:0 b=RR:0 a=rtpmap:96 x-asf-pf/1000 a=control:audio a=stream:1 m=application 0 RTP/AVP 96 b=RS:0 b=RR:0 a=rtpmap:96 x-wms-rtx/1000 a=control:rtx a=stream:65536
SETUP1
CodeRTSP/1.0 200 OK Transport: RTP/AVP/TCP;unicast;server_port=5004-5005;client_port=9000-9000;ssrc=b85c9c9c;mode=PLAY Date: Sun, 15 Apr 2012 04:49:13 GMT CSeq: 2 Session: 11911824958435848744;timeout=60 Server: WMServer/9.5.6001.18223 Supported: com.microsoft.wm.srvppair, com.microsoft.wm.sswitch, com.microsoft.wm.eosmsg, com.microsoft.wm.fastcache, com.microsoft.wm.packetpairssrc, com.microsoft.wm.startupprofile Last-Modified: Sat, 30 Dec 1899 00:00:00 GMT Cache-Control: x-wms-event-subscription="remote-log", x-wms-stream-type="broadcast", no-cache, no-user-cache, private
SETUP2
CodeRTSP/1.0 200 OK Transport: RTP/AVP/TCP;unicast;server_port=5004-5005;client_port=9000-9000;ssrc=b85c9c9c;mode=PLAY Date: Sun, 15 Apr 2012 04:49:13 GMT CSeq: 3 Session: 11911824958435848744;timeout=60 Server: WMServer/9.5.6001.18223 Supported: com.microsoft.wm.srvppair, com.microsoft.wm.sswitch, com.microsoft.wm.eosmsg, com.microsoft.wm.fastcache, com.microsoft.wm.packetpairssrc, com.microsoft.wm.startupprofile Last-Modified: Sat, 30 Dec 1899 00:00:00 GMT Cache-Control: x-wms-event-subscription="remote-log", x-wms-stream-type="broadcast", no-cache, no-user-cache, private
PLAY
CodeRTSP/1.0 500 Internal Server Error Date: Sun, 15 Apr 2012 04:49:14 GMT CSeq: 4 Session: 11911824958435848744;timeout=60 Server: WMServer/9.5.6001.18223 Supported: com.microsoft.wm.srvppair, com.microsoft.wm.sswitch, com.microsoft.wm.eosmsg, com.microsoft.wm.fastcache, com.microsoft.wm.packetpairssrc, com.microsoft.wm.startupprofile
Habe 2x SETUP benutzt, da das hier (http://folk.uio.no/meccano/reflector/smallclient.html) auch gemacht wurde.
Und hier die Scripte:
main.au3
[autoit]#include <class/rtsp.au3>
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
#include <string.au3>Local $rtsp = _New_RTSP()
[/autoit] [autoit][/autoit] [autoit]$rtsp.setServer('rtsp://a1979.l12278653874.c122786.e.lm.akamaistream.net/D/1979/122786/v0001/reflector:53874')
[/autoit] [autoit][/autoit] [autoit]
$rtsp.connect()$rtsp.requestDESCRIBE()
[/autoit] [autoit][/autoit] [autoit]
$sRecvData = $rtsp.recvData()
$rtsp.setData($sRecvData, 'DESCRIBE')_Debug('DESCRIBE', $sRecvData) ;Schreibt auf, was vom Server wiedergegeben wurde!
[/autoit] [autoit][/autoit] [autoit]$rtsp.requestSETUP1()
[/autoit] [autoit][/autoit] [autoit]
$sRecvData = $rtsp.recvData()
$rtsp.setData($sRecvData, 'SETUP1')_Debug('SETUP1', $sRecvData) ;Schreibt auf, was vom Server wiedergegeben wurde!
[/autoit] [autoit][/autoit] [autoit]$rtsp.requestSETUP2()
[/autoit] [autoit][/autoit] [autoit]
$sRecvData = $rtsp.recvData()
$rtsp.setData($sRecvData, 'SETUP2')_Debug('SETUP2', $sRecvData) ;Schreibt auf, was vom Server wiedergegeben wurde!
[/autoit] [autoit][/autoit] [autoit]$rtsp.requestPLAY()
[/autoit] [autoit][/autoit] [autoit]
$sRecvData = $rtsp.recvData()
$rtsp.setData($sRecvData, 'PLAY')_Debug('PLAY', $sRecvData) ;Schreibt auf, was vom Server wiedergegeben wurde!
[/autoit] [autoit][/autoit] [autoit];Ok, INTERNAL SERVER ERROR. Dann neue Verbindung??
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
MsgBox(0, 'SERVER ERROR???', $sRecvData)#region Versuch2
[/autoit] [autoit][/autoit] [autoit]
$con = TCPConnect($rtsp.serverIp, 9000)
Local $sPacket = 'PLAY ' & $rtsp.getSETUPurl() & ' RTSP/1.0' & @CRLF & _
'CSeq: 4' & @CRLF & _
'Session: ' & $rtsp.getSession() & @CRLF & @CRLF
TCPSend($con, $sPacket)
$sRecvData = $rtsp.recvData()MsgBox(0, 'GAR NICHTS!?', $sRecvData)
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
#endregion Versuch 2Func _Debug($sName, $sData)
[/autoit]
Local $sPath = @ScriptDir & '\' & $sName & '.txt'
FileDelete($sPath)
FileWrite($sPath, $sData)
EndFuncrtsp.au3
[autoit]#include <AutoItObject\AutoItObject.au3>
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]_AutoItObject_Startup()
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]Func _New_RTSP()
[/autoit] [autoit][/autoit] [autoit]
Local $oRTSP = _AutoItObject_Create()
_AutoItObject_AddProperty($oRTSP, 'server')
_AutoItObject_AddProperty($oRTSP, 'serverPort')
_AutoItObject_AddProperty($oRTSP, 'serverIp')
_AutoItObject_AddProperty($oRTSP, 'socket')
_AutoItObject_AddProperty($oRTSP, 'dataDESCRIBE')
_AutoItObject_AddProperty($oRTSP, 'dataSETUP1')
_AutoItObject_AddProperty($oRTSP, 'dataSETUP2')
_AutoItObject_AddProperty($oRTSP, 'dataPLAY')_AutoItObject_AddMethod($oRTSP, 'setServer', '_rtspSetServer')
[/autoit] [autoit][/autoit] [autoit]
_AutoItObject_AddMethod($oRTSP, 'getServer', '_rtspGetServer')
_AutoItObject_AddMethod($oRTSP, 'connect', '_rtspConnect')
_AutoItObject_AddMethod($oRTSP, 'requestDESCRIBE', '_rtspRequestDESCRIBE')
_AutoItObject_AddMethod($oRTSP, 'requestSETUP1', '_rtspRequestSETUP1')
_AutoItObject_AddMethod($oRTSP, 'requestSETUP2', '_rtspRequestSETUP2')
_AutoItObject_AddMethod($oRTSP, 'requestPLAY', '_rtspRequestPLAY')
_AutoItObject_AddMethod($oRTSP, 'getHostName', '_rtspGetHostName')
_AutoItObject_AddMethod($oRTSP, 'recvData', '_rtspRecvData')
_AutoItObject_AddMethod($oRTSP, 'getSETUPurl', '_rtspGetSETUPurl')
_AutoItObject_AddMethod($oRTSP, 'getSession', '_rtspGETSession')
_AutoItObject_AddMethod($oRTSP, 'setData', '_rtspSetData')Return $oRTSP
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
EndFunc ;==>_New_RTSPFunc _rtspGETSession($oSelf)
[/autoit] [autoit][/autoit] [autoit]
Local $sData = _StringBetween($oSelf.dataSETUP1, 'Session:', ';')
If IsArray($sData) Then Return StringStripWS($sData[0],
EndFuncFunc _rtspSetData($oSelf, $sData, $sType)
[/autoit] [autoit][/autoit] [autoit]
Switch $sType
Case 'DESCRIBE'
$oSelf.dataDESCRIBE = $sData
Case 'SETUP1'
$oSelf.dataSETUP1 = $sData
Case 'SETUP2'
$oSelf.dataSETUP2 = $sData
Case 'PLAY'
$oSelf.dataPLAY = $sData
EndSwitch
EndFuncFunc _rtspSetServer($oSelf, $sServer)
[/autoit] [autoit][/autoit] [autoit]
$oSelf.server = $sServer
EndFuncFunc _rtspGetServer($oSelf)
[/autoit] [autoit][/autoit] [autoit]
Return $oSelf.server
EndFuncFunc _rtspConnect($oSelf)
[/autoit] [autoit][/autoit] [autoit]
TCPStartup()
$oSelf.serverIp = TCPNameToIP($oSelf.getHostName())
$oSelf.socket = TCPConnect($oSelf.serverIp, 554)
Return $oSelf.socket
EndFuncFunc _rtspRecvData($oSelf)
[/autoit] [autoit][/autoit] [autoit]
Local $sRecv, $sData, $sN
While 1
$sRecv = TCPRecv($oSelf.socket, 2048)
$sData &= $sRecv
If $sRecv = '' Then $sN += 1
If $sN > 10 Then ExitLoop
Sleep(1)
WEnd
Return $sData
EndFuncFunc _rtspRequestDESCRIBE($oSelf)
[/autoit] [autoit][/autoit] [autoit]
Local $sPacket = 'DESCRIBE ' & $oSelf.server & ' RTSP/1.0' & @CRLF & _
'CSeq: 1' & @CRLF & @CRLF
TCPSend($oSelf.socket, $sPacket)
EndFuncFunc _rtspRequestSETUP1($oSelf)
[/autoit] [autoit][/autoit] [autoit]
Local $sPacket = 'SETUP ' & $oSelf.getSETUPurl() & 'rtx RTSP/1.0' & @CRLF & _
'CSeq: 2' & @CRLF & _
'Transport: RTP/AVP/TCP;unicast;client_port=9000-9001' & @CRLF & @CRLF
TCPSend($oSelf.socket, $sPacket)
EndFuncFunc _rtspRequestSETUP2($oSelf)
[/autoit] [autoit][/autoit] [autoit]
Local $sPacket = 'SETUP ' & $oSelf.getSETUPurl() & 'rtx RTSP/1.0' & @CRLF & _
'CSeq: 3' & @CRLF & _
'Session: ' & $oSelf.getSession() & @CRLF & _
'Transport: RTP/AVP/TCP;unicast;client_port=9000-9001' & @CRLF & @CRLF
TCPSend($oSelf.socket, $sPacket)
EndFuncFunc _rtspRequestPLAY($oSelf)
[/autoit] [autoit][/autoit] [autoit]
Local $sPacket = 'PLAY ' & $oSelf.getSETUPurl() & ' RTSP/1.0' & @CRLF & _
'CSeq: 4' & @CRLF & _
'Session: ' & $oSelf.getSession() & @CRLF & @CRLF
TCPSend($oSelf.socket, $sPacket)
EndFuncFunc _rtspGetSETUPurl($oSelf)
[/autoit] [autoit][/autoit] [autoit]
Local $sData = _StringBetween($oSelf.dataDESCRIBE, 'control:', @LF)
If UBound($sData) > 0 Then Return StringStripWS($sData[1],
EndFuncFunc _rtspGetHostName($oSelf)
[/autoit]
Local $sTmp1, $sTmp2
If StringLeft($oSelf.server, 7) == 'rtsp://' Then $sTmp1 = StringTrimLeft($oSelf.server, 7)
If StringInStr($sTmp1, '/') Then
$sTmp2 = StringSplit($sTmp1, '/')
$sTmp1 = $sTmp2[1]
EndIf
Return $sTmp1
EndFuncEigentlich müsste das doch gehen. Hab das einmal ohne eine neue Verbindung versucht => geht nicht. Mit einer neuen Verbindung und auf Port 9000, wie mit dem Server "ausgehandelt" => immer noch nicht ..
Die Fehlermeldung lautet beim ersten "INTERNAL SERVER ERROR" und beim zweiten kommt nichts an. :wacko:
-
Guten Abend,
ich versuche momentan in AutoIt eine kleine RTSP (Real Time Streaming Protocol) UDF zu erstellen, da sowas anscheinend nicht existiert. Momentan bin ich soweit, dass ich mit einem RTSP-Server etwas kommunizieren kann, aber ich verstehe nicht wirklich, wie ich an den Stream komme.
Scripte + Dateien die ich vom Server bekomme sind im Anhang vorzufinden.Mein 1. Script. Ist zwar sehr einfach gehalten, müsste aber so funktionieren.
Spoiler anzeigen
[autoit]#include <String.au3>
[/autoit] [autoit][/autoit] [autoit]TCPStartup()
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]$sock = TCPConnect(TCPNameToIP('a1979.l12278653874.c122786.e.lm.akamaistream.net'), 554)
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit];#####################################################///DESCRIBE
[/autoit] [autoit][/autoit] [autoit]$packet = 'DESCRIBE rtsp://a1979.l12278653874.c122786.e.lm.akamaistream.net/D/1979/122786/v0001/reflector:53874 RTSP/1.0' & @CRLF & _
[/autoit] [autoit][/autoit] [autoit]
'CSeq: 1' & @CRLF & @CRLFTCPSend($sock, $packet)
[/autoit] [autoit][/autoit] [autoit]
_lausche(1);#####################################################///SETUP
[/autoit] [autoit][/autoit] [autoit]$packet = 'SETUP rtsp://a1979.l12278653874.c122786.e.lm.akamaistream.net/Akamai_Live_53874/rtx RTSP/1.0' & @CRLF & _
[/autoit] [autoit][/autoit] [autoit]
'CSeq: 2' & @CRLF & _
'Transport: RTP/AVP/TCP;unicast;interleaved=0-1;ssrc=a33b5252;mode=PLAY' & @CRLF & @CRLFTCPSend($sock, $packet)
[/autoit] [autoit][/autoit] [autoit]
_lausche(2);#####################################################///PLAY
[/autoit] [autoit][/autoit] [autoit]$packet = 'PLAY rtsp://a1979.l12278653874.c122786.e.lm.akamaistream.net/Akamai_Live_53874 RTSP/1.0' & @CRLF & _
[/autoit] [autoit][/autoit] [autoit]
'CSeq: 3' & @CRLF & _
'Range: npt=5-20' & @CRLF & @CRLFTCPSend($sock, $packet)
[/autoit] [autoit][/autoit] [autoit]
_lausche(3)Local $session = _readSession(@ScriptDir & "\tmp3.txt") ;Session aus TXT-Datei auslesen
[/autoit] [autoit][/autoit] [autoit];#####################################################///TEARDOWN => Session Not Found
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]$packet = 'TEARDOWN rtsp://a1979.l12278653874.c122786.e.lm.akamaistream.net/Akamai_Live_53874 RTSP/1.0' & @CRLF & _
[/autoit] [autoit][/autoit] [autoit]
'CSeq: 4' & @CRLF & _
'Session: ' & $session & @CRLF & @CRLFTCPSend($sock, $packet)
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
_lausche(4)ConsoleWrite($session & @CRLF)
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit];Liest nur die Session aus.
[/autoit] [autoit][/autoit] [autoit]
Func _readSession($sPath)
Local $sFile = FileRead($sPath)
Local $sStr = _StringBetween($sFile, 'Session:', ';')
Return StringStripWS($sStr[0],
EndFunc;Lauscht dem Server
[/autoit] [autoit][/autoit] [autoit]
Func _lausche($nnn)
Do
$rec = TCPRecv($sock, 1024)
Until $rec <> ""
Local $x = ''
While 1
$x = TCPRecv($sock, 1024)$rec &= $x
[/autoit]
If $x = "" Then ExitLoop
WEnd
FileWrite(FileOpen("tmp" & $nnn & ".txt", 2), $rec)
EndFunc ;==>_lauscheAuf diesen Seiten wird das einigermaßen erklärt, wie das funktioniert.
http://en.wikipedia.org/wiki/Real_Time_Streaming_Protocol
https://autoit.de/www.csee.umbc.…urose-ross.htmlHier mal die Daten, die der Server mir liefert:
1. Schritt
Code
Alles anzeigenRTSP/1.0 200 OK Content-Type: application/sdp Vary: Accept X-Playlist-Gen-Id: 914017 X-Broadcast-Id: 176629 Content-Length: 7952 Date: Sat, 14 Apr 2012 22:42:55 GMT CSeq: 1 Server: WMServer/9.5.6001.18223 Supported: com.microsoft.wm.srvppair, com.microsoft.wm.sswitch, com.microsoft.wm.eosmsg, com.microsoft.wm.fastcache, com.microsoft.wm.packetpairssrc, com.microsoft.wm.startupprofile Last-Modified: Sat, 30 Dec 1899 00:00:00 GMT Cache-Control: x-wms-event-subscription="remote-log", x-wms-stream-type="broadcast", no-cache, no-user-cache, private v=0 o=- 201204100810480144 201204100810480144 IN IP4 127.0.0.1 s=1LIVE c=IN IP4 0.0.0.0 b=AS:65 a=maxps:2762 t=0 0 a=control:rtsp://a1979.l12278653874.c122786.e.lm.akamaistream.net/Akamai_Live_53874/ a=etag:{0F039747-7F88-36AA-BDD8-8DE9EB850B4F} a=range:npt=10.000-10.000 a=type:broadcast a=recvonly a=pgmpu:data:application/x-wms-contentdesc,8,language,31,0,,44,WMS_CONTENT_DESCRIPTION_SERVER_BRANDING_INFO,31,12,WMServer/9.5,9,copyright,31,31,© Westdeutscher Rundfunk Köln,6,author,31,31,© Westdeutscher Rundfunk Köln,5,title,31,5,1LIVE,51,WMS_CONTENT_DESCRIPTION_PLAYLIST_ENTRY_START_OFFSET,3,5,10000,47,WMS_CONTENT_DESCRIPTION_PLAYLIST_ENTRY_DURATION,3,1,0,58,WMS_CONTENT_DESCRIPTION_COPIED_METADATA_FROM_PLAYLIST_FILE,3,1,1,42,WMS_CONTENT_DESCRIPTION_PLAYLIST_ENTRY_URL,31,39,53874&akcp=122786&akserial=1979&fp=v001 a=pgmpu:data:application/vnd.ms.wms-hdr.asfv1;base64,MCaydY5mzxGm2QCqAGLObL8TAAAAAAAABwAAAAECMyaydY5mzxGm2QCqAGLObKYAAAAAAAAADAA8ADwAAAAAADEATABJAFYARQAAAKkAIABXAGUAcwB0AGQAZQB1AHQAcwBjAGgAZQByACAAUgB1AG4AZABmAHUAbgBrACAASwD2AGwAbgAAAKkAIABXAGUAcwB0AGQAZQB1AHQAcwBjAGgAZQByACAAUgB1AG4AZABmAHUAbgBrACAASwD2AGwAbgAAAM51+HuNRtERjYIAYJfJorIgAAAAAAAAAAEAAQCt/AAAodyrjEepzxGO5ADADCBTZWgAAAAAAAAAsv0SZRRE90WEeqX/JJNFDvETAAAAAAAAsMPjd/AWzQH/////AAAAAAAAAAAAAAAAAAAAAAAAAAAQJwAAAAAAAAkAAADKCgAAygoAAK38AAC1A79fLqnPEY7jAMAMIFNlqxAAAAAAAAAR0tOruqnPEY7mAMAMIFNlBgB9EAAAqUZDfODv/EuyKTk+3kFchSEAAAAAAAAAAQAGZABlAAAAy6XmFHLGMkODmalpUgZbWlgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAj6AAAQJwAAAAAAAAj6AAAQJwAAAAAAAKsKAAAAAAAAAQAAAAAAAAAAAAAAAAAAAF2L8SaERexHn18OZR8EUskaAAAAAAAAAAIB6sv4xa9bd0iEZ6qMRPpMynoAAAAAAAAAAgAAAAEADAACAAIAAABJAHMAVgBCAFIAAAAAAAAAAQA0AAAABgAAAEQAZQB2AGkAYwBlAEMAbwBuAGYAbwByAG0AYQBuAGMAZQBUAGUAbQBwAGwAYQB0AGUAAABMADIAAAB01AYY38oJRaS6mqvLlqrocA8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2. Schritt
Code
Alles anzeigenAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkQfct7epzxGO5gDADCBTZXIAAAAAAAAAQJ5p+E1bzxGo/QCAX1xEK1DNw7+PYc8Ri7IAqgC04iAAAAAAAAAAABwAAAAIAAAAAQAAYs5sYQECAIC7AABBHwAAqwoQAAoAAIgAAA8AAAAAAAGrCqsKAQAAQKTQ0gfj0hGX8ACgyV6oUKgAAAAAAAAAAwAcAFcATQBGAFMARABLAFYAZQByAHMAaQBvAG4AAAAAACAAMQAyAC4AMAAuADcANgAwADEALgAxADcANQAxADQAAAAaAFcATQBGAFMARABLAE4AZQBlAGQAZQBkAAAAAAAWADAALgAwAC4AMAAuADAAMAAwADAAAAAMAEkAcwBWAEIAUgAAAAIABAAAAAAAQFLRhh0x0BGjpACgyQNI9q4AAAAAAAAAQVLRhh0x0BGjpACgyQNI9gEAAAACABgAVwBpAG4AZABvAHcAcwAgAE0AZQBkAGkAYQAgAEEAdQBkAGkAbwAgADkALgAyAAAAJAAgADYANAAgAGsAYgBwAHMALAAgADQAOAAgAGsASAB6ACwAIABzAHQAZQByAGUAbwAgADEALQBwAGEAcwBzACAAQwBCAFIAAAACAGEBNiaydY5mzxGm2QCqAGLObDIAAAAAAAAAsv0SZRRE90WEeqX/JJNFDgAAAAAAAAAAAQE= m=audio 0 RTP/AVP 96 b=AS:65 b=X-AV:65 b=RS:0 b=RR:0 a=rtpmap:96 x-asf-pf/1000 a=control:audio a=stream:1 m=application 0 RTP/AVP 96 b=RS:0 b=RR:0 a=rtpmap:96 x-wms-rtx/1000 a=control:rtx a=stream:65536
3. Schritt
CodeRTSP/1.0 200 OK Transport: RTP/AVP/TCP;unicast;interleaved=0-1;ssrc=a1dab41b;mode=PLAY Date: Sat, 14 Apr 2012 22:42:55 GMT CSeq: 2 Session: 13484517198031398105;timeout=60 Server: WMServer/9.5.6001.18223 Supported: com.microsoft.wm.srvppair, com.microsoft.wm.sswitch, com.microsoft.wm.eosmsg, com.microsoft.wm.fastcache, com.microsoft.wm.packetpairssrc, com.microsoft.wm.startupprofile Last-Modified: Sat, 30 Dec 1899 00:00:00 GMT Cache-Control: x-wms-event-subscription="remote-log", x-wms-stream-type="broadcast", no-cache, no-user-cache, private
4. Schritt
CodeRTSP/1.0 454 Session Not Found Date: Sat, 14 Apr 2012 22:42:55 GMT CSeq: 3 Session: 13484517198031398105;timeout=60 Server: WMServer/9.5.6001.18223 Supported: com.microsoft.wm.srvppair, com.microsoft.wm.sswitch, com.microsoft.wm.eosmsg, com.microsoft.wm.fastcache, com.microsoft.wm.packetpairssrc, com.microsoft.wm.startupprofile
Was ich nicht verstehe ist, warum der bei Schritt 4 mir "RTSP/1.0 454 Session Not Found" liefert..
Theoretisch gesehen, müsste das so funktionieren:Spoiler anzeigen
Code
Alles anzeigenC: SETUP movie.Mjpeg RTSP/1.0 C: CSeq: 1 C: Transport: RTP/UDP; client_port= 25000 S: RTSP/1.0 200 OK S: CSeq: 1 S: Session: 123456 C: PLAY movie.Mjpeg RTSP/1.0 C: CSeq: 2 C: Session: 123456 S: RTSP/1.0 200 OK S: CSeq: 2 S: Session: 123456 C: PAUSE movie.Mjpeg RTSP/1.0 C: CSeq: 3 C: Session: 123456 S: RTSP/1.0 200 OK S: CSeq: 3 S: Session: 123456 C: PLAY movie.Mjpeg RTSP/1.0 C: CSeq: 4 C: Session: 123456 S: RTSP/1.0 200 OK S: CSeq: 4 S: Session: 123456 C: TEARDOWN movie.Mjpeg RTSP/1.0 C: CSeq: 5 C: Session: 123456 S: RTSP/1.0 200 OK S: CSeq: 5 S: Session: 123456
Wenn man an den Server Play sendet müsste er doch normalerweise den Stream Packetweise senden. Warum macht der das nicht, wenn ich schon einen PLAY-Request sende?
Ist zwar sehr kompliziert, aber vielleicht hat jemand schon damit Erfahrungen gemacht und kann mir helfen. Für Tipps oder Hinweise bin ich ebenfalls dankbar.
Hoffentlich wird das mit der UDF nicht allzu kompliziert *gg* -
Ich würde spontan sagen: Das liegt bestimmt daran, dass die Datei "test.zip" in einem Ordner gespeichert werden muss.
[autoit]_FTP_ProgressUpload($connect, 'C:\test.zip', 'www\test.zip')
[/autoit]Webspace von vielen Anbietern haben einen übergeordneten Verzeichnis wie "www" order "ww2".
-
Hi, ist dir ja ganz gut gelungen. Ist ganz übersichtlich. Ich bin mir nicht sicher, aber Basen ab 16 sind glaub ich nicht mehr möglich. 2-16 schon, aber was alles >16 ist, ist ungenau und lässt sich nicht zurück umwandeln. Kann aber sein, dass ich mich irre..
Ich hatte sowas auch mal vor langer langer Zeit gemacht