当前位置: 首页>前端>正文

python调用ffmpeg速度慢 python调用ffmpeg命令

1. python 调用系统ffmpeg进行视频截图,并进行图片http发送ffmpeg 是个好东西。视频、图片的各种处理。  
2. <pre name="code" class="python">最近在做视频、图片的 色情、版权、暴*恐的深度学习识别,用到了ffmpeg部分功能,功能如下:  
3. 调用ffmpeg 对不同目录视频进行截图,通过http发送到后台进行算法识别。  
4. 每5分钟扫描最近的视频,生成图片,发送完毕图片删除。  
5. </pre>代码如下:<br>  
6. <br>  
7. <br>  
8. <pre name="code" class="python">#!/usr/bin/env python  
9. # -*- coding: utf-8 -*-  
10. """'定时任务每五分钟发送上一个5分钟视频
11.     目标视频:10.1.1.25 /usr/local/checkVideo     audited、auditing、black、white
12.     find
13.     """  
14. import linecache  
15. import os  
16. import os.path  
17. import requests  
18. import time  
19. import datetime  
20. import sys  
21. reload(sys)  
22. sys.setdefaultencoding('utf8')  
23.   
24. #openAPI现网配置  
25. url='http://***/nudityRecog'  
26. app_key = '***'  
27. access_token = '***'  
28. imagedir='/opt/tomcat_api/video_sendto_api/image/'  
29.   
30. audited_dir='/usr/local/checkVideo/audited'  
31. auditing_dir='/usr/local/checkVideo/auditing'  
32. black_dir='/usr/local/checkVideo/black'  
33. white_dir='/usr/local/checkVideo/white'  
34.   
35. #时间差5分钟执行一次  
36. subtime=300  
37.   
38. #生成审核中截图  
39. def create_auditing_image(auditing_dir):  
40. #扫描视频目录生成截图  
41. for parent, dirnames, filenames in os.walk(auditing_dir):  # 三个参数:分别返回1.父目录 2.所有文件夹名字(不含路径) 3.所有文件名字  
42. for filename in filenames:  # 输出文件信息  
43. # 输出文件路径信息  
44. 'utf8') #中文编码  
45. #获取修改时间  
46. #获取当前系统时间  
47. #两者差值  
48. #判断差值是否小于300s  
49. if t<=subtime:  
50. print t,filePath  
51. 'utf8')  #下载视频名称  
52. #生成视频md5  
53. 'md5sum'+' ' + filePath +' '+ "| awk  '{print }'"  
54. 32)  
55. print filePath,video_md5  
56. #拼接截图命令行,  
57. "ffmpeg -ss 0:1:00 -i "+" " +filePath + " "+"-r 0.01 -f image2 "+imagedir+video_md5+"-image-%5d.jpeg"  
58. # 调用命令行生成截图  
59. print str_video  
60.   
61. #生成审核完截图  
62. def create_audited_image(audited_dir):  
63. #扫描视频目录生成截图  
64. for parent, dirnames, filenames in os.walk(audited_dir):  # 三个参数:分别返回1.父目录 2.所有文件夹名字(不含路径) 3.所有文件名字  
65. for filename in filenames:  # 输出文件信息  
66. # 输出文件路径信息  
67. 'utf8') #中文编码  
68. #获取修改时间  
69. #获取当前系统时间  
70. #两者差值  
71. #判断差值是否小于300s  
72. if t<=subtime:  
73. print t,filePath  
74. 'utf8')  #下载视频名称  
75. #生成视频md5  
76. 'md5sum'+' ' + filePath +' '+ "| awk  '{print }'"  
77. 32)  
78. #拼接命令行,  
79. "ffmpeg -ss 0:1:00 -i "+" " +filePath + " "+"-r 0.01 -f image2 "+imagedir+video_md5+"-image-%5d.jpeg"  
80. # 调用命令行生成截图  
81. print str_video  
82.   
83. #生成黑名单截图  
84. def create_black_image(black_dir):  
85. #扫描视频目录生成截图  
86. for parent, dirnames, filenames in os.walk(black_dir):  # 三个参数:分别返回1.父目录 2.所有文件夹名字(不含路径) 3.所有文件名字  
87. for filename in filenames:  # 输出文件信息  
88. # 输出文件路径信息  
89. 'utf8') #中文编码  
90. #获取修改时间  
91. #获取当前系统时间  
92. #两者差值  
93. #判断差值是否小于300s  
94. if t<=subtime:  
95. print t,filePath  
96. 'utf8')  #下载视频名称  
97. #生成视频md5  
98. 'md5sum'+' ' + filePath +' '+ "| awk  '{print }'"  
99. 32)  
100. #拼接命令行,  
101. "ffmpeg -ss 0:1:00 -i "+" " +filePath + " "+"-r 0.01 -f image2 "+imagedir+video_md5+"-image-%5d.jpeg"  
102. # 调用命令行生成截图  
103. print str_video  
104.   
105.   
106. #生成白名单截图  
107. def create_white_image(white_dir):  
108. #扫描视频目录生成截图  
109. for parent, dirnames, filenames in os.walk(white_dir):  # 三个参数:分别返回1.父目录 2.所有文件夹名字(不含路径) 3.所有文件名字  
110. for filename in filenames:  # 输出文件信息  
111. # 输出文件路径信息  
112. 'utf8') #中文编码  
113. #获取修改时间  
114. #获取当前系统时间  
115. #两者差值  
116. #判断差值是否小于300s  
117. if t<=subtime:  
118. print t,filePath  
119. 'utf8')  #下载视频名称  
120. #生成视频md5  
121. 'md5sum'+' ' + filePath +' '+ "| awk  '{print }'"  
122. 32)  
123. #拼接命令行,  
124. "ffmpeg -ss 0:1:00 -i "+" " +filePath + " "+"-r 0.01 -f image2 "+imagedir+video_md5+"-image-%5d.jpeg"  
125. # 调用命令行生成截图  
126. print str_video  
127. #发送图片进程  
128. def send_image(imagedir):  
129. #扫描图片路径  
130. for img_parent, img_dir_names, img_names in os.walk(imagedir):  
131. for img_name in img_names:  
132. #拼接图片完整路径  
133. print time.strftime("%Y-%m-%d %X"), image  
134. #准备发送图片  
135. 'rb'))  
136. 'mark': 'room-201', 'timestamp': 1846123456, 'random': 123}  
137. 'app_key': app_key, 'access_token': access_token}  
138. False)  
139. print result.content  
140. #删除发送的图片  
141. "rm -f " + " " + image  
142.             del_img = os.popen(str_img).readline()  
143. print del_img  
144.   
145. if __name__ == "__main__":  
146. #create_auditing_image(auditing_dir)  
147. #create_audited_image(audited_dir)  
148. #create_black_image(black_dir)  
149. #create_white_image(white_dir)  
150.     send_image(imagedir)  
151. </pre><br>  
152. <pre></pre>

https://www.xamrdz.com/web/2cg1964444.html

相关文章: