applescripted quicktime图像序列导出创建绿色帧

时间:2013-01-12 22:59:12

标签: applescript quicktime

我有一个用于从视频创建图像序列的AppleScript。它适用于使用我的尼康相机拍摄的电影。它为我的佳能相机拍摄的电影创造了一堆纯绿色图像。奇怪的是,如果我使用quicktime手动导出图像序列,它工作正常(没有绿色图像)。只有通过脚本运行时才会快速创建绿色框架(顺便说一下,所有绿色框架)。

以下是代码:

#set vFile to (choose file with prompt "Select a video file:")
on open of finderObjects -- "open" handler triggered by drag'n'drop launches
    repeat with vFile in (finderObjects) -- in case multiple objects dropped on applet
        tell application "Finder"
            list folder ":Library:QuickTime:Presets"
            set theList to result
            set qSet to (choose from list theList)
            set vBase to the name of vFile
        end tell

        tell application "Finder"
            if (folder ((path to movies folder as string) & "TLTemp") exists) then
                delete folder ((path to movies folder as string) & "TLTemp")
            end if

            if not (folder ((path to movies folder as string) & "TLTemp") exists) then
                set TLDir to make new folder at (path to movies folder as string) with properties ¬
                    {name:"TLTemp"}
            end if
        end tell


        #tell application "QuickTime Player 7" to open vFile
        tell application "QuickTime Player 7"
            open vFile
            set settings_file to (":Library:QuickTime:Presets:" & qSet)
            set TLtemp to ((path to movies folder as string) & "TLTemp:" & vBase)
            with timeout of 500 seconds
                export document 1 to TLtemp as image sequence using settings settings_file
            end timeout
            #export document 1 to TLtemp as image sequence

            close document 1
        end tell

        set the item_list to list folder ((path to movies folder as string) & "TLTemp:") without invisibles
        set pictureFile to ((path to movies folder as string) & "TLTemp:" & item 1 of item_list)
        tell application "QuickTime Player 7"
            activate
            open image sequence pictureFile frames per second 30
            set the looping of document 1 to true
            play document 1
        end tell



    end repeat
end open

1 个答案:

答案 0 :(得分:0)

我从未使用过图像序列,但我有一个AppleScript可以在QuickTime 7中打开Finder的选定项目,并将10个静止图像作为PICT文件捕获。如果你将前面文档的当前时间增加一帧(而不是像我一样增加持续时间/ 11),它会对你有帮助吗?

--   Use iPhoto to convert these PICT files to PNGs.
set exportFolder to (path to the desktop as text) & "photos from QuickTime:"
set picturesPerVideo to 10



tell application "Finder" to set theSelection to the selection as list
repeat with i from 1 to (count of theSelection)
    set theItem to item i of theSelection
    tell application "Finder"
        set finderPath to (file (theItem as text))'s POSIX path
        set theName to theItem's name
        open theItem using (path to application "QuickTime Player 7")
    end tell
    set theCurrentDate to current date
    tell application "System Events" to set process "QuickTime Player 7"'s visible to false
    tell application "QuickTime Player 7"
        repeat until front document's path = finderPath
            if ((current date) - 15) > theCurrentDate then error "Timeout."
            delay 1
        end repeat

        repeat with j from 1 to picturesPerVideo
            set timeInVideo to j / (picturesPerVideo + 1)
            set front document's current time to (front document's duration) * timeInVideo
            set exportPath to exportFolder & theName & "_" & j & ".pict"
            export front document to exportPath as picture replacing yes
        end repeat
        close front document
    end tell
end repeat

对于迟到的回答感到抱歉。我刚看到你的帖子。