Je travaille sur un script Python simple qui est censé faire quelque chose, puis lire un fichier vidéo, puis faire d'autres choses.
Je suis obligé de le faire sur un Windows XP machine avec Python 3.2.3 etVLCpour lire mon fichier vidéo.
J'utilise actuellement ce code ...
vlc_path = '\\path\\to\\vlc.exe'
video_path = '\\path\\to\\video\\file'
subprocess.call([vlc_path, video_path])
... pour ouvrir VLC et lire la vidéo. Ça marche bien. Cependant, le script attend que VLC se ferme avant de continuer. Ce qui est bien et je veux que ça reste ainsi.
Ma question est la suivante: Y a-t-il un moyen de quitter VLC juste après la lecture du fichier vidéo?
Merci beaucoup pour toute aide!
Curieusement, vlc a une option en ligne de commande pour cela:
--play-and-exit, --no-play-and-exit
Play and exit (default disabled)
Donc, il suffit de passer cette option à vlc.
Une autre option consisterait à transmettre l'item factice vlc://quit
, par exemple:
vlc audio1.mp3 audio2.mp3 vlc://quit
Source: https://wiki.videolan.org/Transcode/#Completely_non-interactive_transcoding
La meilleure façon dont je puisse penser est de supprimer le processus par un fil séparé une fois la durée de la vidéo écoulée, si vous connaissez la longueur de la vidéo en Python. Ailleurs, cela dépend des options de ligne de commande de VLC. Peut-être que vous pouvez lui dire de fermer après avoir joué le film.
Si rien ne fonctionne, essayez d'utiliser l'option --ignore-config
au début après vlc
en plus de http://quit
à la fin.