2
新しいGoPro Hero5からデスクトップにライブストリームを取得しようとしています。 これはバージョン4GoPro Hero5デスクトップへのライブストリーム
まで、すべてのGoProのために行うことができます。しかしHero5が
http://10.5.5.9:8080/live/ URLをサポートしていないようだ任意のアイデアは、のGoPro Hero5でこれを行う方法は?
新しいGoPro Hero5からデスクトップにライブストリームを取得しようとしています。 これはバージョン4GoPro Hero5デスクトップへのライブストリーム
まで、すべてのGoProのために行うことができます。しかしHero5が
http://10.5.5.9:8080/live/ URLをサポートしていないようだ任意のアイデアは、のGoPro Hero5でこれを行う方法は?
以降あなたはこのURLを取得することにより、UDPストリームを開始することができます
http://10.5.5.9/gp/gpControl/execute?p1=gpStream&a1=proto_v2&c1=restart
これはでUDPストリームを開きます。この流れを読む
udp://10.5.5.9:8554
は少しトリッキーです。 This Python scriptはFFMPEGを使用してストリームを開きます。このスクリプトが定期的に送信する「keep alive」メッセージに注意してください。これらのメッセージがなければ、カメラはすぐにストリーミングを停止します。
私は、このスクリプトの要素と、OpenCV VideoCaptureオブジェクトを使用して、プログラムでHero5セッションからストリームにアクセスしています。関連するコードは次のようになります。
cap = cv2.VideoCapture("udp://:8554", cv2.CAP_FFMPEG)
sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
last_message = time.time()
while some_condition():
# Get an image
ret, img = cap.read()
# Do something with img
cv2.imshow("My Window", img)
cv2.waitKey(1)
# Keep alive.
current_time = time.time()
if current_time - last_message >= keep_alive_period/1000:
logger.info("Sending keep alive message to %s.", self.host)
sock.sendto(message, ("10.5.5.9", 8554))
last_message = current_time
cv2.destroyWindow(window_name)
cap.release()
詳細情報here。