He instalado elcomplemento perianopara Quicktime para que pueda abrir archivos .flv y luego guardarlos como .m4v o .mov. Estoy intentando crear un Applescript para convertir de .flv a .m4v automáticamente usandoeste tutorialy masacrando a susejemplo de archivo AppleScript, que normalmente convierte archivos ChemDraw (.cdx, .cml, .mol) a .tiff, de modo que en su lugar utiliza Quicktime para guardar los archivos .flv como .m4v. Sin embargo, cuando intento usarlo, aparece el error "QuickTime Player recibió un error: el documento 1 no comprende el mensaje de guardado". Mi mensaje guardado es actualmente:
guarde el primer documento en target_path como ".m4v"
que se parece a las instrucciones del diccionario QuickTime:
ahorrarespecificador: Los documentos o ventanas que se guardarán.
[comoformato de archivo guardable]: el formato de archivo que se utilizará.
También probé "m4v", sin el punto, y sigo apareciendo el error.
¿Mi dirección de guardado es incorrecta o probablemente se trata de un error al intentar utilizar Quicktime en lugar del ChemDraw original? Intenté cambiar las referencias a .cdx, .cml, .mol, .tiff y ChemDraw a .flv, .m4v y QuickTime respectivamente, pero ¿tal vez sea más complicado que eso?
Respuesta1
Esta respuesta es muy larga porque sus comentarios parecen indicar que su principal interés es AppleScript, no convertir videos de FLV a MP4. Si este es el caso, recomiendo encarecidamente comenzar con una buenaReferencia de AppleScript, leyendo atentamente y aprendiendo a utilizar las herramientas disponibles (especialmente el Editor de scripts y los diccionarios de aplicaciones). Intentar aprender un nuevo idioma modificando aplicaciones existentes no es bueno para la depuración y puede terminar en cosas muy malas comoprogramación de culto de carga. Dicho eso,
Empezaría abriendo el diccionario de QuickTime Player (Archivo->Abrir diccionario...en Script Editor) para ver qué comandos están disponibles. En mi versión de QuickTime Player (7.6.4), hay un
export
comando en QuickTime Player Suite:
exportar v: Exportar una película o pista a un archivo exportarreferencia: la película o pista a exportar aarchivo: el archivo de destino comoAIFF/Apple TV/AVI/BMP/transmisión DV/Inicio rápido de película QTVR/FLC/insinuado película/secuencia de imágenes/película de objeto VR comprimido entre fotogramas/iPhone/ iPhone celular/iTunes/MuLaw/MPEG2/MPEG4/imagen/medios QuickTime enlace/película QuickTime/QuickTime TeXML/MIDI estándar/sonido System 7/ archivo de texto/ThreeGPP/wave: el tipo de archivo deseado [usandoconfiguración predeterminada/configuración más reciente]: la configuración de exportación usar [usando la configuración preestablecidastring] : el nombre de la configuración de exportación preestablecido para usar [usando la configuraciónfile] : el archivo que contiene la configuración de exportación [reemplazandobooleano]: ¿debería eliminarse primero el archivo original?
Una pequeña búsqueda en Google sugiere que el tipo de archivo "iPhone" se refiere a un archivo .m4v, por lo que un primer paso podría ser reemplazarlo save first document in target_path as ".m4v"
con export first document to target_path as iPhone
. Sin embargo, mirar un poco más el diccionario muestra que también hay un can export
comando:
puede exportar v: determina si una película o pista se puede exportar al destino deseado. tipo puede exportarreferencia: la película o pista a exportar comoAIFF/Apple TV/AVI/BMP/transmisión DV/Inicio rápido de película QTVR/FLC/insinuado película/secuencia de imágenes/película de objeto VR comprimido entre fotogramas/iPhone/ iPhone celular/iTunes/MuLaw/MPEG2/MPEG4/imagen/medios QuickTime enlace/película QuickTime/QuickTime TeXML/MIDI estándar/sonido System 7/ archivo de texto/ThreeGPP/wave: el tipo de archivo deseado → booleano: ¿se admite la exportación?
Así que deberíamos comprobar que es posible exportar la película en formato iPhone/.m4v antes de hacerlo:
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
Sin embargo, si nos detenemos aquí, podemos notar que algunos de los archivos de salida no se reproducen correctamente más allá de cierto punto, porque QuickTime puede cargar archivos de forma asincrónica (es decir, no todos a la vez). Deberíamosintenta comprobar que QuickTime Player haya terminado de cargar una películaantes de que le digamos que exporte; Al examinar la lista completa de estados de carga que figuran en el diccionario y asumiendo que cada película eventualmente termina en un estado terminado o en un estado de error, podemos agregar esto con relativa facilidad.
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
Respuesta2
Siempre puedes recurrir a las secuencias de comandos de la interfaz de usuario. Tomando como base la respuesta de @Benny, esto es lo que funciona (en cierto modo):
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
Si simplemente desea guardar algo TextEdit
según su comentario, puede utilizar lo siguiente 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
Si desea guardar un documento como un tipo de archivo específico, parece haber un problema con el as
parámetro: no pude guardarlo en uno de los formatos seleccionables. Puede evitar el problema especificando la extensión de archivo deseada, por ejemplo, filename.html
o filename.odt
paraPágina webyDocumento abiertoformatos respectivamente.
Respuesta3
El script Applescript que se describe aquí puede resultar útil:Droplet de exportación QuickTime.
Aunque esto no responde a su pregunta, aquí hay dos productos comerciales que parecen ser una solución, con pruebas disponibles:
Wondershare iPad Video Converter para Mac($25)
Convertidor de vídeo para Mac($39)
Respuesta4
No sé si esto funciona, pero inténtalo.
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
Vea si eso funciona.
Si eso no funciona, consulte esta página.http://discussions.apple.com/thread.jspa?threadID=1055811