Eu instalei oComplemento Perianopara Quicktime para que ele possa abrir arquivos .flv e então eu possa salvá-los como .m4v ou .mov. Estou tentando fazer um Applescript para converter de .flv para .m4v automaticamente usandoeste tutoriale massacrando seusexemplo de arquivo applescript, que normalmente converte arquivos ChemDraw (.cdx, .cml, .mol) em .tiff, para que use o Quicktime para salvar os arquivos .flv como .m4v. Porém, quando tento usá-lo, recebo um erro "O QuickTime Player recebeu um erro: o documento 1 não entende a mensagem salva". Minha mensagem salva atualmente é:
salve o primeiro documento em target_path como ".m4v"
que se parece com as instruções do dicionário QuickTime:
salvarespecificador: o(s) documento(s) ou janela(s) a ser(em) salvo(s).
[comoformato de arquivo salvo]: O formato de arquivo a ser usado.
Também tentei "m4v", sem ponto final, e ainda recebo o erro.
Minha direção para salvar está errada ou provavelmente é um erro ao tentar usar o Quicktime em vez do ChemDraw original? Tentei alterar as referências de .cdx, .cml, .mol, .tiff e ChemDraw para .flv, .m4v e QuickTime respectivamente, mas talvez seja mais complicado do que isso?
Responder1
Esta resposta é muito longa porque seus comentários parecem indicar que seu principal interesse é o próprio AppleScript, e não a conversão de vídeos de FLV para MP4. Se for esse o caso, recomendo fortemente começar com um bomReferência AppleScript, lendo com atenção e aprendendo a usar as ferramentas disponíveis (especialmente Editor de Scripts e dicionários de aplicativos). Tentar aprender uma nova linguagem modificando aplicativos existentes não é bom para depuração e pode resultar em coisas muito ruins, comoprogramação de culto à carga. Dito isto,
Eu começaria abrindo o dicionário do QuickTime Player (Arquivo->Abrir Dicionário...no Editor de scripts) para ver quais comandos estão disponíveis. Na minha versão do QuickTime Player (7.6.4), existe um
export
comando no QuickTime Player Suite:
exportar v: Exportar um filme ou faixa para um arquivo exportarreferência: o filme ou faixa a ser exportada paraarquivo: o arquivo de destino comoAIFF/Apple TV/AVI/BMP/DV stream/Fast Start QTVR Movie/FLC/sugerido filme/sequência de imagens/objeto VR compactado interframe filme/iPhone/ iPhone celular/iTunes/MuLaw/MPEG2/MPEG4/imagem/mídia QuickTime link/filme QuickTime/QuickTime TeXML/MIDI padrão/som System 7/ arquivo de texto/ThreeGPP/wave : o tipo de arquivo desejado [usandoconfigurações padrão/configurações mais recentes]: as configurações de exportação usar [usando configurações predefinidasstring]: o nome das configurações de exportação predefinido para usar [usando configuraçõesfile]: o arquivo que contém as configurações de exportação [substituindoboolean] : o arquivo original deve ser excluído primeiro?
Uma pequena pesquisa no Google sugere que o tipo de arquivo “iPhone” se refere a um arquivo .m4v, portanto, um primeiro passo pode ser substituir save first document in target_path as ".m4v"
por export first document to target_path as iPhone
. Olhando um pouco mais o dicionário, porém, mostra que também existe um can export
comando:
pode exportar v : Determine se um filme ou trilha pode ser exportado para o local desejado tipo pode exportarreferência: o filme ou faixa a ser exportada comoAIFF/Apple TV/AVI/BMP/DV stream/Fast Start QTVR Movie/FLC/sugerido filme/sequência de imagens/objeto VR compactado interframe filme/iPhone/ iPhone celular/iTunes/MuLaw/MPEG2/MPEG4/imagem/mídia QuickTime link/filme QuickTime/QuickTime TeXML/MIDI padrão/som System 7/ arquivo de texto/ThreeGPP/wave : o tipo de arquivo desejado → booleano: a exportação é suportada
Portanto, devemos verificar se é possível exportar o filme no formato iPhone/.m4v antes de fazê-lo:
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
Porém, se pararmos por aqui, poderemos notar que alguns dos arquivos de saída não são reproduzidos corretamente além de um certo ponto, porque o QuickTime pode carregar arquivos de forma assíncrona (ou seja, não todos de uma vez). Deveríamostente verificar se o QuickTime Player terminou de carregar um filmeantes de dizermos para exportar; examinando a lista completa de estados de carregamento listados no dicionário e assumindo que cada filme eventualmente termina em um estado finalizado ou em um estado de erro, podemos adicionar isso com relativa facilidade.
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
Responder2
Você sempre pode recorrer a scripts de UI. Tomando como base a resposta de @Benny, aqui está o que funciona (de certa forma):
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
Se quiser simplesmente salvar algo de TextEdit
acordo com seu comentário, você pode usar o seguinte como base:
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
Se você deseja salvar um documento como um tipo de arquivo específico, parece haver um problema com o as
parâmetro: não consegui salvá-lo em um dos formatos selecionáveis. Você pode contornar o problema especificando a extensão de arquivo desejada, por exemplo, filename.html
ou filename.odt
paraPágina da InterneteOpenDocumentformatos respectivamente.
Responder3
O script Applescript descrito aqui pode ser útil:Droplet de exportação do QuickTime.
Embora isso não responda à sua pergunta, aqui estão dois produtos comerciais que parecem ser uma solução, com testes disponíveis:
Conversor de vídeo Wondershare iPad para Mac(US$ 25)
Conversor de vídeo para Mac(US$ 39)
Responder4
Não sei se isso funciona, mas tente,
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
Veja se isso funciona.
Se isso não funcionar, consulte esta página.http://discussions.apple.com/thread.jspa?threadID=1055811