I am working on a simple Python script that is supposed to do something, then play a video file, and then do some more stuff.
I am forced to do this on a Windows XP machine with Python 3.2.3 and VLC to play my video file.
I am currently using this code...
vlc_path = '\\path\\to\\vlc.exe'
video_path = '\\path\\to\\video\\file'
subprocess.call([vlc_path, video_path])
... to open VLC and play the video. It works nicely. However, the script waits for VLC to quit before it goes on. Which is good and I want to keep it that way.
My question is: Is there a way to quit VLC right after the video file has been played?
Thanks a lot for any help!
Funnily enough, vlc has a command line option for this:
--play-and-exit, --no-play-and-exit
Play and exit (default disabled)
So, just pass this option to vlc.
Another option would be to pass the dummy item vlc://quit
, e.g.:
vlc audio1.mp3 audio2.mp3 vlc://quit
Source: https://wiki.videolan.org/Transcode/#Completely_non-interactive_transcoding
Best way I can think of is killing the process by a separate thread after video length has passed, if you know the length of the video in Python. Elsewhere, it depends on VLC-s command line options. Maybe you can tell him to close after playing the movie.
If nothing works try using the option --ignore-config
at the beginning after vlc
in addition to http://quit
at the end