Bonjour à tous,

J'ai réalisé une application afin d'incruster des sous-titres dans une vidéo via ffmpeg.
Le matériel de départ consiste en une vidéo, des images correspondant aux sous-titres, et un fichier xml contenant les temporisations associé à chaque sous-titres.
Le matériel d'arrivé est bien sur la vidéo avec les sous-titres incrusté. Le tout se fait via la construction d'une commande envoyé à ffmpeg.

La compréhension de la commande n'est pas requise pour la compréhension de ce problème.
Commande du type : ['/incrust/bin/ffmpeg.exe', '-y', '-i', 'C:/vidéos/ma_vidéo_vierge.mp4', '-i', 't_0001.PNG', '-i', 't_0002.PNG', '-i', 't_0003.PNG', ......... overlay=0:0:enable=between(t\\,4375.52\\,4377.72)[bkg]; [bkg][1090:v]overlay=0:0:enable=between(t\\,4377.92\\,4380.56)[bkg]; [bkg][1091:v]overlay=0:0:enable=between(t\\,4459.0\\,4461.0)', 'C:/ffmpeg-3.0-win64-shared/bin/debut_incrust\E9.mp4']

L'ennui, c'est que lorsque ma commande fait environ plus de 500 sous-titres, la commande fait 95000 caractère... bien j'ai un message d'erreur de la part de subprocess : “WindowsError: [Error 206] The filename or extension is too long”
J'ai trouvé beaucoup d'aide en anglais sur internet (en anglais), mais sans trouvé de solution (j'ai sûrement plus passé 4 heures à chercher, cela fait des mois que j'ai ce problème).
L'utilisation de shell sur false ou sur true dans les arguments de subprocess est sans conséquence.
Générer un fichier shell et l’exécuter fonctionne, mais cela ne marche pas avec un fichier bat, qui arrête de charger la commande si elle est trop longue :

-i t_0560.PNG -i t_0561.PNG -i t_0562.PNG -i t_0563.PNG -i t_0564.PNG -i t
_0565.PNG -i t_0566.PNG -i t_0567.PNG -i t_0568.PNG -i t_0569.PNG -i t_0570.PNG
-i t_0571.PNG -i t_0572.PNG -i t_0573.PNG -i t_0574.PNG -i t_0575.PNG -i t_0576.
PNG -i t_0577.PNG -i t_0578.PNG -i t_0579.PNG -i t_0580.PNG -i t_0581.PNG -i t_0
5
Le système ne peut exécuter le programme spécifié.


Avez-vous une idée pour contourner cela ?