我的目标是从 rtsp 服务器读取帧,对帧进行一些 opencv 操作并将操作的帧写入新的 rtsp 服务器。
我尝试了以下基于在 python 中从 opencv 写入 Gstreamer 管道的方法,但我无法弄清楚创建 rtsp 服务器的适当 gst-launch-1.0 参数应该是什么。任何人都可以协助 gst-launch-1.0 的适当参数吗?我试过的那些卡在“管道正在预滚动”中
import cv2
cap = cv2.VideoCapture("rtsp://....")
framerate = 25.0
out = cv2.VideoWriter('appsrc ! videoconvert ! '
'x264enc noise-reduction=10000 speed-preset=ultrafast
tune=zerolatency ! '
'rtph264pay config-interval=1 pt=96 !'
'tcpserversink host=192.168.1.27 port=5000 sync=false',
0, framerate, (640, 480))
counter = 0
while cap.isOpened():
ret, frame = cap.read()
if ret:
out.write(frame)
if cv2.waitKey(1) & 0xFF == ord('q'):
break
else:
break
cap.release()
out.release()
Run Code Online (Sandbox Code Playgroud)
我还尝试了另一种基于Write …