Script rotation video via quicktime |
Bienvenue invité ( Connexion | Inscription )
Script rotation video via quicktime |
3 Feb 2014, 09:34
Message
#1
|
|
Nouveau Membre Groupe : Membres Messages : 7 Inscrit : 18 Sep 2007 Membre no 95 066 |
Bonjour,
je débute en applescript mais je sens un grand potentiel pour me simplifier pleins de taches répétitives. l'objet sur lequel je butte est celui la: je souhaite retourner un grand nombre de vidéos, je sais le faire avec quicktime (a la main) mais je n'arrive pas a automatiser le process: - prendre la première video d'une dossier - la retourner - l'enregistrer en tant que séquence autonome dans un autre dossier - déplacer la video original dans un autre dossier -revenir a la première étape et lorsqu'il n'y a plus de vidéos - effacer les videos originales. l'étape qui me pose problème e l'enregistrement en tant que séquence autonome, en effet, cela créer bien une nouvelle video mais la rotation n'est pas appliquer. si une âme charitable voudrait bien jeter un oeil à mon script en cours et m'aider, ça me rendrait un grand service. le script en cours : tell application "Finder" if folder "a effacer" of folder "medias:videos:gopro:a rotater:" exists then else make new folder with properties {name:"A EFFACER"} at "medias:videos:gopro:a rotater:" end if set a to get first item of folder "medias:videos:gopro:a rotater:a faire:" set b to "medias:videos:gopro:a rotater:A EFFACER:" set c to folder "medias:videos:gopro:vidage carte:" set d to the the name of a set f to "medias:videos:gopro:a rotater:A DEPLACER:" & d tell application "QuickTime Player 7" close every window open a flip vertical document 1 flip horizontal document 1 save self contained document 1 in f end tell end tell la boucle n'est pas encore faite, ni l'effacement des vidéos originales mais je pense savoir le faire sans chercher des heures. merci d'avance ps: je precise que je tiens beaucoup a faire tout cela via applescript car ça me permettra de faire évoluer le script ( conversion, changement de taille etc...) et de me "faire la main" donc merci de ne pas me conseiller un logiciel. |
|
|
3 Feb 2014, 21:29
Message
#2
|
|
Macbidouilleur de bronze ! Groupe : Membres Messages : 264 Inscrit : 7 Dec 2013 Lieu : Ile de France Membre no 188 169 |
Bonsoir Chupaps,
Voici un morceau de code testé qui réponds à ta demande : Code tell application "Finder" set Mon_Dossier to choose folder with prompt "Sélectionner le dossier contenant les vidéos à pivoter" set Mes_Videos to every file of folder Mon_Dossier set Dest_Dossier to choose folder with prompt "Sélectionner le dossier destination des vidéos" end tell set A_Supprimer to {} tell application "QuickTime Player 7" close every window repeat with Mon_Fichier in Mes_Videos tell application "Finder" to open Mon_Fichier using ((path to applications folder as text) & "Utilities:QuickTime Player 7.app") set Nom to name of front document flip vertical front document flip horizontal front document save self contained front document in ((Dest_Dossier as text) & Nom) with replacing delay 4 close front window set A_Supprimer to A_Supprimer & {Mon_Fichier} end repeat tell application "Finder" to delete A_Supprimer end tell Attention : il faut vérifier où tu as mis ton application Qt Player 7. La mienne est dans le dossier Utilitaires (Utilities), d'où l'appel à cet endroit. La raison pour laquelle cette instruction est présente c'est pour éviter que le Finder n'ouvre le fichier avec tout autre application Vidéo ( comme QT standard!). J'ai ajouté le delay 4 (4 secondes) entre 2 boucles car il arrive, lors des tests, que certains fichiers soient long à enregistrer et génèrent une erreur AS (fichier en cours, erreur E/S,... ou autre !). Il est possible de déterminer, selon la vitesse de ta machine/disque, ce délai en fonction de la taille du rush Gopro. Le script demande le dossier source et destination au début. Tu peux aussi mettre ces dossiers en dur si tu le souhaites (j'ai horreur du hard coding !) et éventuellement ajouter un make pour créer le dossier destination. Enfin, juste un petit conseil de programmation si je puis me permettre : donne des noms clairs et précis à tes variables.... surtout si tu souhaites modifier et faire évoluer ton code plus tard. Dans ton code actuel, il faut relire à 2 fois pour se souvenir ce que signifient les variables a, b, c et d ! J'espère t'avoir aidé. Cordialement -------------------- iiMac 24 M1 16Go/1To 13.5.1
iMac 27 i5 3,1GHz 8Go/1To 10.11.6 / 10.6.8 iMac 20 C.Duo 2,6Ghz 8Go/350Go 10.6.8 / 10.11 Mini C.Duo 2,0Ghz 2Go/500Go 10.6.8 |
|
|
5 Feb 2014, 09:12
Message
#3
|
|
Nouveau Membre Groupe : Membres Messages : 7 Inscrit : 18 Sep 2007 Membre no 95 066 |
Merci je vais tester cela ce soir.
Et merci aussi pour les conseils concernant les variables, ça sera plus clair en effet. |
|
|
6 Feb 2014, 20:16
Message
#4
|
|
Nouveau Membre Groupe : Membres Messages : 7 Inscrit : 18 Sep 2007 Membre no 95 066 |
salut,
je viens de tester et je me retrouve avec le même problème: tout le process se fait bien mais le fichier enregistré ne conserve pas les modifications effectués par quick time, je le vois pourtant effectuer la rotation. As-tu une idée d'ou proviendrai l'erreur? |
|
|
7 Feb 2014, 07:12
Message
#5
|
|
Macbidouilleur de bronze ! Groupe : Membres Messages : 264 Inscrit : 7 Dec 2013 Lieu : Ile de France Membre no 188 169 |
Bonjour,
Le script fonctionne sans problème pour moi, donc cela vient de quelque chose chez toi. Dans l'éditeur de script, lorsque tu demandes, en bas de la fenêtre, à voir les événements et les réponses, après exécution du script, qu'est-il affiché ? Si tu vois bien la vidéo tournée, cela ne peux être , à mon avis, que 3 options : 1) le delay n'est pas assez long et le script ferme la fenêtre avec écriture finale (ton mac est lent, ou c'est ton support d'écriture, ou tes vidéo sont longues ou les 3 !) 2) l'événement "save self container" ne peut se produire car le dossier de destination est verrouillé en écriture (autorisations, volume plein,..) 3) Tu as un problème de codec (j'avoue que ne vois pas bien pourquoi !) Je penche pour le 1). Regarde bien le résultat en bas de la fenêtre de l'éditeur de script et dis moi ce qui est écrit. C'est indispensable pour trouver l'erreur. ... et trouver une parade Bonne journée -------------------- iiMac 24 M1 16Go/1To 13.5.1
iMac 27 i5 3,1GHz 8Go/1To 10.11.6 / 10.6.8 iMac 20 C.Duo 2,6Ghz 8Go/350Go 10.6.8 / 10.11 Mini C.Duo 2,0Ghz 2Go/500Go 10.6.8 |
|
|
Nous sommes le : 23rd April 2024 - 10:27 |