Advertisement
Guest User

Untitled

a guest
Jun 19th, 2019
141
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 7.05 KB | None | 0 0
  1. import cv2
  2. import numpy as np
  3. from datetime import datetime
  4. import gtk
  5. import keyboard
  6.  
  7. import pyaudio
  8. import wave
  9. import sys
  10.  
  11. flagrecord=True
  12. chunk = 1024
  13. FORMAT = pyaudio.paInt16
  14. CHANNELS = 1
  15. RATE = 44100
  16.  
  17.  
  18. def show_webcam(flagrecord):
  19.  
  20. cam = cv2.VideoCapture(0)
  21. fourcc = cv2.VideoWriter_fourcc(*'XVID')
  22. frame_width = int(cam.get(3))
  23. frame_height = int(cam.get(4))
  24. FONT = cv2.FONT_HERSHEY_PLAIN
  25. filename = datetime.now().strftime("%Y-%m-%d_%H.%M.%S") + ".avi"
  26. filenamea = datetime.now().strftime("%Y-%m-%d_%H.%M.%S")
  27.  
  28. p = pyaudio.PyAudio()
  29. stream = p.open(format = FORMAT,
  30. channels = CHANNELS,
  31. rate = RATE,
  32. input = True,
  33. frames_per_buffer = chunk)
  34. all = []
  35.  
  36. out = cv2.VideoWriter(filename,fourcc, 30, (frame_width,frame_height))
  37.  
  38. while True:
  39.  
  40. ret_val, img = cam.read()
  41. title = datetime.now().strftime("%Y-%m-%d*%H:%M:%S")
  42.  
  43. if flagrecord:
  44.  
  45. img = cv2.flip(img,1)
  46. cv2.putText(img, "REC", (40,40), FONT, 3 , (0,0,255), 2)
  47. cv2.circle(img, (20,20), 10 , (0,0,255), -1)
  48. cv2.rectangle(img, (30,430),(600,480),(0,0,0), -1)
  49. cv2.putText(img, title, (40,470), FONT, 3 , (255,255,255), 2)
  50. cv2.imshow('Grabacion de Audiencias', img)
  51. out.write(img)
  52.  
  53. stream.start_stream()
  54. data = stream.read(chunk)
  55. all.append(data)
  56.  
  57. else:
  58.  
  59. img = cv2.flip(img,1)
  60. cv2.putText(img, "PAUSE", (40,40), FONT, 3 , (255,0,0), 2)
  61. cv2.circle(img, (20,20), 10 , (255,0,0), -1)
  62. cv2.rectangle(img, (50,430),(570,480),(0,0,0), -1)
  63. cv2.putText(img, "Audiencias En Pausa", (60,470), FONT, 3 , (255,255,255), 2)
  64. cv2.imshow('Grabacion de Audiencias', img)
  65. stream.stop_stream()
  66.  
  67. if cv2.waitKey(1) == 27:
  68. break
  69. if keyboard.is_pressed('p'):
  70. flagrecord=False
  71. if keyboard.is_pressed('c'):
  72. flagrecord=True
  73. if keyboard.is_pressed('q'):
  74. break
  75.  
  76. cam.release()
  77. out.release()
  78. cv2.destroyAllWindows()
  79.  
  80. data = ''.join(all)
  81. wf = wave.open(filenamea, 'wb')
  82. wf.setnchannels(CHANNELS)
  83. wf.setsampwidth(p.get_sample_size(FORMAT))
  84. wf.setframerate(RATE)
  85. wf.writeframes(data)
  86. wf.close()
  87.  
  88.  
  89. def main():
  90. show_webcam(mirror=True)
  91.  
  92.  
  93. if __name__ == '__main__':
  94. main()
  95.  
  96. import cv2
  97. import numpy as np
  98. from datetime import datetime
  99. import gtk
  100. import keyboard
  101.  
  102. import pyaudio
  103. import wave
  104. import sys
  105.  
  106. flagrecord=True
  107. #chunk = 1024
  108. FORMAT = pyaudio.paInt16
  109. CHANNELS = 1
  110. RATE = 44100
  111. ropen=True
  112. chunk = int(RATE/20)
  113.  
  114.  
  115. def show_webcam(flagrecord):
  116.  
  117. cam = cv2.VideoCapture(0)
  118. fourcc = cv2.VideoWriter_fourcc(*'XVID')
  119. frame_width = int(cam.get(3))
  120. frame_height = int(cam.get(4))
  121. FONT = cv2.FONT_HERSHEY_PLAIN
  122. filename = datetime.now().strftime("%Y-%m-%d_%H.%M.%S") + ".avi"
  123. filenamea = datetime.now().strftime("%Y-%m-%d_%H.%M.%S")
  124.  
  125.  
  126. p = pyaudio.PyAudio()
  127. stream = p.open(format = FORMAT,
  128. channels = CHANNELS,
  129. rate = RATE,
  130. input = True,
  131. frames_per_buffer = chunk)
  132.  
  133. out = cv2.VideoWriter(filename,fourcc, 20, (frame_width,frame_height))
  134.  
  135. all = []
  136. aux = []
  137. stream.start_stream()
  138.  
  139. flagaudio=False
  140.  
  141. while True:
  142.  
  143. ret_val, img = cam.read()
  144. title = datetime.now().strftime("%Y-%m-%d*%H:%M:%S")
  145.  
  146. if flagrecord:
  147.  
  148. img = cv2.flip(img,1)
  149. cv2.putText(img, "REC", (40,40), FONT, 3 , (0,0,255), 3)
  150. cv2.circle(img, (20,20), 10 , (0,0,255), -1)
  151. cv2.rectangle(img, (30,430),(600,480),(0,0,0), -1)
  152. cv2.putText(img, title, (40,470), FONT, 3 , (255,255,255), 2)
  153. cv2.imshow('Grabacion de Audiencias', img)
  154. data = stream.read(chunk)
  155. aux.append(data)
  156. out.write(img)
  157.  
  158. else:
  159.  
  160. img = cv2.flip(img,1)
  161. cv2.putText(img, "PAUSE", (40,40), FONT, 3 , (255,0,0), 3)
  162. cv2.circle(img, (20,20), 10 , (255,0,0), -1)
  163. cv2.rectangle(img, (50,430),(570,480),(0,0,0), -1)
  164. cv2.putText(img, "Audiencias En Pausa", (60,470), FONT, 3 , (255,0,0), 2)
  165. cv2.imshow('Grabacion de Audiencias', img)
  166.  
  167. if flagaudio:
  168. all+=aux
  169. del aux[:]
  170. data= 0
  171. stream.stop_stream()
  172. else:
  173. pass
  174.  
  175.  
  176. q=cv2.waitKey(1)
  177. if q == 27:
  178. break
  179. if q == ord('p'):
  180. flagrecord=False
  181. flagaudio = True
  182. if q == ord('c'):
  183. flagrecord=True
  184. flagaudio=False
  185. stream.start_stream()
  186. if q == ord('q'):
  187. break
  188.  
  189. cam.release()
  190. out.release()
  191. cv2.destroyAllWindows()
  192.  
  193. stream.close()
  194. p.terminate()
  195. all+=aux
  196. data = ''.join(all)
  197. wf = wave.open(filenamea, 'wb')
  198. wf.setnchannels(CHANNELS)
  199. wf.setsampwidth(p.get_sample_size(FORMAT))
  200. wf.setframerate(RATE)
  201. wf.writeframes(data)
  202. wf.close()
  203.  
  204.  
  205.  
  206.  
  207. def main():
  208. show_webcam(mirror=True)
  209.  
  210.  
  211. if __name__ == '__main__':
  212. main()
  213.  
  214. flagrecord=True
  215. #chunk = 1024
  216. FORMAT = pyaudio.paInt16
  217. CHANNELS = 1
  218. RATE = 44100
  219. ropen=True
  220. chunk = int(RATE/20)
  221.  
  222. all = []
  223. aux = []
  224. stream.start_stream()
  225. flagaudio=False
  226.  
  227. if flagrecord:
  228.  
  229. img = cv2.flip(img,1)
  230. cv2.putText(img, "REC", (40,40), FONT, 3 , (0,0,255), 3)
  231. cv2.circle(img, (20,20), 10 , (0,0,255), -1)
  232. cv2.rectangle(img, (30,430),(600,480),(0,0,0), -1)
  233. cv2.putText(img, title, (40,470), FONT, 3 , (255,255,255), 2)
  234. cv2.imshow('Grabacion de Audiencias', img)
  235. data = stream.read(chunk)
  236. aux.append(data)
  237. out.write(img)
  238.  
  239. else:
  240.  
  241. img = cv2.flip(img,1)
  242. cv2.putText(img, "PAUSE", (40,40), FONT, 3 , (255,0,0), 3)
  243. cv2.circle(img, (20,20), 10 , (255,0,0), -1)
  244. cv2.rectangle(img, (50,430),(570,480),(0,0,0), -1)
  245. cv2.putText(img, "Audiencias En Pausa", (60,470), FONT, 3 , (255,0,0), 2)
  246. cv2.imshow('Grabacion de Audiencias', img)
  247.  
  248. if flagaudio:
  249. all+=aux
  250. del aux[:]
  251. data= 0
  252. stream.stop_stream()
  253. else:
  254. pass
  255.  
  256. q=cv2.waitKey(1)
  257. if q == 27:
  258. break
  259. if q == ord('p'):
  260. flagrecord=False
  261. flagaudio = True
  262. if q == ord('c'):
  263. flagrecord=True
  264. flagaudio=False
  265. stream.start_stream()
  266. if q == ord('q'):
  267. break
  268.  
  269. cam.release()
  270. out.release()
  271. cv2.destroyAllWindows()
  272.  
  273. stream.close()
  274. p.terminate()
  275. all+=aux
  276. data = ''.join(all)
  277. wf = wave.open(filenamea, 'wb')
  278. wf.setnchannels(CHANNELS)
  279. wf.setsampwidth(p.get_sample_size(FORMAT))
  280. wf.setframerate(RATE)
  281. wf.writeframes(data)
  282. wf.close()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement