QuickTime Player용 Applescript 저장 명령

QuickTime Player용 Applescript 저장 명령

나는페리안 애드온Quicktime의 경우 .flv 파일을 열 수 있으며 해당 파일을 .m4v 또는 .mov로 저장할 수 있습니다. 다음을 사용하여 .flv에서 .m4v로 자동 변환하는 Applescript를 만들려고합니다.이 튜토리얼그리고 그들의 도살예제 applescript 파일, 일반적으로 ChemDraw 파일(.cdx, .cml, .mol)을 .tiff로 변환하므로 대신 Quicktime을 사용하여 .flv 파일을 .m4v로 저장합니다. 하지만 사용하려고 하면 "QuickTime Player에 오류가 발생했습니다. 문서 1이 저장 메시지를 이해하지 못합니다"라는 오류가 발생합니다. 현재 내 저장 메시지는 다음과 같습니다.

target_path의 첫 번째 문서를 ".m4v"로 저장

이는 QuickTime 사전의 지침과 같습니다.

구하다지정자 : 저장할 문서 또는 창입니다.

[~처럼저장 가능한 파일 형식] : 사용할 파일 형식입니다.

마침표 없이 "m4v"를 시도했지만 여전히 오류가 발생합니다.
내 저장 방향이 잘못되었습니까? 아니면 원래 ChemDraw 대신 Quicktime을 사용하려고 하여 발생한 오류일까요? .cdx, .cml, .mol, .tiff 및 ChemDraw에 대한 참조를 각각 .flv, .m4v 및 QuickTime으로 변경하려고 시도했지만 그보다 더 복잡할 수도 있습니다.

답변1

귀하의 의견은 비디오를 FLV에서 MP4로 변환하는 것이 아니라 AppleScript 자체에 관심이 있다는 것을 나타내기 때문에 답변이 엄청나게 깁니다. 그렇다면 좋은 것부터 시작하는 것이 좋습니다.AppleScript 참조, 주의 깊게 읽고 사용 가능한 도구(특히 스크립트 편집기 및 응용 프로그램 사전) 사용 방법을 배우십시오. 기존 애플리케이션을 수정하여 새로운 언어를 배우려는 것은 디버깅에 좋지 않으며 다음과 같은 매우 나쁜 결과를 초래할 수 있습니다.화물 컬트 프로그래밍. 즉,


먼저 QuickTime Player의 사전(파일->사전 열기...스크립트 편집기에서) 어떤 명령을 사용할 수 있는지 확인하세요. 내 버전의 QuickTime Player(7.6.4)에는 exportQuickTime Player Suite에 다음 명령이 있습니다 .

내보내다 v : 영화나 트랙을 파일로 내보내기

   내보내다참조 : 내보낼 영화 또는 트랙
   에게file : 대상 파일
   ~처럼AIFF/Apple TV/AVI/BMP/DV 스트림/빠른 시작 QTVR 영화/FLC/힌트
      영화/이미지 시퀀스/인터프레임 압축 VR 객체 영화/iPhone/
      iPhone 셀룰러/iTunes/MuLaw/MPEG2/MPEG4/사진/QuickTime 미디어
      link/QuickTime 동영상/QuickTime TeXML/표준 MIDI/시스템 7 사운드/
      text file/ThreeGPP/wave : 원하는 파일 형식
   [사용하여기본 설정/최근 설정] : 내보내기 설정
      사용
   [설정 사전 설정 사용string] : 내보내기 설정의 이름
      사용하도록 사전 설정
   [설정 사용file] : 내보내기 설정이 포함된 파일
   [교체boolean] : 원본 파일을 먼저 삭제해야 할까요?

인터넷 검색에 따르면 "iPhone" 파일 형식은 .m4v 파일을 참조하므로 첫 번째 단계 save first document in target_path as ".m4v"export first document to target_path as iPhone. 하지만 사전을 조금 더 살펴보면 다음 can export명령도 있음을 알 수 있습니다.

수출할 수 있다 v : 영화나 트랙을 원하는 위치로 내보낼 수 있는지 결정합니다.
   유형

   수출할 수 있다참조 : 내보낼 영화 또는 트랙
      ~처럼AIFF/Apple TV/AVI/BMP/DV 스트림/빠른 시작 QTVR 영화/FLC/힌트
         영화/이미지 시퀀스/인터프레임 압축 VR 객체 영화/iPhone/
         iPhone 셀룰러/iTunes/MuLaw/MPEG2/MPEG4/사진/QuickTime 미디어
         link/QuickTime 동영상/QuickTime TeXML/표준 MIDI/시스템 7 사운드/
         text file/ThreeGPP/wave : 원하는 파일 형식
      → boolean : 내보내기가 지원되는지 여부

따라서 실제로 그렇게 하기 전에 iPhone/.m4v 형식으로 동영상을 내보낼 수 있는지 확인해야 합니다.

if (can export first document as iPhone) then
   export first document to target_path as iPhone
else
   error "Cannot export " & (source_file as string) & " in .m4v (iPhone) format."
end if

그러나 여기에서 멈추면 QuickTime이 파일을 비동기적으로(즉, 한꺼번에 모두 로드할 수 없음) 로드할 수 있기 때문에 일부 출력 파일이 특정 지점 이후에 올바르게 재생되지 않는다는 것을 알 수 있습니다. 우리는해야한다QuickTime Player가 동영상 로드를 완료했는지 확인해 보세요.내보내라고 말하기 전에; 사전에 나열된 로드 상태의 전체 목록을 검사하고 모든 영화가 결국 완료된 상태 또는 오류 상태로 끝난다고 가정하면 이를 비교적 쉽게 추가할 수 있습니다.

set error_states to {load state unknown, load error}
set successful_states to {loaded, complete}
repeat until load state of first document is in (error_states & successful_states)
   delay 0.1
end repeat

if (load state of first document is in successful_states) then
   if (can export first document as iPhone) then
      export first document to target_path as iPhone
   else
      error "Cannot export " & (source_file as string) & " in .m4v (iPhone) format."
   end if
else
   error "File is not in a successful load state: " & (load state of first document as string)
end if

답변2

언제든지 UI 스크립팅을 사용할 수 있습니다. @Benny의 답변을 기초로 삼아 작동하는 방법은 다음과 같습니다.

set infile to choose file with prompt "select file:"
set outfile to "filename"

try
    tell application "QuickTime Player"
        activate
        close every window
        open infile
        delay 2 # wait for the document to open
        tell application "System Events"
            keystroke "s" using {command down, shift down} # press Cmd-Shift-S
            delay 1 # wait for the sheet
            keystroke outfile # the filename
            key code 36 # press enter
        end tell
        close document 1 saving no
    end tell
end try

귀하의 의견에 따라 단순히 무언가를 저장하려면 TextEdit다음을 기초로 사용할 수 있습니다.

set infile to choose file with prompt "select file:"
set outfile to choose file name with prompt "Save altered file here:"

tell application "TextEdit"
    activate
    open infile
    tell application "System Events" # just some keystrokes for edits
        keystroke "AppleScript was here!"
        key code 36 # press enter
    end tell
    tell document 1 to save in outfile
    close every document saving no
end tell

문서를 특정 파일 형식으로 저장하려는 경우 매개 as변수에 문제가 있는 것 같습니다. 선택 가능한 형식 중 하나로 저장할 수 없습니다. 원하는 파일 확장자를 지정 하여 문제를 피할 수 있습니다 filename.html.filename.odt웹 페이지그리고오픈문서형식을 각각 지정합니다.

답변3

여기에 설명된 Applescript 스크립트가 유용할 수 있습니다.QuickTime 내보내기 드롭릿.

이것이 귀하의 질문에 대한 답변은 아니지만, 다음은 시험판을 사용할 수 있는 솔루션으로 보이는 두 가지 상용 제품입니다.

Mac용 Wondershare iPad 비디오 변환기($25)
Mac용 비디오 변환기($39)

답변4

이게 효과가 있을지는 모르겠지만 시도해 보세요.

set infile to choose file with prompt "select file:"
set outfile to choose file name with prompt "Save altered file here:"

try
tell application "QuickTime Player"
activate
close every window
open infile
set dimensions of document 1 to {720, 400}
tell document 1
save self contained file outfile
end tell
-- save document 1 given «class dfil»:file outfile, «class savk»:self contained
close document 1 saving no
end tell
end try

작동하는지 확인하세요.

그래도 작동하지 않으면 이 페이지를 참조하세요.http://discussions.apple.com/thread.jspa?threadID=1055811

관련 정보