最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

python調(diào)用系統(tǒng)ffmpeg實(shí)現(xiàn)視頻截圖、http發(fā)送

 更新時(shí)間:2018年03月06日 12:01:49   作者:meiguopai1  
這篇文章主要為大家詳細(xì)介紹了python調(diào)用系統(tǒng)ffmpeg實(shí)現(xiàn)視頻截圖、http發(fā)送,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

python 調(diào)用系統(tǒng)ffmpeg進(jìn)行視頻截圖,并進(jìn)行圖片http發(fā)送ffmpeg ,視頻、圖片的各種處理。 

最近在做視頻、圖片的版權(quán)等深度學(xué)習(xí)識別,用到了ffmpeg部分功能,功能如下: 
調(diào)用ffmpeg 對不同目錄視頻進(jìn)行截圖,通過http發(fā)送到后臺進(jìn)行算法識別。 
每5分鐘掃描最近的視頻,生成圖片,發(fā)送完畢圖片刪除。 

代碼如下:


#!/usr/bin/env python 
# -*- coding: utf-8 -*- 
"""'定時(shí)任務(wù)每五分鐘發(fā)送上一個(gè)5分鐘視頻 
 目標(biāo)視頻:10.1.1.25 /usr/local/checkVideo  audited、auditing、black、white 
 find 
 """ 
import linecache 
import os 
import os.path 
import requests 
import time 
import datetime 
import sys 
reload(sys) 
sys.setdefaultencoding('utf8') 
 
#openAPI現(xiàn)網(wǎng)配置 
url='http://***/nudityRecog' 
app_key = '***' 
access_token = '***' 
imagedir='/opt/tomcat_api/video_sendto_api/image/' 
 
audited_dir='/usr/local/checkVideo/audited' 
auditing_dir='/usr/local/checkVideo/auditing' 
black_dir='/usr/local/checkVideo/black' 
white_dir='/usr/local/checkVideo/white' 
 
#時(shí)間差5分鐘執(zhí)行一次 
subtime=300 
 
#生成審核中截圖 
def create_auditing_image(auditing_dir): 
 #掃描視頻目錄生成截圖 
 for parent, dirnames, filenames in os.walk(auditing_dir): # 三個(gè)參數(shù):分別返回1.父目錄 2.所有文件夾名字(不含路徑) 3.所有文件名字 
  for filename in filenames: # 輸出文件信息 
   video_path = os.path.join(parent, filename) # 輸出文件路徑信息 
   filePath = unicode(video_path, 'utf8') #中文編碼 
   filetime= os.path.getmtime(filePath) #獲取修改時(shí)間 
   localtime=time.time() #獲取當(dāng)前系統(tǒng)時(shí)間 
   t=localtime-filetime #兩者差值 
   #判斷差值是否小于300s 
   if t<=subtime: 
    print t,filePath 
    filename=unicode(filename, 'utf8') #下載視頻名稱 
    #生成視頻md5 
    str_md5= 'md5sum'+' ' + filePath +' '+ "| awk '{print $1}'" 
    video_md5 = os.popen(str_md5).readline(32) 
    print filePath,video_md5 
    #拼接截圖命令行, 
    str_video= "ffmpeg -ss 0:1:00 -i "+" " +filePath + " "+"-r 0.01 -f image2 "+imagedir+video_md5+"-image-%5d.jpeg" 
    images = os.popen(str_video) # 調(diào)用命令行生成截圖 
    print str_video 
 
#生成審核完截圖 
def create_audited_image(audited_dir): 
 #掃描視頻目錄生成截圖 
 for parent, dirnames, filenames in os.walk(audited_dir): # 三個(gè)參數(shù):分別返回1.父目錄 2.所有文件夾名字(不含路徑) 3.所有文件名字 
  for filename in filenames: # 輸出文件信息 
   video_path = os.path.join(parent, filename) # 輸出文件路徑信息 
   filePath = unicode(video_path, 'utf8') #中文編碼 
   filetime= os.path.getmtime(filePath) #獲取修改時(shí)間 
   localtime=time.time() #獲取當(dāng)前系統(tǒng)時(shí)間 
   t=localtime-filetime #兩者差值 
   #判斷差值是否小于300s 
   if t<=subtime: 
    print t,filePath 
    filename=unicode(filename, 'utf8') #下載視頻名稱 
    #生成視頻md5 
    str_md5= 'md5sum'+' ' + filePath +' '+ "| awk '{print $1}'" 
    video_md5 = os.popen(str_md5).readline(32) 
    #拼接命令行, 
    str_video= "ffmpeg -ss 0:1:00 -i "+" " +filePath + " "+"-r 0.01 -f image2 "+imagedir+video_md5+"-image-%5d.jpeg" 
    images = os.popen(str_video) # 調(diào)用命令行生成截圖 
    print str_video 
 
#生成黑名單截圖 
def create_black_image(black_dir): 
 #掃描視頻目錄生成截圖 
 for parent, dirnames, filenames in os.walk(black_dir): # 三個(gè)參數(shù):分別返回1.父目錄 2.所有文件夾名字(不含路徑) 3.所有文件名字 
  for filename in filenames: # 輸出文件信息 
   video_path = os.path.join(parent, filename) # 輸出文件路徑信息 
   filePath = unicode(video_path, 'utf8') #中文編碼 
   filetime= os.path.getmtime(filePath) #獲取修改時(shí)間 
   localtime=time.time() #獲取當(dāng)前系統(tǒng)時(shí)間 
   t=localtime-filetime #兩者差值 
   #判斷差值是否小于300s 
   if t<=subtime: 
    print t,filePath 
    filename=unicode(filename, 'utf8') #下載視頻名稱 
    #生成視頻md5 
    str_md5= 'md5sum'+' ' + filePath +' '+ "| awk '{print $1}'" 
    video_md5 = os.popen(str_md5).readline(32) 
    #拼接命令行, 
    str_video= "ffmpeg -ss 0:1:00 -i "+" " +filePath + " "+"-r 0.01 -f image2 "+imagedir+video_md5+"-image-%5d.jpeg" 
    images = os.popen(str_video) # 調(diào)用命令行生成截圖 
    print str_video 
 
 
#生成白名單截圖 
def create_white_image(white_dir): 
 #掃描視頻目錄生成截圖 
 for parent, dirnames, filenames in os.walk(white_dir): # 三個(gè)參數(shù):分別返回1.父目錄 2.所有文件夾名字(不含路徑) 3.所有文件名字 
  for filename in filenames: # 輸出文件信息 
   video_path = os.path.join(parent, filename) # 輸出文件路徑信息 
   filePath = unicode(video_path, 'utf8') #中文編碼 
   filetime= os.path.getmtime(filePath) #獲取修改時(shí)間 
   localtime=time.time() #獲取當(dāng)前系統(tǒng)時(shí)間 
   t=localtime-filetime #兩者差值 
   #判斷差值是否小于300s 
   if t<=subtime: 
    print t,filePath 
    filename=unicode(filename, 'utf8') #下載視頻名稱 
    #生成視頻md5 
    str_md5= 'md5sum'+' ' + filePath +' '+ "| awk '{print $1}'" 
    video_md5 = os.popen(str_md5).readline(32) 
    #拼接命令行, 
    str_video= "ffmpeg -ss 0:1:00 -i "+" " +filePath + " "+"-r 0.01 -f image2 "+imagedir+video_md5+"-image-%5d.jpeg" 
    images = os.popen(str_video) # 調(diào)用命令行生成截圖 
    print str_video 
#發(fā)送圖片進(jìn)程 
def send_image(imagedir): 
 #掃描圖片路徑 
 for img_parent, img_dir_names, img_names in os.walk(imagedir): 
  for img_name in img_names: 
   image = os.path.join(img_parent, img_name) #拼接圖片完整路徑 
   print time.strftime("%Y-%m-%d %X"), image 
   #準(zhǔn)備發(fā)送圖片 
   file = dict(file=open(image, 'rb')) 
   post_data = {'mark': 'room-201', 'timestamp': 1846123456, 'random': 123} 
   headers = {'app_key': app_key, 'access_token': access_token} 
   result = requests.post(url, files=file, data=post_data, headers=headers, verify=False) 
   print result.content 
   #刪除發(fā)送的圖片 
   str_img = "rm -f " + " " + image 
   del_img = os.popen(str_img).readline() 
   print del_img 
 
if __name__ == "__main__": 
 #create_auditing_image(auditing_dir) 
 #create_audited_image(audited_dir) 
 #create_black_image(black_dir) 
 #create_white_image(white_dir) 
 send_image(imagedir) 

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • 如何在Python中對文件進(jìn)行操作

    如何在Python中對文件進(jìn)行操作

    這篇文章主要介紹了如何在Python中對文件進(jìn)行操作,文章圍繞主題展開內(nèi)容,即使用Python中內(nèi)置的open()函數(shù)來打開文件,返回文件對象,并對文件進(jìn)行處理
    2022-08-08
  • python中的多進(jìn)程的創(chuàng)建與啟動方式

    python中的多進(jìn)程的創(chuàng)建與啟動方式

    這篇文章主要介紹了python中的多進(jìn)程的創(chuàng)建與啟動,python中的并發(fā)有三種形式,多進(jìn)程、多線程、協(xié)程,執(zhí)?并發(fā)任務(wù)的?的是為了提?程序運(yùn)?的效率,本文通過實(shí)例代碼詳細(xì)講解需要的朋友可以參考下
    2022-12-12
  • python用opencv批量截取圖像指定區(qū)域的方法

    python用opencv批量截取圖像指定區(qū)域的方法

    今天小編就為大家分享一篇python用opencv批量截取圖像指定區(qū)域的方法,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-01-01
  • 淺析python內(nèi)置模塊collections

    淺析python內(nèi)置模塊collections

    collections是Python內(nèi)建的一個(gè)集合模塊,提供了許多有用的集合類。這篇文章主要介紹了python內(nèi)置模塊collections的相關(guān)知識,非常不錯,具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-11-11
  • python實(shí)現(xiàn)多張圖片拼接成大圖

    python實(shí)現(xiàn)多張圖片拼接成大圖

    這篇文章主要為大家詳細(xì)介紹了python實(shí)現(xiàn)多張圖片拼接成大圖,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-01-01
  • Python基于pyjnius庫實(shí)現(xiàn)訪問java類

    Python基于pyjnius庫實(shí)現(xiàn)訪問java類

    這篇文章主要介紹了Python基于pyjnius庫實(shí)現(xiàn)訪問java類,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-07-07
  • Python對圖像進(jìn)行灰度處理的代碼介紹

    Python對圖像進(jìn)行灰度處理的代碼介紹

    這篇文章主要給大家介紹了關(guān)于Python對圖像進(jìn)行灰度處理的相關(guān)資料,圖像灰度化是將一幅彩色圖像轉(zhuǎn)換為灰度化圖像的過程,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-11-11
  • python和bash統(tǒng)計(jì)CPU利用率的方法

    python和bash統(tǒng)計(jì)CPU利用率的方法

    這篇文章主要介紹了python和bash統(tǒng)計(jì)CPU利用率的方法,涉及Python針對系統(tǒng)硬件信息的讀取技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2015-07-07
  • 使用PYTHON解析Wireshark的PCAP文件方法

    使用PYTHON解析Wireshark的PCAP文件方法

    今天小編就為大家分享一篇使用PYTHON解析Wireshark的PCAP文件方法,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-07-07
  • TensorFlow——Checkpoint為模型添加檢查點(diǎn)的實(shí)例

    TensorFlow——Checkpoint為模型添加檢查點(diǎn)的實(shí)例

    今天小編就為大家分享一篇TensorFlow——Checkpoint為模型添加檢查點(diǎn)的實(shí)例,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-01-01

最新評論

澳门| 腾冲县| 青铜峡市| 瑞安市| 赣州市| 瑞昌市| 深泽县| 株洲市| 徐闻县| 东港市| 扎赉特旗| 鄂尔多斯市| 灵寿县| 涿鹿县| 武义县| 嘉荫县| 龙南县| 综艺| 闸北区| 中牟县| 调兵山市| 汉川市| 达州市| 抚松县| 平远县| 遵义市| 淮北市| 常熟市| 望谟县| 岳西县| 和政县| 濮阳县| 六盘水市| 嫩江县| 阿勒泰市| 太白县| 福安市| 丹巴县| 白河县| 廊坊市| 蒙城县|