Я пытаюсь использовать следующий скрипт с QuickTime Player 7 v7.6.6 для пакетного преобразования файлов AVI-контейнера в файлы MOV-контейнера:
tell application "Finder"
try
set myFolder to (the folder of the front window) as alias
on error
beep
end try
-- get list of .avi files
set aviFiles to files of myFolder whose name contains ".avi"
end tell
tell application "QuickTime Player 7" to activate
repeat with aviFile in aviFiles
set aviName to name of aviFile as text
set dispName to (text 1 thru ((length of aviName) - 4)) of aviName
set movName to dispName & ".mov"
set movPath to (POSIX path of myFolder & movName)
tell application "QuickTime Player 7"
open aviFile
save front document in movPath
close front document
end tell
end repeat
Когда я выбираю папку в Finder и запускаю этот скрипт, я получаю следующую ошибку:
QuickTime Player 7 got an error: Can’t get document 1. Invalid index.
И QuickTime Player X, и QuickTime Player 7 активируются (открываются) при запуске сценария.
Похоже, файл фильма aviFile
действительно открывается в QuickTime Player X, а не в QuickTime Player 7, что объясняет, почему в сообщении об ошибке указано, что QTP7 не может получить документ 1.
Есть ли способ исправить этот сценарий, чтобы он открывал фильм AVI в QuickTime Player 7, а не QuickTime Player X? Есть ли способ управления QuickTime Player 7 из командной строки?
Обратите внимание, что я не хочу использовать транскодер, такой как ffmpegX (или аналогичный), который снижает качество AVI (а также увеличивает размер файла). Я просто хочу автоматизировать восстановление AVI с помощью нового контейнера MOV, чтобы iTunes мог воспроизводить его с уже установленными кодеками. Спасибо за ваш совет.