Hallo zusammen,
jetzt hab ich mein kleines Programm endlich fertig und will euch dank der tatkräftigen Hilfe auch am Ergebnis teilhaben lassen. Dabei handelt es sich um ein Programm, das besonders für Video-Foren geplant ist. Man muss nur das Video per DragnDrop reinziehen und den Downloadlink angeben und schon, kann ein Forums-gerechter Code ausgegeben werden.
[Blockierte Grafik: http://i36.tinypic.com/2dcigkl.jpg]
Download (2,87 MB) (inkl. Source und Co.)
Für nähere Details könnt ihr ja noch den Code durchstöbern:
Spoiler anzeigen
#Region ;**** Directives created by AutoIt3Wrapper_GUI ****
#AutoIt3Wrapper_icon=Video.ico
#AutoIt3Wrapper_Compression=4
#AutoIt3Wrapper_UseAnsi=y
#EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
#cs ----------------------------------------------------------------------------
;AutoIt Version: 3.2.12.1
;Author: Taek
;Script Function: VideoPoster
#ce ----------------------------------------------------------------------------
#include <Array.au3>
#include <GUIConstants.au3>
#include <IE.au3>
#include <EditConstants.au3>
#include <WindowsConstants.au3>
GUICreate("Videoposter", 500, 300, Default, Default, -1, $WS_EX_ACCEPTFILES)
GUICtrlCreateLabel("File Input:", 5, 0, 50, 15)
$input = GUICtrlCreateInput("", 5, 15, 490, 20, $ES_READONLY)
GUICtrlSetState(-1, $GUI_DROPACCEPTED)
GUICtrlCreateLabel("Download Link Input:", 5, 35, 120, 15)
$dl_input = GUICtrlCreateInput("", 5, 50, 490, 20)
$button = GUICtrlCreateButton("Create Post", 5, 72, 120, 22)
$statuslabel = GUICtrlCreateLabel("", 260, 73, 200, 22)
GUICtrlCreateLabel("Post Output:", 5, 95, 80, 18)
$output = GUICtrlCreateInput("", 5, 110, 490, 185, $ES_MULTILINE)
GUISetState(@SW_SHOW)
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $button
_Create_Post(GUICtrlRead($input), GUICtrlRead($dl_input))
EndSwitch
WEnd
Func _Create_Post($path, $url)
If $path = "" Then
MsgBox(64, "Error", "No File entered.")
Else
If $url = "" Then
MsgBox(64, "Error", "No Download Link entered.")
Else
GUICtrlSetData($statuslabel, "Creating Pics...")
$split = StringSplit($path, "\")
Local $directory
For $z = 1 To UBound($split) - 2
$directory = $directory & $split[$z] & "\"
Next
$filename = $split[UBound($split) - 1]
;Gspot starten
$gspot = @ScriptDir & "\gspot\GSpot.exe"
ShellExecute($gspot, '"' & $path & '"')
Sleep(3000)
Do
$vid_length_read1 = ControlGetText("GSpot v2.70a", "", "[CLASS:Edit; INSTANCE:7]")
Sleep(500)
$vid_length_read2 = ControlGetText("GSpot v2.70a", "", "[CLASS:Edit; INSTANCE:7]")
Until StringCompare($vid_length_read1, $vid_length_read2) = 0
;Videoname
$video_name = StringTrimRight($filename, 4)
;Videogröße
$vid_size_read = ControlGetText("GSpot v2.70a", "", "[CLASS:Edit; INSTANCE:2]")
$splitsize1 = StringSplit($vid_size_read, "/")
$splitsize2 = $splitsize1[UBound($splitsize1) - 1]
$splitsize3 = StringReplace($splitsize2, ",", "")
$splitsize4 = StringReplace($splitsize3, " bytes)", "")
Global $video_size = Round($splitsize4 / 1024 / 1024, 1) & " MB"
;Videolänge
$vid_length_read = ControlGetText("GSpot v2.70a", "", "[CLASS:Edit; INSTANCE:7]")
$split_1st = StringSplit($vid_length_read, '.')
$split_2nd = StringSplit($split_1st[1], ":")
Select
Case UBound($split_2nd) - 1 = 3
$stunden = $split_2nd[1]
If StringLen($stunden) = 1 Then
$stunden = "0" & $stunden
EndIf
$minuten = $split_2nd[2]
If StringLen($minuten) = 1 Then
$minuten = "0" & $minuten
EndIf
$sekunden = $split_2nd[3]
If StringLen($sekunden) = 1 Then
$sekunden = "0" & $sekunden
EndIf
Case UBound($split_2nd) - 1 = 2
$stunden = "00"
$minuten = $split_2nd[1]
If StringLen($minuten) = 1 Then
$minuten = "0" & $minuten
EndIf
$sekunden = $split_2nd[2]
If StringLen($sekunden) = 1 Then
$sekunden = "0" & $sekunden
EndIf
Case UBound($split_2nd) - 1 = 1
$stunden = "00"
$minuten = "00"
$sekunden = $split_2nd[1]
If StringLen($sekunden) = 1 Then
$sekunden = "0" & $sekunden
EndIf
EndSelect
Global $video_length = $stunden & ":" & $minuten & ":" & $sekunden
$video_sekunden = ($stunden * 60 + $minuten) * 60 + $sekunden
;Videocodec
Global $video_codec = ControlGetText("GSpot v2.70a", "", "[CLASS:Edit; INSTANCE:4]")
;Video-Abmessungen
Global $vid_resolution = ControlGetText("GSpot v2.70a", "", "[CLASS:Edit; INSTANCE:17]")
;Gspot beenden
ProcessClose("GSpot.exe")
;Screenshot-Anzahl berechnen
Select
Case $video_sekunden <= 300
$screen_zeilen = 3
Case $video_sekunden > 300 And $video_sekunden < 1800
$screen_zeilen = 8
Case $video_sekunden >= 1800
$screen_zeilen = 13
EndSelect
;mtn starten
$mtn = @ScriptDir & "\mtn\mtn.exe"
$parameter_preview_tn = " -b 1 -c 3 -D 12 -F 000000:10 -g 5 -i -j 90 -k FFFFFF -n -o _preview_tn.jpg -O " & '"' & $directory & "\" & '"' & " -P -r " & $screen_zeilen & " -T " & '"' & $video_name & '"' & " -w 1024 " & '"' & $path & '"'
ShellExecute($mtn, $parameter_preview_tn, @ScriptDir & "\mtn\", "", @SW_HIDE)
$parameter_titlepic = " -b 0,80 -c 2 -D 12 -g 2 -i -j 90 -k 666666 -n -o _preview_title.jpg -O " & '"' & $directory & "\" & '"' & " -P -r 1 -t -w 600 " & '"' & $path & '"'
ShellExecute($mtn, $parameter_titlepic, @ScriptDir & "\mtn\", "", @SW_HIDE)
GUICtrlSetData($statuslabel, "Uploading Pictures...")
$oIE = _IECreate("http://www.imagevenue.com", 0, 1, 1, 0)
WinMove("ImageVenue.com", "", 0, 0, 800, 1150)
;Sleep(1000)
ControlClick("ImageVenue.com", "", "", "left", 1, 109, 293)
Send($directory & $video_name & "_preview_title.jpg")
ControlClick("ImageVenue.com", "", "", "left", 1, 109, 316)
Send($directory & $video_name & "_preview_tn.jpg")
ControlClick("ImageVenue.com", "", "[CLASS:Internet Explorer_TridentCmboBx; INSTANCE:1]", "left", 1, 106, 10)
ControlClick("ImageVenue.com", "", "[CLASS:ComboLBox; INSTANCE:1]", "left", 1, 90, 25)
Send("a{ENTER}{TAB}{ENTER}")
_IELoadWait($oIE)
$GetLink1 = _IELinkGetCollection($oIE, 12)
$Link1 = $GetLink1.href
$GetLink2 = _IEImgGetCollection($oIE, 1)
$Link2 = $GetLink2.src
_IEQuit($oIE)
GUICtrlSetData($output, "" & $video_name & "" & @CRLF & _
"" & @CRLF & _
"Filename: " & $filename & @CRLF & _
"Filesize: " & $video_size & @CRLF & _
"Codec: " & $video_codec & @CRLF & _
"Duration: " & $video_length & @CRLF & _
"Resolution: " & $vid_resolution & @CRLF & _
"~ Download ~")
GUICtrlSetData($statuslabel, "Post: Done.")
EndIf
EndIf
EndFunc ;==>_Create_Pics