Я новичок во всем этом, поэтому я новичок и делаю это для своего хобби.
У меня Raspberry pi 3+ с последними обновлениями (stretch и VLC 3.0.6)
Моя цель:
Мне нравится проверять в Python с VLC, чтобы увидеть, работает ли поток rtsp видеокодера Datavideo.
- Когда поток работает, он должен отображать поток на выходе HDMI
- Когда поток не запущен, он должен отображать отсутствие соединения через существующий файл фильма (mp4)
Вопрос: Как определить в Python, работает ли поток rtsp или нет.
FYI: Когда я запускаю VLC из командной строки с существующим видеофайлом mp4, я получаю сообщение об ошибке: ошибка тупика предотвращается при использовании фиктивного интерфейсного модуля, но видеофайл корректно отображается на выходе HDMI и работает нормально.
Я не могу решить эту проблему взаимоблокировки и не знаю, дает ли это серьезные проблемы при использовании в Python.
Использование OmxPlayer не вариант, так как он не распознает поток rtsp кодера DataVideo.
Я пытался
- для решения проблемы тупика VLC
import subprocess
from time import sleep
while True:
sleep(3)
try:
print("start vlc")
proc=subprocess.call(['cvlc', '/home/pi/Videos/IPdecoder1.mp4'])
#playProcess=subprocess.Popen(['cvlc','--play-and-exit','rtsp://192.168.1.114/live'])
print("after vlc")
except:
print("after except")
Proc=subprocess.Popen(['cvlc','/home/pi/Videos/NoStream1.mp4'])
Screen errors
[005bf5f8] dummy interface: using the dummy interface module...
[629057b8] main decoder error: buffer deadlock prevented