1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies. Weitere Informationen
  2. Unsere jährliche Weihnachts-Banner-Aktion hat begonnen! Wir freuen uns auf viele, viele kreative Vorschläge.
    Mehr dazu könnt Ihr hier nachlesen: Weihnachtsbanner 2016

    Information ausblenden

Automatisierung applescript

Dieses Thema im Forum "macOS & OS X" wurde erstellt von MrArtifex, 23.02.09.

  1. MrArtifex

    MrArtifex Bismarckapfel

    Dabei seit:
    03.02.08
    Beiträge:
    147
    Hi ich hab ne kurze Frage,

    unsere Uni stellt immer Vorlesungen als Video zum Download bereit was sehr angenehm ist. Jetzt wollte ich es so machen, dass er die Video Dateien automatisch runterlädt (das geht zum Glück jetzt schon) und mir dann in ein Ipod Format konvertiert, dass ich mir dann morgens auf mein Ipod ziehe und dann schauen kann.

    Weiß jemand wie ich das mit Apple Script automatisieren kann? Also sobald praktisch dateien in einem Ordner X abliegen (nach dem Download), er diese DAteien in das Konvertierungstool einlädt und konvertiert und dann nach Itunes kopiert?

    geht das mit Applescript?
    Weiß jemand wie?

    vielen Dank & Gruß
    Arti
     
  2. bezierkurve

    bezierkurve Danziger Kant

    Dabei seit:
    12.06.05
    Beiträge:
    3.861
    Das kannst du mit den „Ordneraktionen“ (im Finder > Kontextmenü > Mehr > Ordneraktionen konfigurieren) machen; damit kannst du überwachen, wann der Inhalt eines Ordners geändert wird und dann AppleScripts ausführen.

    Apple liefert schon ein paar fertige Aktionen mit, an denen du dich orientieren kannst. Schau mal unter "/Library/Scripts/Folder Action Scripts".
     
  3. j33n5

    j33n5 Horneburger Pfannkuchenapfel

    Dabei seit:
    18.12.06
    Beiträge:
    1.405
    Wenn das Tool, welches du verwendest, scriptingfähig ist, dann kann man eine Ordner-Aktion starten. Was verwendest du denn? Ginge das nicht auch mit Quicktime (Pro)?


    Edit: zu langsam.
     
  4. MrArtifex

    MrArtifex Bismarckapfel

    Dabei seit:
    03.02.08
    Beiträge:
    147
    zur Zeit benutze ich noch ffmpegx will aber umsteigen auf diesen Elgato Hardware Konvertierungs USB Stick. Soweit ich gehört habe lässt sich das Teil über Apple Script steuern:
    "Turbo.264 installiert eine QuickTime™ Komponente, die beschleunigte Exporte aus anderen Applikationen ermöglicht. Darüber hinaus lässt sich Turbo.264 per AppleScript steuern." (von der Herstellerseite)

    wie ich es aber genau anstelle keine Ahnung...ist das kompliziert?

    vielen dank
     
  5. j33n5

    j33n5 Horneburger Pfannkuchenapfel

    Dabei seit:
    18.12.06
    Beiträge:
    1.405
    Wie dieses Script dann im Einzelnen aussehen muss, wird man sehen. Aber es ist schonmal gut, dass das Tool scriptbar ist.

    Edit: Da ffmpegX aber CLTools verwendet, ließe sich über Ordner-Aktion ein Shell-Script starten, nehme ich mal an.

    Man hängt dem Ordner ein Apple-Script an, welches ein Shell-Script startet. Dieses wiederum enthält die Kommandozeile, welche auch ffmpegX für das Kodieren verwendet - und spätestens hier wirds haarig.
     
  6. MrArtifex

    MrArtifex Bismarckapfel

    Dabei seit:
    03.02.08
    Beiträge:
    147
    hmm jetzt ist die Frage wie komplex das für mich ist, also ich bin bestimmt kein vollhorst aber ich hab damit halt noch nie was gemacht... wie fange ich damit an? Ist das komplex? Ist das aufwendig?
     
  7. j33n5

    j33n5 Horneburger Pfannkuchenapfel

    Dabei seit:
    18.12.06
    Beiträge:
    1.405
    Mit dem Tool, das du kaufen willst, denke ich nicht, dass das schwierig wird. Mit ffmpegX dagegen schon.
     
  8. MrArtifex

    MrArtifex Bismarckapfel

    Dabei seit:
    03.02.08
    Beiträge:
    147
    jo das tool ist schon so gut wie gekauft. Die frage ist jetzt im nächsten Schritt, wie gehts weiter? Wo kann man sich einlesen, oder viel besser so ein Tool herbekommen? Ist das komplex?

    danke schonmal für die Antworten
     
  9. j33n5

    j33n5 Horneburger Pfannkuchenapfel

    Dabei seit:
    18.12.06
    Beiträge:
    1.405
    Hier im Hersteller-Support-Forum würde ich anfangen, dann natürlich in den Handbüchern und später über Trial&Error. Google hilft sicher auch weiter. Oder das Forum hier. ^^

    Ob das komplex ist, kann dir nur jemand sagen, der das schonmal gemacht hat =)

    I.d.R. sind aber scriptingfähige Programme recht dankbar.
     
  10. MrArtifex

    MrArtifex Bismarckapfel

    Dabei seit:
    03.02.08
    Beiträge:
    147
    in welchen handbüchern? von dem stick? muss man da programmieren oder geht das über klick und save? also so vba für arme?...

    danke
     
  11. j33n5

    j33n5 Horneburger Pfannkuchenapfel

    Dabei seit:
    18.12.06
    Beiträge:
    1.405
    Schau dir mal das Programm „Script Editor.app“ an, welches bei dir auf der Platte sein müsste. Damit wird's gemacht. Handbücher vom Stick, richtig.


    Edit: Hier im letzten Post des Supportforums findet man ein schönes Beispiel-Script, welches man freilich noch anpassen müsste.

    Und hier hat jemand ein Script für ffmpeg veröffentlicht.

    Mit anderen Worten, da findet man schon was. Leider bin ich jetzt nicht gerade ein Apple-Script-Guru, aber da lässt sich sicher was machen.
     
    #11 j33n5, 23.02.09
    Zuletzt bearbeitet: 23.02.09
  12. MrArtifex

    MrArtifex Bismarckapfel

    Dabei seit:
    03.02.08
    Beiträge:
    147
    hmm die benutzen für die beispiele alle EyeTV. DAs will ich aber gar nicht benutzen sondern einfach nur simpel (hoffe ich)

    ein ordner den ich selbst anlege und dann:

    wenn in ordner ne datei liegt, dann benutze ffmpegx und konvertiere file und stecke es dann in itunes.

    kann man das damit machen?

    kann mir da bitte jemand weiterhelfen?

    vielen dank
     
    #12 MrArtifex, 23.02.09
    Zuletzt bearbeitet: 23.02.09
  13. MrArtifex

    MrArtifex Bismarckapfel

    Dabei seit:
    03.02.08
    Beiträge:
    147
    ich habe jetzt mal versucht den code auf der seite im scripteditor einzupasten und zu komplilieren:

    (* AppleScript: video - Convert to H264.scpt

    Converts items dropped into target folder (e.g. by Transmission) to H.264 files for Apple TV, using Turbo.264
    Copies encoded items to iTunes' Movies library
    Stores converted items in a folder that SuperDuper! ignores, so encoding can continue during SD backup
    Pauses for SuperDuper to complete backup before copying files to iTunes
    Trashes the original and the encoded items, leaving only the copy of the newly encoded item in iTunes
    No longer (Opens Lostify as reminder to edit tags)
    *)

    -- GLOBALS
    property converted_items_folder : "Macintosh HD:Users:minckster:Movies:Turbo.264 Converted Items:"
    property movies_folder : "Macintosh HD:Users:minckster:Music:iTunes:iTunes Music:Movies:"

    -- MAIN
    on adding folder items to this_folder after receiving these_items

    -- Ensure that all of the items have finished copying into folder
    repeat with f in these_items
    set old_size to 0
    set new_size to -1
    -- When new_size equals old_size, it means the copy is complete because the size hasn't changed.
    repeat while new_size is not equal to old_size
    -- Get the file size.
    set old_size to size of (info for f)
    delay 4
    -- Sample the size again after delay for comparison.
    set new_size to size of (info for f)
    end repeat
    end repeat

    -- Add files to Turbo.264's encoding queue one-by-one and encode them en masse
    wait_until_turbo264_idle()
    tell application "Turbo.264"
    repeat with i from 1 to the count of these_items
    set this_item to item i of these_items
    try
    add file this_item with destination converted_items_folder exporting as AppleTV
    -- Adding them all at once with these_items didn't work, hence the repeat loop
    on error errMsg number errNum
    display dialog "Error adding " & this_item & " to encoding queue. (" & errMsg & " " & errNum & ")"
    end try
    end repeat
    try
    encode with no error dialogs
    on error errMsg number errNum
    display dialog "Error encoding. Turbo.264 error code: " & lastErrorCode & " (" & errMsg & " " & errNum & ")"
    end try
    end tell
    wait_until_turbo264_idle()
    tell application "Turbo.264" to quit

    -- Add the newly encoded items to iTunes, open them in Lostify, and delete them and delete the original items
    repeat with i from 1 to the count of these_items
    -- Determine paths and filenames
    tell application "Finder"
    try
    set this_item to item i of these_items
    set this_extension to name extension of this_item
    set this_filename to text 1 through -((count this_extension) + 2) of (get name of this_item)
    if exists file (converted_items_folder & this_filename & ".m4v") then
    set new_item to converted_items_folder & this_filename & ".m4v"
    set itunes_item to movies_folder & this_filename & ".m4v"
    else if exists file (converted_items_folder & this_filename & ".mp4") then
    set new_item to converted_items_folder & this_filename & ".mp4"
    set itunes_item to movies_folder & this_filename & ".mp4"
    else
    error "Cannot find converted item. Is its extension m4v or mp4?" number -128
    end if
    on error errMsg number errNum
    display dialog "Error determining paths and filenames. (" & errMsg & " " & errNum & ")"
    end try
    end tell

    -- Add encoded item to iTunes. Delete temporary items.
    add_to_itunes(new_item)
    try
    --tell application "Lostify" to open itunes_item
    tell application "Finder"
    delete new_item
    delete this_item
    end tell
    on error errMsg number errNum
    display dialog "Error deleting temporary files. (" & errMsg & " " & errNum & ")"
    end try
    end repeat

    display alert "Successfully completed AppleScript 'Convert to H264'" giving up after 15
    end adding folder items to


    -- FUNCTIONS
    to add_to_itunes(new_item)
    wait_until_SuperDuper_idle()
    try
    tell application "iTunes" to add new_item to playlist "Library"
    on error errMsg number errNum
    display dialog "Error adding " & new_item & " to iTunes library. (" & errMsg & " " & errNum & ")"
    end try
    return
    end add_to_itunes

    on wait_until_turbo264_idle()
    tell application "Turbo.264"
    repeat while isEncoding
    delay 15
    end repeat
    end tell
    return
    end wait_until_turbo264_idle

    on wait_until_SuperDuper_idle()
    tell application "System Events"
    repeat while exists process "SDCopy"
    delay 30
    end repeat
    end tell
    return
    end wait_until_SuperDuper_idle

    bekomme aber nur die Fehlermeldung es wurde "Zeilenende" erwartet, aber ein "Klassenname" wurde gefunden.

    was mache ich falsch? müsste er mich jetzt nicht fragen, wo bei mir auf der platte Turbo h.264 liegt und so weiter?

    danke für ein feedback
     
  14. j33n5

    j33n5 Horneburger Pfannkuchenapfel

    Dabei seit:
    18.12.06
    Beiträge:
    1.405
    Das:
    Code:
    -- FUNCTIONS
    to add_to_itunes(new_item)
    wait_until_SuperDuper_idle()
    try
    tell application "iTunes" to add new_item to playlist "Library"
    on error errMsg number errNum
    display dialog "Error adding " & new_item & " to iTunes library. (" & errMsg & " " & errNum & ")"
    end try
    return
    end add_to_itunes
    
    on wait_until_turbo264_idle()
    tell application "Turbo.264"
    repeat while isEncoding
    delay 15
    end repeat
    end tell
    return
    end wait_until_turbo264_idle
    
    on wait_until_SuperDuper_idle()
    tell application "System Events"
    repeat while exists process "SDCopy"
    delay 30
    end repeat
    end tell
    return
    end wait_until_SuperDuper_idle
    
    brauchste schonmal alles nicht, glaube ich. Aber ich rufe mal einen Scriptgott zu Hülfe!

    Und unter
    Code:
    -- GLOBALS
    property converted_items_folder : "Macintosh HD:Users:minckster:Movies:Turbo.264 Converted Items:"
    property movies_folder : "Macintosh HD:Users:minckster:Music:iTunes:iTunes Music:Movies:"
    
    musst du noch "Macintosh HD:Users:minckster:Movies:Turbo.264 Converted Items:" mit deinem entsprechenden Pfad anpassen, also den Usernamen ändern.
    Genau wie bei "Macintosh HD:Users:minckster:Music:iTunes:iTunes Music:Movies:", sofern du diese Filme-Ordner benutzt.

    Was ich oben fett gemacht habe, brauchen wir nicht, schätze ich.

    Funktioniert folgendes:

    Code:
    (* AppleScript: video - Convert to H264.scpt
    
    Converts items dropped into target folder (e.g. by Transmission) to H.264 files for Apple TV, using Turbo.264
    Copies encoded items to iTunes' Movies library
    Stores converted items in a folder that SuperDuper! ignores, so encoding can continue during SD backup
    Pauses for SuperDuper to complete backup before copying files to iTunes
    Trashes the original and the encoded items, leaving only the copy of the newly encoded item in iTunes
    No longer (Opens Lostify as reminder to edit tags)
    *)
    
    -- GLOBALS
    property converted_items_folder : "Macintosh HD:Users:minckster:Movies:Turbo.264 Converted Items:"
    property movies_folder : "Macintosh HD:Users:minckster:Music:iTunes:iTunes Music:Movies:"
    
    -- MAIN
    on adding folder items to this_folder after receiving these_items
    
    -- Ensure that all of the items have finished copying into folder
    repeat with f in these_items
    set old_size to 0
    set new_size to -1
    -- When new_size equals old_size, it means the copy is complete because the size hasn't changed.
    repeat while new_size is not equal to old_size
    -- Get the file size.
    set old_size to size of (info for f)
    delay 4
    -- Sample the size again after delay for comparison.
    set new_size to size of (info for f)
    end repeat
    end repeat
    
    -- Add files to Turbo.264's encoding queue one-by-one and encode them en masse
    wait_until_turbo264_idle()
    tell application "Turbo.264"
    repeat with i from 1 to the count of these_items
    set this_item to item i of these_items
    try
    add file this_item with destination converted_items_folder exporting as AppleTV
    -- Adding them all at once with these_items didn't work, hence the repeat loop
    on error errMsg number errNum
    display dialog "Error adding " & this_item & " to encoding queue. (" & errMsg & " " & errNum & ")"
    end try
    end repeat
    try
    encode with no error dialogs
    on error errMsg number errNum
    display dialog "Error encoding. Turbo.264 error code: " & lastErrorCode & " (" & errMsg & " " & errNum & ")"
    end try
    end tell
    wait_until_turbo264_idle()
    tell application "Turbo.264" to quit
    ?

    -----------------------------------------------
    PS: um den Code in so einem Rahmen darzustellen musst du [ CODE ]text..[ /CODE ] ohne Leerzeichen innerhalb der eckigen Klammern setzen.
     
    #14 j33n5, 24.02.09
    Zuletzt bearbeitet: 24.02.09
  15. MrArtifex

    MrArtifex Bismarckapfel

    Dabei seit:
    03.02.08
    Beiträge:
    147
    danke schonmal für die Mühe,

    ich bekomme wenn ich deinen code anpasse (als meinen pfadname ergänze) immernoch die fehlermeldung:

    es wurde "Zeilenende" erwartet, aber ein "Klassenname" wurde gefunden.

    und das wort "file" in dem code wird markiert.

    wo liegt der fehler?

    danke schonmal fürs Helfen

    gruß
    Julian
     
  16. MrArtifex

    MrArtifex Bismarckapfel

    Dabei seit:
    03.02.08
    Beiträge:
    147
    hat jemand noch ne idee warum hier die fehlermeldung kommt?
     

Diese Seite empfehlen