Avatar de l’utilisateur
Duduf
Mug
Messages : 549
Enregistré le : 16 Juin 2015, 18:02
Contact : Site Internet

Problème script mac - Lancer une commande bash

24 Mai 2017, 13:13

Hello !

Aubonbeurre, si tu passes par là... Ou si ça parle à quelqu'un d'autre.

J'ai un souci quand j'essaie de lancer une commande sur Mac OS en utilisant

Code : Tout sélectionner

system.callSystem()


Mon problème est lié à FFMpeg
Je construit ma commande dans le script, avec le nom du binaire et tous les arguments nécessaires. La commande en question fonctionne très bien directement depuis le terminal de mac, mais dès que je la lance depuis mon script avec le callSystem, After freeze: mon curseur de souris passe en petite roue qui fait patienter, et je peux plus rien faire. La suite du script ne se fait pas non plus.

Ce qui est étrange, c'est si je file une commande simple, sans conversion de média, genre

Code : Tout sélectionner

system.callSystem('ffmpeg -h')
pour afficher l'aide, ça fonctionne, j'ai bien en retour l'aide de ffmpeg, mais dès que je mets une commande complète pour encoder un fichier, j'ai ce problème de freeze.
Etrangement aussi, la commande est bel et bien exécutée, et fonctionne (le fichier transcodé est créé, tout marche), mais after freeze et ne fait pas la suite du script...

Une idée ?
Je vais tester dans extendscript sans passer par after pour voir
0

Avatar de l’utilisateur
Duduf
Mug
Messages : 549
Enregistré le : 16 Juin 2015, 18:02
Contact : Site Internet

Re: Problème script mac - Lancer une commande bash

24 Mai 2017, 13:14

PS : aucun souci sous windows avec la meme commande
0

Avatar de l’utilisateur
Duduf
Mug
Messages : 549
Enregistré le : 16 Juin 2015, 18:02
Contact : Site Internet

Re: Problème script mac - Lancer une commande bash

24 Mai 2017, 13:15

PPS : j'ai le problème sur CC2015 et CC2017, pas testé les autres versions
0

Avatar de l’utilisateur
Duduf
Mug
Messages : 549
Enregistré le : 16 Juin 2015, 18:02
Contact : Site Internet

Re: Problème script mac - Lancer une commande bash

24 Mai 2017, 13:18

Ha non, je vais pas tester sur ExtendScript, system.callSystem() n'existe que sur after.... :'(
0

Avatar de l’utilisateur
aubonbeurre
Gobelet
Messages : 245
Enregistré le : 18 Sep 2015, 12:38
Contact : Site Internet Twitter

Re: Problème script mac - Lancer une commande bash

24 Mai 2017, 14:46

Duduf a écrit :Ha non, je vais pas tester sur ExtendScript, system.callSystem() n'existe que sur after.... :'(


Tu peux me donner la commande totale? Tu utilises quel ffmpeg? brew.sh?
0
"For every problem, there exists a simple and elegant solution which is absolutely wrong." -- J. Wagoner

Avatar de l’utilisateur
Duduf
Mug
Messages : 549
Enregistré le : 16 Juin 2015, 18:02
Contact : Site Internet

Re: Problème script mac - Lancer une commande bash

24 Mai 2017, 14:51

J'ai posté plus de détails sur le forum adobe:

https://forums.adobe.com/message/9534018#9534018

le ffmpeg utilisé est le snapshot build téléchargé là : https://evermeet.cx/ffmpeg/
Faut que j'essaye avec une autre version pour voir tiens oui
0

Avatar de l’utilisateur
Duduf
Mug
Messages : 549
Enregistré le : 16 Juin 2015, 18:02
Contact : Site Internet

Re: Problème script mac - Lancer une commande bash

24 Mai 2017, 14:54

Arf, faut qu'un modérateur valide d'abord sur le forum adobe, voici une copie de mon post :

Hi,
I've been working a few hours on this with no luck, maybe anyone here can help:
I have an issue on Mac with a script where I want to transcode some files using ffmpeg.

Here's what's going on:

Code : Tout sélectionner

    var cmd = pathToFFMpegBin + '/ffmpeg -h'; 
    var output = system.callSystem(cmd); 
    alert(output); 



This works well, the command is executed and the alert shows the help for ffmpeg

But with the full command line to encode a file, like:

Code : Tout sélectionner

    var cmd = pathToFFMpegBin + "/ffmpeg -h -i " + inputFilePath + " -c pcm_f32le " + outputFilePath; 
    var output = system.callSystem(cmd); 
    alert(output); 


After Effects freezes (with the mouse cursor being the waiting cursor) like it's stuck in an endless loop
The alert is not shown, the script is stuck at the callSystem line.
BUT: the encoding does work, the new file is created and working...


- The same command works well in a terminal or as a bash script.
- The script works well in Windows
- If I provide a invalid path to the input file or the output file, it works as expected (the alert shows the error returned by ffmpeg)
- If I set ffmpeg to quiet mode (using the '-v quiet' option), it still don't work.
- I tried creating and executing a bash script, but I can't use File.execute() as it opens the script in a editor (even after I have set it to executable, that's normal behavior on Mac). I have to execute it via a callSystem('./file') and this freezes After Effects too.
- I tried launching the script via ExtendScript toolkit, both After Effecst and ExtendScript toolkit freeze, and I cannot stop the script in ES Toolkit.
- Tested on CC2017 and CC2015, same result.
- Javascript debugging is enabled, but I don't have any debug info, it's really like the script is in an endless loop, except I can't stop it.


Any idea? Or do you think about a workaround?
0

Avatar de l’utilisateur
aubonbeurre
Gobelet
Messages : 245
Enregistré le : 18 Sep 2015, 12:38
Contact : Site Internet Twitter

Re: Problème script mac - Lancer une commande bash

25 Mai 2017, 11:52

J'ai pas encore essaye (a la bourre!), mais deux idees:

- ne pas mixer -h et -i (comme la haut). Probablement une faute de frappe, puisque -h donne l'aide, et c'est tout
- verifier que le fichier out est bien inexistant (ou alors utiliser -y), sinon ffmpeg se bloque et demande "File '/Users/aparente/foo.wav' already exists. Overwrite ? [y/N]"
0
"For every problem, there exists a simple and elegant solution which is absolutely wrong." -- J. Wagoner

Avatar de l’utilisateur
aubonbeurre
Gobelet
Messages : 245
Enregistré le : 18 Sep 2015, 12:38
Contact : Site Internet Twitter

Re: Problème script mac - Lancer une commande bash

25 Mai 2017, 12:31

Ah, je confirme qu'il y a un probleme sur Mac. Le code qui fait ca est ancien.

J'ai fait un correctif, je vais voir si on peut l'integrer dans la prochaine version.

Le resultat avec le fix:

Screen Shot 2017-05-25 at 12.28.21 PM.png
1
"For every problem, there exists a simple and elegant solution which is absolutely wrong." -- J. Wagoner

Avatar de l’utilisateur
Duduf
Mug
Messages : 549
Enregistré le : 16 Juin 2015, 18:02
Contact : Site Internet

Re: Problème script mac - Lancer une commande bash

25 Mai 2017, 14:46

aubonbeurre a écrit :- ne pas mixer -h et -i (comme la haut). Probablement une faute de frappe, puisque -h donne l'aide, et c'est tout
- verifier que le fichier out est bien inexistant (ou alors utiliser -y), sinon ffmpeg se bloque et demande "File '/Users/aparente/foo.wav' already exists. Overwrite ? [y/N]"


héhé oui, le h est à côté du y sur le clavier ;)
Ce qui répond aux deux remarques à la fois ^^

Cool pour le fix, merci !
0

Retourner vers « Scripts & Expressions »

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 1 invité