Videolänge herausfinden

  • Hallo zusammen,

    Hat einer eine Idee, wie ich mit AutoIt (evtl. auch mit FFMpeg) die Länge eines Videos herausfinden kann.

    Finde einfach nichts bzw. ich hab wieder die falschen Suchwörter

    LG
    MrB

    Einmal editiert, zuletzt von MrB (7. August 2012 um 19:00)

  • THX eukalyptus

    Genau das hab ich gesucht. Die Funktion funktioniert perfekt (nachdem ich Dost, das mit den Ticks gerallt hatte ^^)

    Dank dir

    misterspeed

    nehme ffmpeg, da ich den sowieso schon benutze

    LG
    MrB

  • Reine neugierde, weil ich selbst Screen/Thumb Erstellung inklusive Upload auf einen Bilderhost (imgur) in einem meiner Programme nutze. Sofern du ebenfalls den Upload auf einem Bilderhost implementiert hast würd ich mich für Details interessieren, suche noch nach gut automatisierbaren, schnellen und zuverlässigen Alternativen zu imgur, da es dort in letzter Zeit hin und wieder zu Problemen beim Upload kam.

  • Bei mir wird die ganze Sache lokal bleiben. Dient nur der Übersicht und Auffindbarkeit. Hänge im Mom allerdings an den Sch.... flv´s. Ich hasse die Dinger. FFMpeg mag da keine Thumbs erstellen bzw. ich muss mal noch mehr in der FAQ lesen

  • eukalyptus
    Sieht interessant aus. Werd ich mir gleich zu Gemüte führen.

    misterspeed
    FFMpeg sollte das auch unterstützen (meine ich zumindestens gelesen zu haben). Hab da garantiert im Syntax einen Fehler. Mal weiter schauen

    Hat einer eine Idee, wie ich den Status eines Kopiervorgangs mit FileCopy bzw. FileMove abfragen kann ? Standard pausiert das Script bei mir bis zum Ende des Vorgangs. FileGetSize usw klappen so also nicht

    Hab grad selbst die Lösung gefunden ! _WinAPI_MoveFileEx ist die Lösung

    Einmal editiert, zuletzt von MrB (8. August 2012 um 19:54)

  • Da gibt es mehrere Möglichkeiten. Man könnte z.B. den cmd Befehl "xcopy" verwenden und per processexists prüfen ob der Kopierprozess noch läuft. Sofern eine prozentuale Rückmeldung an den Benutzer gewünscht ist müsste man dann noch den stdout stream mitschneiden/auswerten, oder eben das xcopy cmd Fenster sichtbar ausführen. (bin mir jetzt nicht sicher ob xcopy den Verlauf anzeigt, denke aber schon)

    Ich selbst verwende in einem meiner Scripte die Windows Kopierfunktion inklusive dem dafür typischen Kopierdialog. Erspart mir die Arbeit den Kopierfortschritt selbst zu visualisieren. Das ganze habe ich in eine seperate helper.exe ausgelagert und prüfe dann im Hauptprogramm mit processexists ob die helper.exe noch läuft. Pfade und co. werden per cmdline Parameter an die helper.exe übergeben.


    Spoiler anzeigen
    [autoit]


    #NoTrayIcon

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

    ;~ 4 Do not display a progress dialog box.
    ;~ 8 Give the file being operated on a new name in a move, copy, or rename operation if a file with the target name already exists.
    ;~ 16 Respond with "Yes to All" for any dialog box that is displayed.
    ;~ 64 Preserve undo information, if possible.
    ;~ 128 Perform the operation on files only if a wildcard file name (*.*) is specified.
    ;~ 256 Display a progress dialog box but do not show the file names.
    ;~ 512 Do not confirm the creation of a new directory if the operation requires one to be created.
    ;~ 1024 Do not display a user interface if an error occurs.
    ;~ 2048 Version 4.71. Do not copy the security attributes of the file.
    ;~ 4096 Only operate in the local directory. Don't operate recursively into subdirectories.
    ;~ 9182 Version 5.0. Do not copy connected files as a group. Only copy the specified files.

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

    Func _FileCopy($iFile,$oPath)
    Local $FOF_RESPOND_YES = 16
    Local $FOF_SIMPLEPROGRESS = 256
    $oShell = ObjCreate("shell.application")
    $oShell.namespace($oPath).CopyHere($iFile,$FOF_RESPOND_YES)
    EndFunc

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

    Func _FileMove($iFile,$oPath)
    Local $FOF_RESPOND_YES = 16
    Local $FOF_SIMPLEPROGRESS = 256
    $oShell = ObjCreate("shell.application")
    $oShell.namespace($oPath).MoveHere($iFile,$FOF_RESPOND_YES)
    EndFunc

    [/autoit]
  • OK, so ist das natürlich auch ne schöne Lösung muss ich sagen. Leider beinhaltet das den Bereich, wovon ich als "ungelernter" Hobby-Scripter nicht viel Ahnung habe (viel = keine ^^). Meine den Spoiler, Rest geht.

    Ich versteh zwar grundsätzlich was da passiert, hätte nur einfach keinen blassen Schimmer wie ich die Infos selber rausbekommen sollte (

    Einmal editiert, zuletzt von MrB (8. August 2012 um 20:05)

  • Hatte mir das auch nur aus dem englsichen Forum kopiert. Details zu den verwendeten Objekten / Funktionen findet man btw bei MSDN. Solche sachen selbst dort zufinden ist aber auch nicht mein Ding, dafür gibts ja Gottseidank sehr begabte Menschen in diversen Foren. :)

  • Hallo,
    für die Erstellung von Videothunbnails hatte ich vor 3 Jahren mal ein GUI für den MTN (MovieThumbNailer), siehe oben, gescriptet. Leider bestand damals kein Interesse. Ich verwende es für die Katalogisierung meiner Videos, speziell der Can mit ihren nichtssagenden Dateinamen (movXXX.mod) im jpeg-Format.
    Hier zu finden:

    MTNGUI - Schnappschüsse von Videodateien

    LG
    Hexer