1 Star 0 Fork 1

overflow2014/project_7848602

forked from 张凯/darknet_djiango 
加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
rtsp.py 1.91 KB
一键复制 编辑 原始数据 按行查看 历史
张凯 提交于 2019-01-23 13:41 . 初始化工程
import cv2
import subprocess as sp
import darknet
rtmpUrl = 'rtmp://127.0.0.1:1935/live/'
# cap = cv2.VideoCapture('rtsp://192.168.11.70:554/12')
cap = cv2.VideoCapture('test.MTS')
# cap = cv2.VideoCapture('http://lib.xst.io/files/uav-video/10%E6%9C%88DJI_0059.mp4')
# 检测是否打开视频流
print(cap.isOpened())
# 视频属性
size = (int(cap.get(cv2.CAP_PROP_FRAME_WIDTH)), int(cap.get(cv2.CAP_PROP_FRAME_HEIGHT)))
sizeStr = str(size[0]) + 'x' + str(size[1])
fps = cap.get(cv2.CAP_PROP_FPS) # 30p/self
fps = 20 # 30p/self
fps = int(fps)
hz = int(1000.0 / fps)
print('size:'+ sizeStr + ' fps:' + str(fps) + ' hz:' + str(hz))
#定义编码格式mpge-4
fourcc = cv2.VideoWriter_fourcc('M', 'P', '4', '2')
#定义视频文件输入对象
outVideo = cv2.VideoWriter('saveDir.avi',fourcc,24,size)
frameNum = 1
# 管道输出 ffmpeg推送rtmp 重点 : 通过管道 共享数据的方式
command = ['ffmpeg.exe',
'-y',
'-f', 'rawvideo',
'-use_wallclock_as_timestamps', '1',
'-vcodec','rawvideo',
'-pix_fmt', 'bgr24',
'-s', sizeStr,
'-r', str(fps),
'-i', '-',
# '-c:v', 'libx264',
# '-pix_fmt', 'yuv420p',
# '-preset', 'ultrafast',
'-f', 'flv',
rtmpUrl]
# pipe = sp.Popen(command, stdout = sp.PIPE, bufsize=10**8)
pipe = sp.Popen(command, stdin=sp.PIPE) #,shell=False
# pipe.stdin.write(frame.tostring())
while(cap.isOpened()):
ret,frame = cap.read()
# print(frameNum)
frameNum = frameNum + 1
# cv2.imshow('frame',frame)
# 视频文件保存
# outVideo.write(frame)
cv2.imwrite("temp.jpg", frame)
if frameNum%20 == 0 :
pipe.stdin.write(darknet.performDetect2("temp.jpg",weightPath='yolov3-tiny-obj_6000.weights', metaPath="data/obj.data", configPath="cfg/yolov3-tiny-obj.cfg").tostring()) # 存入管道
else:
# 存入管道
pipe.stdin.write(frame.tostring())
cap.release()
outVideo.release()
cv2.destroyAllWindows()
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/overflow2014/darknet_djiango.git
git@gitee.com:overflow2014/darknet_djiango.git
overflow2014
darknet_djiango
project_7848602
master

搜索帮助

0d507c66 1850385 C8b1a773 1850385