Ich habe diePerian-Addonfür Quicktime, damit es .flv-Dateien öffnen kann, und ich kann sie dann als .m4v oder .mov speichern. Ich versuche, ein Applescript zu erstellen, um automatisch von .flv in .m4v zu konvertieren, indem ichdieses Tutorialund schlachten ihreBeispiel einer Applescript-Datei, das normalerweise ChemDraw-Dateien (.cdx, .cml, .mol) in .tiff konvertiert, sodass es stattdessen Quicktime verwendet, um die .flv-Dateien als .m4v zu speichern. Wenn ich versuche, es zu verwenden, erhalte ich jedoch die Fehlermeldung „QuickTime Player hat einen Fehler festgestellt: Dokument 1 versteht die Speichermeldung nicht“. Meine Speichermeldung lautet derzeit:
erstes Dokument im Zielpfad als „.m4v“ speichern
das sieht aus wie die Anweisungen im QuickTime-Wörterbuch:
speichernSpezifizierer: Die zu speichernden Dokumente oder Fenster.
[alsspeicherbares Dateiformat]: Das zu verwendende Dateiformat.
Ich habe auch „m4v“ ohne Punkt ausprobiert und bekomme immer noch den Fehler.
Ist meine Speicherrichtung falsch oder liegt es wahrscheinlich an einem Fehler beim Versuch, Quicktime statt des ursprünglichen ChemDraw zu verwenden? Ich habe versucht, Verweise auf .cdx, .cml, .mol, .tiff und ChemDraw in .flv, .m4v und QuickTime zu ändern, aber vielleicht ist es komplizierter?
Antwort1
Diese Antwort ist verdammt lang, weil Ihre Kommentare darauf hindeuten, dass Ihr Hauptinteresse AppleScript selbst ist und nicht die Konvertierung von Videos von FLV in MP4. Wenn dies der Fall ist, empfehle ich dringend, mit einem guten zu beginnenAppleScript-Referenz, sorgfältiges Lesen und Lernen der Verwendung der verfügbaren Tools (insbesondere Script Editor und Anwendungswörterbücher). Der Versuch, eine neue Sprache durch die Änderung vorhandener Anwendungen zu erlernen, ist nicht gut für das Debuggen und kann zu sehr schlimmen Ergebnissen führen, wieCargo-Kult-Programmierung. Das gesagt,
Ich würde zunächst das Wörterbuch des QuickTime Players öffnen (Datei->Wörterbuch öffnen …im Skripteditor), um zu sehen, welche Befehle verfügbar sind. In meiner Version von QuickTime Player (7.6.4) gibt es einen
export
Befehl in der QuickTime Player Suite:
Export v: Einen Film oder Titel in eine Datei exportieren ExportReferenz: der zu exportierende Film oder Titel ZuDatei: die Zieldatei alsAIFF/Apple TV/AVI/BMP/DV-Stream/Schnellstart QTVR-Film/FLC/angedeutet Film/Bildsequenz/Interframe komprimiertes VR-Objekt Film/iPhone/ iPhone-Mobiltelefon/iTunes/MuLaw/MPEG2/MPEG4/Bild/QuickTime-Medien Link/QuickTime-Film/QuickTime TeXML/Standard-MIDI/System 7-Sound/ text file/ThreeGPP/wave : der gewünschte Dateityp [mitStandardeinstellungen/Letzte Einstellungen]: die Exporteinstellungen benutzen [Verwenden der voreingestellten Einstellungenstring] : der Name der Exporteinstellungen Vorgabe zur Verwendung [Verwenden von Einstellungenfile]: die Datei mit den Exporteinstellungen [Ersetzenboolean]: Soll zuerst die Originaldatei gelöscht werden?
Ein wenig Googeln deutet darauf hin, dass sich der Dateityp „iPhone“ auf eine .m4v-Datei bezieht. Ein erster Schritt könnte also das Ersetzen save first document in target_path as ".m4v"
durch sein export first document to target_path as iPhone
. Ein genauerer Blick in das Wörterbuch zeigt jedoch, dass es auch einen can export
Befehl gibt:
kann exportieren v : Bestimmen Sie, ob ein Film oder ein Titel in das gewünschte Ziel exportiert werden kann. Typ kann exportierenReferenz: der zu exportierende Film oder Titel alsAIFF/Apple TV/AVI/BMP/DV-Stream/Schnellstart QTVR-Film/FLC/angedeutet Film/Bildsequenz/Interframe komprimiertes VR-Objekt Film/iPhone/ iPhone-Mobiltelefon/iTunes/MuLaw/MPEG2/MPEG4/Bild/QuickTime-Medien Link/QuickTime-Film/QuickTime TeXML/Standard-MIDI/System 7-Sound/ text file/ThreeGPP/wave : der gewünschte Dateityp → Boolean: wird der Export unterstützt
Daher sollten wir prüfen, ob es möglich ist, den Film im iPhone/.m4v-Format zu exportieren, bevor wir dies tatsächlich tun:
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
Wenn wir hier aufhören, werden wir möglicherweise feststellen, dass einige der Ausgabedateien ab einem bestimmten Punkt nicht mehr richtig abgespielt werden, da QuickTime Dateien asynchron laden kann (d. h. nicht alle auf einmal). Wir solltenVersuchen Sie zu überprüfen, ob QuickTime Player den Film vollständig geladen hatbevor wir ihm den Exportbefehl geben; indem wir die vollständige Liste der im Wörterbuch aufgeführten Ladezustände untersuchen und davon ausgehen, dass jeder Film letztendlich in einem fertigen Zustand oder einem Fehlerzustand endet, können wir dies relativ einfach hinzufügen.
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
Antwort2
Sie können jederzeit auf UI-Skripting zurückgreifen. Basierend auf @Bennys Antwort funktioniert Folgendes (einigermaßen):
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
Wenn du gemäß deinem Kommentar einfach etwas abspeichern möchtest TextEdit
, kannst du folgendes als Grundlage verwenden:
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
Wenn Sie ein Dokument in einem bestimmten Dateityp speichern möchten, scheint es ein Problem mit dem as
Parameter zu geben: Ich konnte es nicht in einem der auswählbaren Formate speichern. Sie können das Problem umgehen, indem Sie die gewünschte Dateierweiterung angeben, z. B. filename.html
oder filename.odt
fürWebsiteUndOpenDocumentFormate bzw.
Antwort3
Das hier beschriebene Applescript-Skript könnte nützlich sein:QuickTime-Export-Droplet.
Dies beantwortet Ihre Frage zwar nicht, aber hier sind zwei kommerzielle Produkte, die eine Lösung zu sein scheinen und für die es Testversionen gibt:
Wondershare iPad Video Converter für Mac(25 USD)
Videokonverter für Mac(39 USD)
Antwort4
Ich weiß nicht, ob das funktioniert, aber versuchen Sie es,
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
Schauen Sie, ob das funktioniert.
Wenn das nicht funktioniert, sehen Sie sich diese Seite an.http://discussions.apple.com/thread.jspa?threadID=1055811