Ответ 1
Как ни странно, vlc имеет параметр командной строки для этого:
--play-and-exit, --no-play-and-exit
Play and exit (default disabled)
Итак, просто передайте эту опцию в vlc.
Я работаю над простым Python script, который должен что-то делать, затем воспроизводить видеофайл, а затем делать еще кое-что.
Мне нужно сделать это на машине Windows XP с Python 3.2.3 и VLC, чтобы воспроизвести мой видеофайл.
В настоящее время я использую этот код...
vlc_path = '\\path\\to\\vlc.exe'
video_path = '\\path\\to\\video\\file'
subprocess.call([vlc_path, video_path])
... открыть VLC и воспроизвести видео. Он работает красиво. Тем не менее, script ожидает, что VLC прекратит работу до его продолжения. Это хорошо, и я хочу сохранить его таким образом.
Мой вопрос: Есть ли способ выйти из VLC сразу после воспроизведения видеофайла?
Спасибо за помощь!
Как ни странно, vlc имеет параметр командной строки для этого:
--play-and-exit, --no-play-and-exit
Play and exit (default disabled)
Итак, просто передайте эту опцию в vlc.
Другой вариант - передать фиктивный элемент vlc://quit
, например:
vlc audio1.mp3 audio2.mp3 vlc://quit
Источник: https://wiki.videolan.org/Transcode/#Completely_non-interactive_transcoding
Лучший способ, о котором я могу думать, - убить процесс отдельным потоком после того, как длина видео прошла, если вы знаете длину видео в Python. В другом месте это зависит от параметров командной строки VLC. Может быть, вы можете сказать ему закрыть после просмотра фильма.
Если ничего не работает, попробуйте использовать опцию --ignore-config
в начале после vlc
в дополнение к http://quit
в конце