2009-04-18 5 views
2

J'ai besoin d'exporter/compresser un tas de grands .avis à .movs.AppleScript à l'exportation de bain à partir de QuickTime: Impossible de l'exporter en .mov au lieu de .mp4

J'ai trouvé le script d'action ci-dessous (tiré de http://ldopa.net/2008/05/23/batch-export-for-quicktime-pro/) pour ce faire.

Il prend avec succès les vidéos d'un dossier appelé "Input" sur le bureau et les exporte vers un dossier appelé "Export" sur le bureau.

Seul problème est cependant, il n'exporte pas "avec les paramètres les plus récents" que j'ai utilisés dans Quicktime. De plus, il l'exporte sous .mp4 au lieu de .mov.

Note: le script original a dit:

export front document to output_file as MPEG-4 

Mais je l'ai changé:

export front document to output_file as QuickTime movie 

Et il est encore l'exportation comme mpeg-4.

script complet:

with timeout of 86400 seconds 

    display dialog "Before beginning batch processing, make sure QuickTime Player is set to the desired export settings, and all videos to be processed are in a folder named ‘Input’ on the desktop." with icon note 

    tell application "Finder" 
     set the startup_disk to the name of the startup disk 
    end tell 

    set user to do shell script "whoami" 
    set input_folder_name to "Input" 
    set input_folder to startup_disk & ":Users:" & user & ":Desktop:" & input_folder_name & ":" 
    set user_desktop to startup_disk & ":Users:" & user & ":Desktop:" 
    set output_folder to startup_disk & ":Users:" & user & ":Desktop:Output:" 
    set file_extension to "_export.mp4" 

    try 
     tell application "Finder" 
      make new folder at user_desktop with properties {name:"Output"} 
     end tell 
    end try 

    try 
     set the_folder_list to list folder input_folder without invisibles 
     repeat with x from 1 to count of the_folder_list 
      set the_file to input_folder & item x of the_folder_list 
      set output_file to output_folder & item x of the_folder_list & file_extension 
      tell application "QuickTime Player" 
       activate 
       open the_file 
       export front document to output_file as QuickTime movie using most recent settings with replacing 
       close front document 
      end tell 
     end repeat 
    on error 
     display dialog "This script requires a folder named ‘" & input_folder_name & "‘ located on the desktop." with icon stop 
    end try 

    beep 

end timeout 
+0

Le conteneur MPEG4 * est un film QuickTime. C'est juste un film QuickTime standardisé et moderne. Si vous avez un fichier avec une extension de fichier ".mp4", vous pouvez simplement le changer en ".mov" et cela fonctionne. Mais il n'y a aucune raison de le faire. Le ".mp4" dit "QuickTime movie +" - il dit "Je ne suis pas seulement un film QuickTime, je suis un film QuickTime standardisé et moderne." La principale chose à laquelle vous devriez vous intéresser n'est pas le conteneur de film, mais la conversion des pistes vidéo dans le conteneur. C'est-à-dire le transcodage des pistes vidéo de codecs AVI obsolètes en pistes vidéo de codec H.264 modernes. –

Répondre

1

Juste un tir rapide, mais vous pouvez essayer de changer la ligne suivante

set file_extension to "_export.mp4" 

à

set file_extension to "_export.mov" 

Aucune idée si cela va faire la astuce, mais cela peut aider.

0

Vous devez utiliser une combinaison.

Modifiez l'extension de fichier en .mov (comme le dit Bjoern) et remplacez le MPEG-4 par Quicktime Movie.

Votre modification exportera le film en tant que fichier MOV sans modifier l'extension de fichier. (Si vous avez essayé de l'ouvrir avec un MOV seulement joueur, il devrait être capable de lire le film)

Cheers,

1

Si vous voulez un meilleur contrôle que d'utiliser simplement les paramètres précédents, vous pouvez enregistrer l'exportation paramètres. Mettre en place une exportation avec les paramètres que vous voulez, puis utiliser quelque chose comme

tell quicktime player 
    tell movie 1 
     save export settings for Quick Time Movie to mysettingsfile--or whatever format you exported to 
    end tell 
end tell 

Je ne sais pas pourquoi vous devez spécifier un document, plutôt que l'application, mais voilà comment il est dans le dictionnaire.


Vous pouvez également utiliser un programme comme MPEG Streamclip (gratuit) ou ffmpeg (FOSS, ligne de commande seulement, mais les interfaces graphiques existent) pour faire la même chose. MPEG Streamclip est livré avec une fonction de liste de lots et peut convertir à peu près n'importe quoi d'autre. Vous évite d'avoir à réinventer la roue.