1. Dashboard
  2. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team
    4. Mitgliedersuche
  3. Forenregeln
  4. Forum
    1. Unerledigte Themen
  • Anmelden
  • Registrieren
  • Suche
Alles
  • Alles
  • Artikel
  • Seiten
  • Forum
  • Erweiterte Suche
  1. AutoIt.de - Das deutschsprachige Forum.
  2. Mitglieder
  3. andygo

Beiträge von andygo

  • Receiver Streamingtool - kompatibel zu Dreamboxen (enigma2) und D-Boxen (neutrino mit yWeb)

    • andygo
    • 17. Dezember 2011 um 12:35

    UPDATE 08.01.2012:
    * getestet mit: Windows7 (x64) und Vista (x32)
    * getestet mit: Dreambox 500-S (enigma1 - gemini0470)
    * getestet mit: Dreambox 500-Plus und 600-PVR (enigma2 - PCD 6.2)
    * getestet mit: D-Box (neutrino mit yWeb)
    * optional wählbar bei Programmstart: VLC-Konsole mit Debuginfos

    für die debug-funktion wird das eigentliche script (atv_intern01.2012) von einer art loader (atv_extern01.2012) gestartet, um die
    error-konsole auslesen zu können.
    ---------------------
    Moin moin,

    hier ist mein Werk der letzten Woche: Ein Streamingtool für den PC, welches LAN-Receiver mit
    WebIF-Befehlen steuert, Programm- und Senderlisten ausliest und mittels VLC-Plugin den Videostream abspielt.
    Zum laufenden Programm werden dann noch Sendungsinfos angezeigt.

    Viel Spaß beim Ausprobieren :)

    [Blockierte Grafik: http://h4w.de/1112/U0d.jpg]

    Dateien

    streamtool-fileincludes.rar 213,69 kB – 567 Downloads UnixTime.au3 8,26 kB – 522 Downloads atv_intern01.2012.au3 28,28 kB – 450 Downloads atv_extern01.2012.au3 2,19 kB – 526 Downloads
  • VLC integrieren, aber wie?

    • andygo
    • 16. Dezember 2011 um 16:28

    sooo, ich habe das script nochmal etwas verfeinert. etwas code-optimierung und gui-facelift
    (grafische bedienelemente gefallen mir irgendwie besser als textbuttons)

    [Blockierte Grafik: http://h4w.de/1112/NJ5.jpg]


    ich versuche aktuell noch den wechsel zw. radio und tv auf der dreamb. hinzubekommen.

  • VLC integrieren, aber wie?

    • andygo
    • 15. Dezember 2011 um 10:32

    hm ok, aber da das manuelle einfügen der adresse in den vlc-player auch nicht klappt muss es am vlc liegen.

    bin jetzt leider bis heute abend weg, aber vielleicht haste ja bis dahin ne lösung. würde mich auch interessieren.

  • VLC integrieren, aber wie?

    • andygo
    • 15. Dezember 2011 um 10:09
    Zitat von oh-ha

    Habe mal auf die Version vlc-1.0.5 gewechselt. War mit dem VLC ja immer etwas schwierig was die Versionen angeht.
    Das mit der Zeile 41 [$oAudio.volume = 5} geht damit sch mal.
    nur die Fehlermeldungen sind die gleichen.
    Auch wenn ich das im vlc eingebe bei (netzwerkstream öffnen) kommt diese Fehlermeldung.

    Code
    Ihre Eingabe konnte nicht geöffnet werden:
    VLC kann die MRL 'http://192.168.178.26:345569/0,71,8e,69 ' nicht öffnen. Sehen Sie für Details im Fehlerprotokoll nach.


    Fehlerprotokoll steht nichts drin.


    mfg
    oh-ha

    Alles anzeigen

    ich denk ich habe den fehler gefunden, sowohl was die audio-meldung angeht alsauch das er den stream bei dir nicht öffnen kann.
    aktualisiertes script im anhang. das sollte dann laufen.

  • SciTE output-konsole in $variable speichern?

    • andygo
    • 15. Dezember 2011 um 08:50
    Zitat von Kizum

    Nachdem was in der Hilfe steht müsstest du das Script Kompilieren und mit

    [autoit]

    ConsoleRead

    [/autoit]

    in einer Schleife an die Erzeugnisse kommen.

    Bei mir stürzt leider die Autoit.exe ab wenn ich dein Script teste... :huh:
    Hat wohl irgendwas mit Curl.exe zu tun.

    moin moin,

    kannst ja einfach in meinem script das curl-include und das ganze zeug aus der While 1 schleife mal auskommentieren (ausser sleep20 ).
    dann fehlt dir zwar die live-info [Blockierte Grafik: http://h4w.de/1112/Ju5.jpg]aber ansonsten sollte das script dann laufen (korrekte vlc-installation vorausgesetzt)

  • VLC integrieren, aber wie?

    • andygo
    • 15. Dezember 2011 um 08:19
    Zitat von oh-ha

    Jepp geht bekomme Antwort

    Eingabe

    Code
    http://192.168.178.26/web/getpid


    Moin, mach diese Abfrage nochmal mit der Box
    Und füge die antwortzeile mal manuell in dein
    Vlc Player ein (netzwerkstream öffnen).
    Was passiert dann?

    noch etwas: ich habe die VLC-Version 1.0.5 installiert, evtl. liegt es auch daran?

    [autoit]


    http://download.videolan.org/pub/videolan/v…1.0.5-win32.exe

    [/autoit]
  • SciTE output-konsole in $variable speichern?

    • andygo
    • 15. Dezember 2011 um 01:32

    Hallo,

    schaut mal bitte hier:
    [Blockierte Grafik: http://h4w.de/1112/GUR.jpg]

    Das VLC-plugin erzeugt ja in der Konsole gewisse zeilen.
    werden diese ausgaben (wohin auch immer) auch im compilierten zustand erzeugt und
    wie komme ich da dran? Würde das zeugs gerne in ne variable speichern und dann weiterverarbeiten.

  • VLC integrieren, aber wie?

    • andygo
    • 14. Dezember 2011 um 22:38

    so, für heute erstmal genug gescriptet. das teil läuft nun soweit:

    [Blockierte Grafik: http://h4w.de/1112/yDR.jpg]

    Spoiler anzeigen
    [autoit]


    ;#RequireAdmin
    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>
    #include <String.au3>
    #include <Array.au3>
    #include <INet.au3>
    #include <ComboConstants.au3>
    #include <Constants.au3>
    #include <Timers.au3>
    #include <ProgressConstants.au3>
    #include <StaticConstants.au3>
    Opt("GuiOnEventMode", 1)
    global $text, $services, $ii, $array2[2], $count2, $chars, $info, $pm, $oVLC, $oPlaylist, $oAudio, $vp, $oVLC
    $gui = GUICreate("E2C", 512, 363)

    [/autoit] [autoit][/autoit] [autoit]

    $oVLC = ObjCreate("VideoLAN.VLCPlugin.2")
    $oPlaylist = $oVLC.playlist
    $oAudio = $oVLC.audio
    GUICtrlCreateObj($oVLC, 0, 0, 512, 288)

    [/autoit] [autoit][/autoit] [autoit]

    $bouquets = GUICtrlCreateCombo("Senderlisten", 287, 291, 220, 20, $CBS_DROPDOWNLIST+$WS_VSCROLL)
    GUICtrlSetOnEvent(-1, "_bouquet")
    $services = GUICtrlCreateCombo("Sender", 287, 316, 220, 20, $CBS_DROPDOWNLIST+$WS_VSCROLL)
    $eb = GUICtrlCreateButton ("EPG", 4, 340, 50, 20)
    GUICtrlSetState (-1, $GUI_DISABLE)
    GUICtrlSetOnEvent(-1, "_epg")
    $rezap = GUICtrlCreateButton ("reZAP", 58, 340, 50, 20)
    GUICtrlSetState (-1, $GUI_DISABLE)
    GUICtrlSetOnEvent(-1, "_zap")
    GUICtrlSetTip(-1, "entspricht der Kombination stop / start, falls das Bild nach Senderwechsel schwarz bleibt.")
    $play = GUICtrlCreateButton ("play", 112, 340, 50, 20)
    GUICtrlSetState (-1, $GUI_DISABLE)
    GUICtrlSetOnEvent(-1, "_play")
    $stop = GUICtrlCreateButton ("stop", 166, 340, 50, 20)
    GUICtrlSetState (-1, $GUI_DISABLE)
    GUICtrlSetOnEvent(-1, "_stop")
    $mute = GUICtrlCreateButton ("mute", 220, 340, 50, 20)
    GUICtrlSetOnEvent(-1, "_mute")
    $volume = GUICtrlCreateSlider(282, 340, 180, 20)
    GUICtrlSetLimit(-1, 100, 0);geht für vlc bis 200%
    GUICtrlSetOnEvent(-1, "_volume")
    $vmax = GUICtrlCreateCombo(20, 465, 340, 42, 20, $CBS_DROPDOWNLIST+$WS_VSCROLL)
    GUICtrlSetData(-1, "40|60|80|100|150|200", 100)
    GUICtrlSetOnEvent(-1, "_vmax")
    GUICtrlSetTip(-1, "riegelt den Audioslider nach oben ab (in %)")
    DllCall('uxtheme.dll', 'none', 'SetThemeAppProperties', 'int', 0) ; Classic-Style
    $pm = GUICtrlCreateProgress(4, 291, 280, 12, $PBS_SMOOTH)
    GUICtrlSetColor(-1, 0x309eee); not working with Windows XP Style
    GUICtrlSetbkColor(-1,0xaeb5be)
    DllCall('uxtheme.dll', 'none', 'SetThemeAppProperties', 'int', 7) ; Standard-Windows-Style
    $a1 = GUICtrlCreateLabel("", 4, 305, 225, 15)
    $a2 = GUICtrlCreateLabel("", 233, 305, 50, 15, $SS_RIGHT)
    $b1 = GUICtrlCreateLabel("", 4, 323, 225, 15)
    $b2 = GUICtrlCreateLabel("", 233, 323, 50, 15, $SS_RIGHT)
    GUISetOnEvent($GUI_EVENT_CLOSE, "_Quit")
    $ip = InputBox("Dreambox", "IP der Box", "192.168.", "", 256, 144)
    if StringInStr (_INetGetSource ( "http://"&$ip&"/web/getpid" ), $ip) then
    FileInstall("curl.exe", @TempDir & "\"&$ip&"curl.exe", 1)
    FileInstall("bg.jpg", @TempDir & "\bg.jpg", 1)
    WinSetTitle($gui, "", $ip)
    $text = StringReplace(_INetGetSource ( "http://"&$ip&"/web/getservices" ), "<e2", @CRLF&"<e2")
    $text = StringReplace($text, "</e2servicereference>", "")
    $text = StringReplace($text, "</e2servicename>", "")
    $text = StringReplace($text, "</e2service>", "")
    $text = StringReplace($text, "<e2service>", "")
    $text = StringReplace($text, "</e2servicelist>", "")
    $text = StringTrimLeft($text, StringInStr($text, "<e2servicereference>")-1)
    $text = StringReplace($text, @CRLF, "")
    $array1 = _StringExplode($text, "<e2servicereference>", 0)
    $message = ""
    $count = _ArrayUnique($array1)
    for $i = 0 to $count[0]-1
    if StringLen($array1[$i]) > 5 then $message &= StringTrimLeft($array1[$i],StringInStr($array1[$i],"<e2servicename>")+14)&"|"
    next
    $message = StringToBinary($message)
    $message = BinaryToString($message, 4)
    $message = StringReplace($message, "&lt;", "<")
    $message = StringReplace($message, "&gt;", ">")
    GUICtrlSetData($bouquets, $message, "Senderlisten")
    ;$vlc = @ProgramFilesDir&"\videolan\vlc\vlc.exe"
    ;if FileExists($vlc) = 0 then $vlc = FileOpenDialog("VLC Player...", @ProgramFilesDir, "VLC (vlc.exe)", 1 + 2)
    ;if FileExists($vlc) = 0 then exit MsgBox(16, "Info", "VLC Player nicht gefunden.")
    GUISetState()
    Else
    exit MsgBox(16, "Info", "Connect zur Box fehlgeschlagen.")
    endif
    $t = _Timer_Init()
    $oPlaylist.add("file:///"&@TempDir & "\bg.jpg")
    $oPlaylist.playitem(0);$oPlaylist.play
    $oAudio.volume = 5
    GUICtrlSetData($volume, $oAudio.volume)
    while 1
    sleep(20)
    if _Timer_Diff($t) > 5000 then
    $t = _Timer_Init()
    ProcessClose($ip&"curl.exe")
    ProcessWaitClose($ip&"curl.exe")
    FileDelete(@TempDir & "\"&$ip&".txt")
    Run(FileGetShortName(@TempDir) & "\"&$ip&"curl.exe " & '-o '&$ip&'.txt --url "http://'&$ip&'/web/updates.html"', FileGetShortName(@TempDir) & "\", @SW_HIDE, $STDERR_CHILD)
    While StringLen(FileRead(@TempDir & "\"&$ip&".txt")) < 3
    sleep(200)
    wend
    ProcessClose($ip&"curl.exe")
    ProcessWaitClose($ip&"curl.exe")
    $file = FileOpen ( @TempDir & "\"&$ip&".txt", 128 )
    $chars = FileRead($file)
    FileClose($file)
    $chars = StringLeft($chars,StringInStr($chars, "Event_Next_Extended_Description")-30)
    $chars = StringReplace($chars, "<script>parent.set(""", "")
    $CurrentTime = StringMid($chars, StringInStr($chars, """, """)+4, StringInStr($chars, """)")-StringInStr($chars, """, """)-4)
    $chars = StringTrimLeft($chars, StringInStr($chars, "</script>")+8)
    $CurrentService = StringMid($chars, StringInStr($chars, """, """)+4, StringInStr($chars, """)")-StringInStr($chars, """, """)-4)
    $chars = StringTrimLeft($chars, StringInStr($chars, "</script>")+8)
    $Event_Now_Name = StringMid($chars, StringInStr($chars, """, """)+4, StringInStr($chars, """)")-StringInStr($chars, """, """)-4)
    $chars = StringTrimLeft($chars, StringInStr($chars, "</script>")+8)
    $Event_Now_Extended_Description = StringMid($chars, StringInStr($chars, """, """)+4, StringInStr($chars, """)")-StringInStr($chars, """, """)-4)
    $Event_Now_Extended_Description = StringReplace($Event_Now_Extended_Description, "\""", """")
    $chars = StringTrimLeft($chars, StringInStr($chars, "</script>")+8)
    $Event_Now_Begin = StringMid($chars, StringInStr($chars, """, """)+4, StringInStr($chars, """)")-StringInStr($chars, """, """)-4)
    $chars = StringTrimLeft($chars, StringInStr($chars, "</script>")+8)
    $Event_Now_Remaining = StringMid($chars, StringInStr($chars, """, """)+4, StringInStr($chars, """)")-StringInStr($chars, """, """)-4)
    $chars = StringTrimLeft($chars, StringInStr($chars, "</script>")+8)
    $Event_Next_Name = StringMid($chars, StringInStr($chars, """, """)+4, StringInStr($chars, """)")-StringInStr($chars, """, """)-4)
    $chars = StringTrimLeft($chars, StringInStr($chars, "</script>")+8)
    $Event_Next_Begin = StringMid($chars, StringInStr($chars, """, """)+4, StringInStr($chars, """)")-StringInStr($chars, """, """)-4)
    $chars = StringTrimLeft($chars, StringInStr($chars, "</script>")+8)
    $Event_Next_Remaining = StringMid($chars, StringInStr($chars, """, """)+4, StringInStr($chars, """)")-StringInStr($chars, """, """)-4)
    if int(StringLeft($Event_Next_Begin,2)) > int(StringLeft($Event_Now_Begin,2)) then
    $duration = 60 * (int(StringLeft($Event_Next_Begin,2)) - int(StringLeft($Event_Now_Begin,2)))
    $duration -= int(Stringright($Event_Now_Begin,2))
    $duration += int(Stringright($Event_Next_Begin,2))
    elseif int(StringLeft($Event_Next_Begin,2)) = int(StringLeft($Event_Now_Begin,2)) then
    $duration = int(Stringright($Event_Next_Begin,2)) - int(Stringright($Event_Now_Begin,2))
    else;über mitternacht
    $duration = 60 * (24 - int(StringLeft($Event_Next_Begin,2)) - int(StringLeft($Event_Now_Begin,2)))
    $duration -= int(Stringright($Event_Now_Begin,2))
    $duration += int(Stringright($Event_Next_Begin,2))
    endif
    if StringInStr(GUICtrlRead ($services), $CurrentService) then
    if guictrlread($a1) <> $Event_Now_Begin&" "&$Event_Now_Name then GUICtrlSetData($a1, $Event_Now_Begin&" "&$Event_Now_Name)
    if guictrlread($a2) <> $Event_Now_Remaining then
    GUICtrlSetData($a2, $Event_Now_Remaining)
    GUICtrlSetData($pm, int($Event_Now_Remaining)/($duration/100))
    endif
    if guictrlread($b1) <> $Event_Next_Begin&" "&$Event_Next_Name then GUICtrlSetData($b1, $Event_Next_Begin&" "&$Event_Next_Name)
    if guictrlread($b2) <> $Event_Next_Remaining then GUICtrlSetData($b2, $Event_Next_Remaining)
    GUICtrlSetState ($eb, $GUI_ENABLE)
    Else
    GUICtrlSetData($a1, "")
    GUICtrlSetData($a2, "")
    GUICtrlSetData($b1, "")
    GUICtrlSetData($b2, "")
    GUICtrlSetState ($eb, $GUI_DISABLE)
    GUICtrlSetData($pm, 0)
    endif
    endif
    wend
    func _quit()
    ProcessClose($ip&"curl.exe")
    Exit
    endfunc
    func _bouquet()
    for $i = 0 to $count[0]-1
    GUICtrlDelete($services)
    $message = StringToBinary($array1[$i])
    $message = BinaryToString($message, 4)
    $message = StringReplace($message, "&lt;", "<")
    $message = StringReplace($message, "&gt;", ">")
    if StringInStr($message, GUICtrlRead ($bouquets)) then
    $services = GUICtrlCreateCombo("Sender", 287, 316, 220, 20, $CBS_DROPDOWNLIST+$WS_VSCROLL)
    GUICtrlSetOnEvent(-1, "_zap")
    $text = StringReplace(_INetGetSource ( "http://"&$ip&"/web/getservices?sRef="&Stringleft($array1[$i], StringInStr($array1[$i], "<e2servicename>")-1) ), "<e2", @CRLF&"<e2")
    $text = StringReplace($text, "</e2servicereference>", "")
    $text = StringReplace($text, "</e2servicename>", "")
    $text = StringReplace($text, "</e2service>", "")
    $text = StringReplace($text, "<e2service>", "")
    $text = StringReplace($text, "</e2servicelist>", "")
    $text = StringTrimLeft($text, StringInStr($text, "<e2servicereference>")-1)
    $text = StringReplace($text, @CRLF, "")
    $array2 = _StringExplode($text, "<e2servicereference>", 0)
    $message = ""
    $count2 = _ArrayUnique($array2)
    for $ii = 0 to $count2[0]-1
    if StringLen($array2[$ii]) > 5 then $message &= StringTrimLeft($array2[$ii],StringInStr($array2[$ii],"<e2servicename>")+14)&"|"
    next
    $message = StringToBinary($message)
    $message = BinaryToString($message, 4)
    $message = StringReplace($message, "&lt;", "<")
    $message = StringReplace($message, "&gt;", ">")
    GUICtrlSetData($services, $message, "Sender")
    ExitLoop
    endif
    next
    endfunc
    func _zap()
    GUICtrlSetData($a1, "")
    GUICtrlSetData($a2, "")
    GUICtrlSetData($b1, "")
    GUICtrlSetData($b2, "")
    GUICtrlSetState ($eb, $GUI_DISABLE)
    GUICtrlSetData($pm, 0)
    GUICtrlSetState ($rezap, $GUI_DISABLE)
    GUICtrlSetState ($play, $GUI_DISABLE)
    GUICtrlSetState ($stop, $GUI_DISABLE)
    $oPlaylist.stop;if $oPlaylist.itemCount > 0 and $oPlaylist.isPlaying then $oPlaylist.stop
    $oPlaylist.clear
    for $ii = 0 to $count2[0]-1
    ;FileDelete(@TempDir&"\vlc.m3u")
    $message = StringToBinary($array2[$ii])
    $message = BinaryToString($message, 4)
    $message = StringReplace($message, "&lt;", "<")
    $message = StringReplace($message, "&gt;", ">")
    if StringInStr($message, GUICtrlRead ($services)) then
    global $info = $array2[$ii]
    _INetGetSource ( "http://"&$ip&"/web/zap?sRef="&Stringleft($array2[$ii], StringInStr($array2[$ii], "<e2servicename>")-1) )
    sleep(2000);warten das die box umschalten kann
    $vp = "";reset
    $vp =_INetGetSource("http://"&$ip&"/web/getpid")
    $ii = 0
    while StringInStr($vp, "-")
    $ii += 1
    $vp =_INetGetSource("http://"&$ip&"/web/getpid")
    sleep (100)
    if $ii > 100 then ExitLoop
    wend
    if StringInStr ($vp, $ip) = 0 then
    MsgBox(16, "Info", "Connect zur Box fehlgeschlagen.")
    Else
    ;$file = fileOpen(@TempDir&"\vlc.m3u", 2)
    ;FileWrite($file, StringReplace($vp, @CRLF, ""))
    ;FileClose($file)
    ;sleep(1000)
    ;run($vlc&" "&@TempDir&"\vlc.m3u", StringTrimRight($vlc, 7))
    $vp = StringTrimLeft($vp, 1)
    $vp = StringTrimright($vp, 1)
    $vp = StringReplace($vp, " ", "")
    $oPlaylist.add($vp)
    $oPlaylist.playitem(0);$oPlaylist.play
    GUICtrlSetState ($rezap, $GUI_ENABLE)
    GUICtrlSetState ($stop, $GUI_ENABLE)
    endif
    ExitLoop
    endif
    next
    endfunc
    func _epg()
    MsgBox(64, "EPG", $Event_Now_Extended_Description)
    endfunc
    func _play()
    $oPlaylist.stop
    ;$oPlaylist.clear
    ;$oPlaylist.add($vp)
    ;$oPlaylist.playitem(0)
    GUICtrlSetState ($play, $GUI_DISABLE)
    GUICtrlSetState ($stop, $GUI_ENABLE)
    endfunc
    func _stop()
    $oPlaylist.stop
    ;$oPlaylist.clear
    ;$oPlaylist.add("file:///"&@TempDir & "\bg.jpg")
    ;$oPlaylist.playitem(0)
    GUICtrlSetState ($stop, $GUI_DISABLE)
    GUICtrlSetState ($play, $GUI_ENABLE)
    endfunc
    func _mute()
    $oAudio.toggleMute
    GUICtrlSetdata ($volume, $oAudio.volume)
    endfunc
    func _volume()
    $oAudio.volume = GUICtrlRead($volume)
    endfunc
    func _vmax()
    if GUICtrlRead($volume) > GUICtrlRead($vmax) then GUICtrlSetdata ($volume, GUICtrlRead($vmax))
    GUICtrlSetLimit($volume, GUICtrlRead($vmax), 0)
    $oAudio.volume = GUICtrlRead($volume)
    endfunc

    [/autoit] [autoit][/autoit] [autoit][/autoit]

    Es sind 2 fileincludes dabei, sind als Anhang am Posting.
    Die curl.exe (Autorenseite h**p://curl.haxx.se/) nutze ich im Script zum Abfragen der Senderinfos.
    Mit ieget hat das hier leider nicht geklappt...
    Schaut ruhig mal drüber, vielleicht habt ihr ja auch Ideen und / oder Verbesserungen zum Script.

    UPDATE: habe die datei-anhänge gelöscht und im script-thread ein posting erstellt.

  • VLC integrieren, aber wie?

    • andygo
    • 14. Dezember 2011 um 18:53
    Zitat von oh-ha

    Hallo,

    so weit ich es noch in Erinnerung habe kann man das doch auch direkt mit dem VLC abgreifen und schauen.
    Hatte es früher immer mit Jgrabber oder so ähnlich gemacht.
    Na egal, habe hier auch noch eine 800er rumstehen und hätte schon Interesse dran wie du es gelöst hast.


    mfg
    oh-ha


    hallo,

    gib mal in den browser die IP deiner 800er box ein, gefolgt von /web/getpid.
    also zusammengesetzt sowas wie http://192.168.0.0/web/getpid

    die angezeigte "internetseite" sollte nun aus einer zeile bestehen.
    wenn das der fall ist, dann wäre mein script kompatibel.

  • VLC integrieren, aber wie?

    • andygo
    • 14. Dezember 2011 um 17:48

    yes!!! die UDF funzt!!! erster test:

    [Blockierte Grafik: http://h4w.de/1112/BFI.jpg]

    jetzt noch volume usw,,, aber das wird! besten dank nochmal!!!
    wenn das script fertig ist und läuft kann ich den code gerne hier posten, vllt gibts ja hier noch n paar dreamboxen.

    Dietmar: Der Stream kommt "live" von der im Netzwerk-angeschlossenen Dreambox und wird momentan mit dem regulären VLC abgespielt.
    Also kein VDR in Benutzung. Hoffe, ich habe die Frage nun richtig verstanden und beantwortet?

  • VLC integrieren, aber wie?

    • andygo
    • 14. Dezember 2011 um 16:46

    @Protex: ah, cool. Die UDF schau ich mir mal an, sieht brauchbar aus.

    Dietmar: ich schicke ne anfrage per http 'http://DB_IP/web/getpid' und die antwort ist dann
    ein string den ich direkt in vlc verwenden kann: 'http://DB_IP:31339/0,61,1ff,200 '

    ok dann bastel ich da mal weiter. ps: unkenntlich machen der lokalen ip hätte ich mir auch schenken können, stimmt wohl :)

  • VLC integrieren, aber wie?

    • andygo
    • 14. Dezember 2011 um 15:02

    Hallo,

    über die SuFu habe ich nichts entsprechendes gefunden, daher nun doch mal eine Anfrage:
    Ich würde gerne den VLC-Player bzw. dessen API/dll in ein autoitscript integrieren, um quasi n videofenster in der eigenen gui zu haben.

    Der genaue Verwendungszweck ist, das ich meine Dreambox damit ansteuern will. Von der Funktion her eigentlich genau das selbe wie DreamStream.
    Da dieses teil für meine Boxen nicht kompatibel ist (e1 boxen mit e2 images), habe ich mich die letzten Tage mal drangesetzt sowas selbst zu scripten.

    Das klappt nun auch soweit ich es haben will, bis halt auf das nicht integrierde Video. Hier steuere ich zur zeit einfach den auf dem PC installierten VLC an.

    [Blockierte Grafik: http://h4w.de/1112/wPX.jpg]

    Vielleicht gabs/gibt es ja hier sowas oder jemand hat ne idee dazu?

  • Screenshot erstellen

    • andygo
    • 23. August 2011 um 21:33
    Zitat von UEZ

    andygo: das ist nicht das gleiche Freihandmarkieren! ;)

    Gruß,
    UEZ

    isses auch nicht, aber es ist ein freihandmarkieren :)

  • Screenshot erstellen

    • andygo
    • 23. August 2011 um 18:07
    Zitat von UEZ

    Schaue mal hier rein: AutoIt Windows Screenshooter v1.29 Build 2011-08-16 Final

    Ich benutze keinerlei DLLs!

    Wenn ich Zeit finde, werde ich noch das Freihand Markieren des Desktop Bereiches implementieren.

    Gruß,
    UEZ

    Hallo,

    zum Freihandmarkieren kannst Du evtl. das hier gebrauchen:

    [autoit]


    #include <WindowsConstants.au3>
    #include <Timers.au3>
    #Include <Misc.au3>
    #Include <ScreenCapture.au3>

    [/autoit][autoit][/autoit][autoit]

    global $s_left = 0, $s_top = 0, $s_width = 0, $s_height = 0, $s_right = 0, $s_down = 0
    func area()
    $GUI_2 = GUICreate("", 1, 1, -1, -1, 0x80000000 + 0x00800000, 0x00000008)
    GUISetBkColor(0x0c6eec)
    WinSetTrans($GUI_2, "", 130)
    local $s_left = 0, $s_top = 0, $s_width = 0, $s_height = 0, $s_right = 0, $s_down = 0, $mgp[2]
    $mpos = MouseGetPos()
    Local $hGUI_Cross = GUICreate("", 30, 30, $mpos[0], $mpos[1], $WS_POPUP, $WS_DISABLED + $WS_EX_TOOLWINDOW + $WS_EX_TOPMOST)
    GUISetState(@SW_SHOW, $hGUI_Cross)
    WinSetTrans($hGUI_Cross, "", 1)
    GUISetCursor(3)
    $i = _Timer_Init()
    While Not _IsPressed(01)
    $mgp = MouseGetPos()
    WinMove($hGUI_Cross, "", $mgp[0] - 15, $mgp[1] - 15)
    Sleep(20)
    WEnd
    WinMove($GUI_2, "", $mgp[0], $mgp[1], 1, 1)
    GUISetState(@SW_SHOW, $GUI_2)
    if _IsPressed(01) then
    While _IsPressed(01)
    $mgp_2 = MouseGetPos()
    If $mgp_2[0] > $mgp[0] And $mgp_2[1] > $mgp[1] Then
    local $s_left = $mgp[0], $s_top = $mgp[1], $s_width = $mgp_2[0] - $mgp[0], $s_height = $mgp_2[1] - $mgp[1], $s_right = $mgp_2[0], $s_down = $mgp_2[1]
    ElseIf $mgp_2[0] > $mgp[0] And $mgp_2[1] < $mgp[1] Then
    Local $s_left = $mgp[0], $s_top = $mgp_2[1], $s_width = $mgp_2[0] - $mgp[0], $s_height = $mgp[1] - $mgp_2[1], $s_right = $mgp_2[0], $s_down = $mgp[1]
    ElseIf $mgp_2[0] < $mgp[0] And $mgp_2[1] > $mgp[1] Then
    Local $s_left = $mgp_2[0], $s_top = $mgp[1], $s_width = $mgp[0] - $mgp_2[0], $s_height = $mgp_2[1] - $mgp[1], $s_right = $mgp[0], $s_down = $mgp_2[1]
    ElseIf $mgp_2[0] < $mgp[0] And $mgp_2[1] < $mgp[1] Then
    Local $s_left = $mgp_2[0], $s_top = $mgp_2[1], $s_width = $mgp[0] - $mgp_2[0], $s_height = $mgp[1] - $mgp_2[1], $s_right = $mgp[0], $s_down = $mgp[1]
    EndIf
    WinMove($GUI_2, "", $s_left, $s_top, $s_width, $s_height)
    ToolTip($s_width & "x" & $s_height)
    sleep(5)
    WEnd
    endif
    ToolTip("")
    GUIDelete($hGUI_Cross)
    GLOBAL $s_left = $s_left, $s_top = $s_top, $s_width = $s_width, $s_height = $s_height, $s_right = $s_right, $s_down = $s_down
    GUIDelete($GUI_2)
    EndFunc

    [/autoit][autoit][/autoit][autoit]

    area()
    $hBitmap = _ScreenCapture_Capture(@DesktopDir&"\test.jpg", $s_left, $s_top, $s_right, $s_down, false)

    [/autoit]

    Sonnige Grüße, Andy

  • ProgressBar stockt bei angeklicktem Fenster

    • andygo
    • 2. August 2011 um 21:09

    kleines beispiel, so sollte es gehen:

    [autoit]


    #include <Timers.au3>
    $maingui = GUICreate("test", 640, 480)
    GUISetState()
    ProgressOn("Progress Meter", "Increments every second", "0 percent")
    $i = 10
    _Timer_SetTimer($maingui,1000,"addup")
    while $i < 100
    sleep(20)
    Switch GUIGetMsg ()
    case -3
    Exit
    endswitch
    wend
    _Timer_KillAllTimers($maingui)
    ProgressSet(100 , "Done", "Complete")
    sleep(500)
    ProgressOff()

    [/autoit][autoit][/autoit][autoit]

    func addup($a, $b, $c, $d)
    if $i < 100 then $i += 10
    ProgressSet( $i, $i & " percent")
    endfunc

    [/autoit]
  • Verzweifle bald... Hilfe bei Webseiten Formular ausfüllen...

    • andygo
    • 30. Juli 2011 um 12:23

    würde da auch keine dokumente hochladen, die werden evtl. gespeichert und unautorisiert weiterverwendet....

    http://www.whois.net/whois/doc2pdf.net

  • exe in gui einbinden und übermalen

    • andygo
    • 30. Juli 2011 um 02:39

    sowas in der art habe ich auch mal gescripted:

    Spoiler anzeigen
    [autoit]


    ;if _Singleton("test",1) = 0 Then exit
    #RequireAdmin
    #include <StaticConstants.au3>
    #include <EditConstants.au3>
    #include <ComboConstants.au3>
    #include <GuiConstants.au3>
    #include <WindowsConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <ButtonConstants.au3>
    #include <IE.au3>
    #include <Timers.au3>
    #include <Process.au3>
    #Include <Misc.au3>
    #include <Constants.au3>
    #include <INet.au3>
    #Include <GuiButton.au3>
    #Include <Clipboard.au3>
    #Include <ScreenCapture.au3>
    #include <GDIPlus.au3>
    #include <file.au3>
    #include <unixtime.au3>
    Opt("GuiOnEventMode", 1)
    Opt("WinTitleMatchMode", 3)
    $maingui = GUICreate("Window Catch Vers.3", 300, 95, -1, -1)
    GUISetOnEvent($GUI_EVENT_CLOSE, "leave")
    GUISetState()
    $double = 0
    $go = ""
    $text = ""
    $wcnt = ""
    global $wcnt[1000]
    $t1 = GUICtrlCreateLabel("offset left", 10, 40, 50, 20)
    $slidx = GUICtrlCreateslider(65, 38, 170, 20)
    GUICtrlSetLimit(-1, 480, 0)
    $t2 = GUICtrlCreateLabel("offset top", 10, 70, 50, 20)
    $slidy = GUICtrlCreateslider(65, 68, 170, 20)
    GUICtrlSetLimit(-1, 640, 0)
    $go = GUICtrlCreateButton("catch", 240, 70, 50, 20)
    $go2 = GUICtrlCreateButton("reset", 240, 40, 50, 20)
    GUICtrlSetState($slidx, $GUI_DISABLE)
    GUICtrlSetState($slidy, $GUI_DISABLE)
    _relist()
    Opt("GUIOnEventMode", 0)
    global $active = 0, $x = 0, $y = 0, $text2, $hwnd
    while 1
    sleep(20)
    $mMsg = GUIGetMsg(1)
    Switch $mMsg[0]
    case $go2
    GUISwitch($maingui)
    GUICtrlDelete($text)
    _relist()
    case $go
    $text2 = GUICtrlRead($text)
    $old = WinGetPos($text2, "")
    $hwnd = WinGetHandle ($text2, "")
    $proc = WinGetProcess($text2, "")
    _catch()
    if $active = 1 then
    GUICtrlSetState($text, $GUI_DISABLE)
    GUICtrlSetState($go, $GUI_DISABLE)
    GUICtrlSetState($go2, $GUI_DISABLE)
    GUICtrlSetState($slidx, $GUI_enABLE)
    GUICtrlSetState($slidy, $GUI_enABLE)
    endif
    case $GUI_EVENT_CLOSE
    if $mMsg[1] = $maingui Then
    exit
    Else
    $active = 0
    GUIDelete($mMsg[1])
    GUISwitch($maingui)
    GUICtrlSetState($go, $GUI_enABLE)
    GUICtrlSetState($go2, $GUI_enABLE)
    GUICtrlSetState($slidx, $GUI_DISABLE)
    GUICtrlSetState($slidy, $GUI_DISABLE)
    GUICtrlDelete($text)
    _relist()
    endif
    EndSwitch
    $old = WinGetPos($hwnd, "")
    if $active = 1 and ProcessExists($proc) = 0 then
    $active = 0
    GUIDelete($wcnt[$double])
    GUISwitch($maingui)
    GUICtrlSetState($go, $GUI_enABLE)
    GUICtrlSetState($go2, $GUI_enABLE)
    GUICtrlSetState($slidx, $GUI_DISABLE)
    GUICtrlSetState($slidy, $GUI_DISABLE)
    GUICtrlDelete($text)
    _relist()
    endif
    while _IsPressed(01)
    if $active = 1 then
    if GUICtrlRead($slidx) <> $x then
    $x = GUICtrlRead($slidx)
    WinMove($hWnd, "", 0-$x, 0-$y, $old[2], $old[3])
    endif
    if GUICtrlRead($slidy) <> $y then
    $y = GUICtrlRead($slidy)
    WinMove($hWnd, "", 0-$x, 0-$y, $old[2], $old[3])
    endif
    sleep(20)
    endif
    wend
    wend

    [/autoit] [autoit][/autoit] [autoit]

    func _catch()
    If $hWnd <> 0 Then
    $x = GUICtrlRead($slidx)
    $y = GUICtrlRead($slidy)
    $double += 1
    $wcnt[$double] = GUICreate("", 536, 370, -1, -1,$WS_SIZEBOX )
    GUISetState()
    $nExStyle = DllCall("user32.dll", "int", "GetWindowLong", "hwnd", $hWnd, "int", -20)
    $nExStyle = $nExStyle[0]
    DllCall("user32.dll", "int", "SetWindowLong", "hwnd", $hWnd, "int", -20, "int", BitOr($nExStyle, $WS_EX_MDICHILD))
    DllCall("user32.dll", "int", "SetParent", "hwnd", $hWnd, "hwnd", $wcnt[$double]);$maingui)
    WinSetState($hWnd, "", @SW_SHOW)
    WinMove($hWnd, "", 0-$x, 0-$y, $old[2], $old[3])
    $active = 1
    Else
    msgbox(0,"","Fehler")
    EndIf
    GUISwitch($maingui)
    endfunc

    [/autoit] [autoit][/autoit] [autoit]

    Func IsVisible($handle)
    If BitAnd(WinGetState($handle), 2) Then
    Return 1
    Else
    Return 0
    EndIf
    EndFunc

    [/autoit] [autoit][/autoit] [autoit]

    Func leave()
    exit
    EndFunc

    [/autoit] [autoit][/autoit] [autoit]

    func _relist()
    $first = ""
    $hwnd = ""
    $var = WinList()
    For $i = 1 to $var[0][0]
    If WinGetProcess($var[$i][0]) <> @AutoItPID and $var[$i][0] <> "" AND IsVisible($var[$i][1]) and _ProcessGetName (WinGetProcess($var[$i][0])) <> "explorer.exe" and _ProcessGetName (WinGetProcess($var[$i][0])) <> "sidebar.exe" then;and StringInStr($double, _ProcessGetName (WinGetProcess($var[$i][0]))) = 0 Then
    if WinGetState ($var[$i][0]) = 7 or WinGetState ($var[$i][0]) = 23 or WinGetState ($var[$i][0]) = 39 then
    if $first = "" then
    $first = $var[$i][0]
    else
    $hwnd &= $var[$i][0] & "|"
    endif
    endif
    EndIf
    Next
    $text = GUICtrlCreateCombo($first, 10, 10, 280, 20, $CBS_DROPDOWNLIST)
    GUICtrlSetData(-1, $hwnd, $first)
    endfunc

    [/autoit]
  • Label mit Rand

    • andygo
    • 30. Juli 2011 um 02:33

    meinste vielleicht so was in der art?

    [autoit]


    #include <GDIPlus.au3>
    #include <winapi.au3>
    #include <windowsconstants.au3>
    Opt("GuiOnEventMode", 1)
    $tt = GUICreate("temptext", 200, 100, -1, -1, -1, $WS_EX_LAYERED)
    GUISetBkColor(0x010101)
    GUISetState()
    GUISetOnEvent(-3, "close")
    _WinAPI_SetLayeredWindowAttributes($tt, 0x010101, 255)
    _GDIPlus_Startup()
    $kPen = _GDIPlus_BrushCreateSolid(0xff000000)
    $bg = _GDIPlus_BrushCreateSolid(0xffffffff)
    $hFamily = _GDIPlus_FontFamilyCreate ("Arial")
    $hFont = _GDIPlus_FontCreate ($hFamily, 20, 0)
    $hFormat = _GDIPlus_StringFormatCreate ()
    _GDIPlus_StringFormatSetAlign($hFormat, 0)
    $tGraphic = _GDIPlus_GraphicsCreateFromHWND($tt)
    $ttLayout = _GDIPlus_RectFCreate (25, 30, 150, 30)
    _GDIPlus_GraphicsFillRect($tGraphic, 25, 30, 150, 30, $kPen)
    _GDIPlus_GraphicsDrawStringEx ($tGraphic, "Hallo Welt", $hFont, $ttLayout, $hFormat, $bg)
    Do
    sleep(20)
    until 0
    Func close()
    Exit
    EndFunc

    [/autoit]
  • bild in gui anzeigen und wechseln lassen

    • andygo
    • 20. April 2011 um 10:21

    hast du mal geschaut ob das bild auch wirklich wie angegeben gespeichert wird?

    für mich sieht es aus als fehlen da ein paar "\" backslashes in der pfadangabe...

  • _GDIPlus_GraphicsDrawPicSlider()

    • andygo
    • 20. März 2011 um 11:28
    Zitat von BadBunny

    So, hier die neue Version OHNE zerquetschen :D

    auch cool umgesetzt :thumbup:

Spenden

Jeder Euro hilft uns, Euch zu helfen.

Download

AutoIt Tutorial
AutoIt Buch
Onlinehilfe
AutoIt Entwickler
  1. Datenschutzerklärung
  2. Impressum
  3. Shoutbox-Archiv
Community-Software: WoltLab Suite™