Commit 6209b3fb authored by 簡碩辰's avatar 簡碩辰

Update run.py

parent 4155a242
import json, os, socket, time, datetime, pytz, subprocess as SP import json, os, socket, time, datetime, pytz, cv2 as cv, subprocess as SP
from paho.mqtt.client import Client as MQTT from paho.mqtt.client import Client as MQTT
from colorama import Fore, Back, Style from colorama import Fore, Back, Style
...@@ -74,8 +74,8 @@ while True: ...@@ -74,8 +74,8 @@ while True:
rtsp_in = rtsp_in if port == "80" else "{0}:{1}".format(rtsp_in, port) rtsp_in = rtsp_in if port == "80" else "{0}:{1}".format(rtsp_in, port)
rtsp_in = "{0}/{1}".format(rtsp_in, key) rtsp_in = "{0}/{1}".format(rtsp_in, key)
p = SP.Popen([ command = [
'ffmpeg', # DVR to EasyDarwin 'ffmpeg', # DVR to EasyDarwin
'-rtsp_transport', 'tcp', # 指定來源協定 '-rtsp_transport', 'tcp', # 指定來源協定
'-i', rtsp_in, # 指定來源路徑 '-i', rtsp_in, # 指定來源路徑
...@@ -83,22 +83,29 @@ while True: ...@@ -83,22 +83,29 @@ while True:
'-an', # 指定輸出聲音編碼 (an: 無聲音) '-an', # 指定輸出聲音編碼 (an: 無聲音)
'-rtsp_transport', 'tcp', # 指定輸出協定 '-rtsp_transport', 'tcp', # 指定輸出協定
'-f','rtsp', rtsp_out, # 指定輸出格式與路徑 '-f','rtsp', rtsp_out, # 指定輸出格式與路徑
]) ]
p = SP.Popen(command)
try: try:
payload['status'] = 1 stream = cv.VideoCapture(' '.join(command))
payload['msg'] = "Ready to Transfer."
client.publish(topic, json.dumps(payload), 1)
p.communicate() if stream.isOpened():
payload['status'] = 1
payload['status'] = 0
payload['msg'] = "Ready to Transfer."
payload['msg'] = "Popen is closed."
client.publish(topic, json.dumps(payload), 1)
client.publish(topic, json.dumps(payload), 1) p.communicate()
else:
stream.release()
payload['status'] = 0
payload['msg'] = "Popen is closed."
client.publish(topic, json.dumps(payload), 1)
except Exception as e: except Exception as e:
payload['status'] = 0 payload['status'] = 0
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment