IPB

Bienvenue invité ( Connexion | Inscription )

 
Reply to this topicStart new topic
> Conversion auto via ffmpeg
Options
biloupaname@noos...
posté 20 Dec 2016, 13:47
Message #1


Nouveau Membre


Groupe : Membres
Messages : 12
Inscrit : 19 Aug 2005
Membre no 44 151



Bonjour,

Je souhaiterai effectuer une tache récurrente de manière automatique:
- convertir une video (mp4 ou mov) en proress proxy

Je m'explique plus précisément, je reçois assez souvent de nouvelles versions de videos qui me servent de support de travail. Pour pouvoir les utiliser sans cannibaliser le proc avec des formats gourmands je les convertir en proress proxy.
Je fais cela via quicktime mais bon c'est toujours assez chiant de se couper dans se que l'on fait pour effectuer cette tache.

Mon but est: lorsque je recupere une nouvelle video, je la deplace dans un dossier input et le processus se fait tout seul.

Le processus devra faire cela:
- convertir cette video dans un dossier output
- y ajouter "PROXY" à la fin du nom de fichier.
- effacer le fichier source.

Il faudra que le processus puisse traiter plusieurs videos à la suite, par exemple si j'en reçois 10, qu'il les traite une par une.

Je pense que cela est possible via ffmpeg mais je ne maitrise pas du tout cet outil.

Qu'en pensez vous ?
Je sais que c'est réalisable mais je n'ai pour l'instant pas les connaissances requises pour le mettre en oeuvre moi meme wink.gif
Go to the top of the page
 
+Quote Post
biloupaname@noos...
posté 21 Dec 2016, 22:31
Message #2


Nouveau Membre


Groupe : Membres
Messages : 12
Inscrit : 19 Aug 2005
Membre no 44 151



Petit up,

j'ai bien avancé.

J'ai fait la commande dans le terminal qui fait tout ce dont j'ai besoin.
voici la commande en question:
for f in *.mov *.mp4; do ffmpeg -i "$f" -vcodec prores -profile:v 0 -s 1280x720 /Volumes/MEDIAS/WORK/CONVERSION_VIDEO/PROXY_720P/OUTPUT/"${f%.*}_PROXY_720P.mov" && rm "$f"; done

Me reste maintenant à lancer cela "automatiquement".
La je bloque encore.
Je penche pour les actions de dossier mais pour l'instant je m'en sors pas.

Une âme charitable pour m'aider?

Go to the top of the page
 
+Quote Post
baron
posté 21 Dec 2016, 23:08
Message #3


Macbidouilleur d'Or !
*****

Groupe : Modérateurs
Messages : 19 351
Inscrit : 22 Jul 2004
Lieu : Louvain-la-Neuve (Gaule Gelbique)
Membre no 21 291



Bonjour,

Si ça te va, je déplace dans Programmation > Technologies Apple.
Tu y auras probablement une meilleure audience…


wink.gif


--------------------
MacBook Pro 14’’ 2021, M1 Pro, 16 Go/1 To – macOS  12.6 “Monterey”  MacBook Pro 15’’ mi-2010 Core i5 2,53 GHz, 8 Go/SSD Samsung 860EVO 1 To – Mac OSX 10.6.8  Power Macintosh G3 beige de bureau, rev.1 @ 233MHz, 288 Mo/4Go – MacOS 9.1 — + carte PCI IDE/ATA Tempo 66 Acard 6260 avec HD interne Maxtor 80 Go + graveur interne CDRW/DVD LG GCC-4520B + tablette A4 Wacom UD-0608-A + LaCie ElectronBlueIV 19" + HP ScanJet 6100C   B-Box 3 + HP LaserJet 4000 N  
La recherche dans MacBidouille vous paraît obscure ? J'ai rédigé une proposition de FAQ. Le moteur logiciel a un peu changé depuis mais ça peut aider quand même.
Les corsaires mettent en berne…
Go to the top of the page
 
+Quote Post
No6
posté 22 Dec 2016, 00:31
Message #4


Oui ?
*****

Groupe : Membres
Messages : 3 889
Inscrit : 24 Jun 2003
Lieu : BZH
Membre no 8 224



Normalement ce genre de processus ce fait en utilisant 3 dossiers.

-- un dossier " Input ", comme tu a déjà et qui est scanné en permanence pour lancer ton traitement.
-- un dossier " Traitement "
-- un dossier " Output " avec les fichiers générés au nouveau format.

Quand ton pgm de conversion doit s’exécuter sur un fichier, tu le déplace avant dans le dossier " Traitement "
comme ça si le programme se plante en cours de traitement tu sais quel fichier peut poser un problème.
Un fois le fichier entièrement traité soit tu le supprime comme tu le fais actuellement soit tu le met dans un 4e dossier pour sauvegarde temporaire, le temps de vérifier que le nouveau fichier généré est conforme.

des fois les programmes auto, ça se plante aussi, des fois c'est juste une coupure de courant... wink.gif

Ce message a été modifié par No6 - 22 Dec 2016, 00:33.


--------------------
"Je sais que vous croyez comprendre ce que vous pensez que j'ai dit, mais je ne suis pas sûr que vous réalisiez que ce que vous avez entendu n'est pas ce que je pense."
(Alan Greenspan)
Go to the top of the page
 
+Quote Post
Jaypee
posté 22 Dec 2016, 07:42
Message #5


Macbidouilleur d'Or !
*****

Groupe : Membres
Messages : 2 486
Inscrit : 29 Aug 2002
Membre no 3 340



Suivant l'idée de No6 (Bonjour chez vous), et avec les "Action Scripts", on peut ajouter des logiques simples à chaque dossier, un quatrième dossier Rejet peut être utile :
- Dossier Input, à chaque nouvelle entrée, on doit décider si le nouvel arrivant doit être traité, si oui on le copie dans le dossier Traitement, sinon copie dans Rejet avec un nom indiquant Input.
- Dossier Traitement, à chaque nouvelle entrée, on doit créer le proxy, puis le copier dans le dossier Output (ou dans un dossier Rejet avec un nom indiquant "Traitement")
- Dossier Output, à chaque nouveau candidat à la sortie, on applique la logique de validation, qui peut ou non l'envoyer dans le dossier Rejet avec un nom indiquant "Output".
- Dossier Rejet, pour les cas les plus critiques, on peut générer un e-mail qui va lancer une notification à un "groupe de personnes à notifier". L'e-mail c'est très "génération baby-boomer", il existe des services qui fonctionnent comme un Twitter interne, avec une interface programmable pour générer un message automatique. Flowdock est un exemple.
Il faut en général aussi une commande simple qui permet de voir la situation courante : combien en entrée, combien en sortie, combien en rejet.

Réf: Doc Apple en anglais
J-P

Ce message a été modifié par Jaypee - 22 Dec 2016, 07:51.
Go to the top of the page
 
+Quote Post
biloupaname@noos...
posté 22 Dec 2016, 23:39
Message #6


Nouveau Membre


Groupe : Membres
Messages : 12
Inscrit : 19 Aug 2005
Membre no 44 151



Merci pour vos contributions, j'en en effet ajouté un dossier traitement, c'est plus safe.

Quand au processus je m'en suis sortis avec les actions de dossiers.
Je connaissais pas et c'est vachement pratique ces trucs, ça m'ouvre plein de nouvelles perspectives !

Merci encore.

Ce message a été modifié par [email protected] - 22 Dec 2016, 23:39.
Go to the top of the page
 
+Quote Post
biloupaname@noos...
posté 28 Dec 2016, 22:26
Message #7


Nouveau Membre


Groupe : Membres
Messages : 12
Inscrit : 19 Aug 2005
Membre no 44 151



Me revoila !

Pour completer mon script j'aimerai appeler dans le terminal le chemin du dossier contenu dans la variable "this_folder".
L'idée est d'éviter d'écrire le chemin absolu des dossiers à traiter mais le chemin relatif est de pouvoir dupliquer le process pour d'autres projets en gardant la même architecture de dossier.

En gros, j'aimerai que ça ressemble à cela:

on adding folder items to this_folder after receiving added_items
tell application "Terminal"
do script "cd /"chemin de this_folder"/; for f in *.mov *.mp4; do ffmpeg -i \"$f\" -vcodec prores -profile:v 0 -s 1280x720 /"chemin de dossier se trouvant au même niveau que this_folder"/\"${f%.*}_PROXY_720P.mov\" && rm \"$f\"; done; exit"
end tell
quit
end adding folder items to

Merci d'avance,
je continue mon investigation smile.gif
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 utilisateur(s) sur ce sujet (1 invité(s) et 0 utilisateur(s) anonyme(s))
0 membre(s) :

 



Nous sommes le : 24th April 2024 - 11:07