Im travaillant dans un plugin Python pour XBMC (xbmc.org) et je veux exécuter un programme (ffmpeg.exe) à partir de mon plugin sans la fenêtre cmd apparaît. Si j'utilise os.system() pour appeler ffmpeg.exe fonctionne bien mais le xbmc minimise parce que os.system ouvre une fenêtre cmd quelques secondes. Donc, j'essaie d'utiliser os.spawnv() que je pense que c'est possible qui me permet d'appeler ffmpeg.exe sans fenêtre cmd apparaît. Le problème est que je sais comment utiliser os.system mais je ne sais pas comment utiliser os.spawnv. Im essayant, mais ne marche pas le travail:Python: Comment utiliser os.spawnv avec beaucoup d'arguments?
os.spawnv(os.P_DETACH,'"C:\Program Files (x86)\XBMC\scripts\Base De Datos\ffmpeg.exe" -y -ss 30 -i "C:\Program Files (x86)\XBMC\scripts\Base De Datos\Movie.avi" -f mjpeg -vframes 1 -s 720x400 -an "C:\Program Files (x86)\XBMC\scripts\Base De Datos\thumbnail.jpg"')
"C:\Program Files (x86)\XBMC\scripts\Base De Datos\ffmpeg.exe" = The path of the ffmpeg.exe
-y -ss 30 -i = Arguments for ffmpeg.exe
"C:\Program Files (x86)\XBMC\scripts\Base De Datos\Movie.avi" = The path of the movie I want to use with ffmpeg.exe to make a thumbnail (argument for ffmpeg.exe)
-f mjpeg -vframes 1 -s 720x400 = More arguments for ffmpeg.exe
"C:\Program Files (x86)\XBMC\scripts\Base De Datos\thumbnail.jpg" = The path for save the thumbnail.
J'essaie beaucoup de méthodes pour faire une miniature mais son me semble qu'il est vraiment compliqué dans un plugin XBMC, je ne peux pas utiliser pyffmpeg parce que je ne peux pas importer le module de mon plugin sans l'installer dans SO et mon plugin doit être portable, je pourrais utiliser PIL mais seulement faire des miniatures d'images et j'ai besoin de faire des miniatures de vidéos. Je connais certains modules en python qui me permettent d'appeler processus sans fenêtre cmd apparait mais dépend d'autres modules comme win32api que je ne peux pas importer pour les mêmes raisons que je ne peux pas utiliser/importer pyffmpeg ... donc je trier le "mauvais" cette méthode, avec os.system fonctionne mais je perds le contrôle de ma fenêtre de plugin. Si quelqu'un sait d'une autre façon de faire une vignette d'une vidéo en utilisant python, s'il vous plaît dites-moi. L'autre question est que mon plugin doit être multiplateforme (Win et Linux au moins) donc ce n'est pas assez bon mais ça pourrait être un grand pas pour moi.
Merci beaucoup.
Quelle version de python utilisez-vous? Pour les versions récentes, l'approche préconisée consiste à utiliser le module 'subprocess'. – llasram