0

我有一个用于从视频创建图像序列的小程序。它非常适合用我的尼康相机拍摄的电影。它为我的佳能相机拍摄的电影创建了一堆纯绿色图像。奇怪的是,如果我使用 quicktime 手动导出图像序列,它工作正常(没有绿色图像)。只有当通过脚本运行时,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
4

1 回答 1

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

很抱歉迟到的答案。刚看到你的帖子。

于 2013-01-26T17:43:41.850 回答