這里其實是通過獲取視頻截圖的方式獲得大小的
下面列舉兩個小demo
import cv2 #引入模塊 獲取視頻截圖的 from PIL import Image #引入模塊 獲取圖片大小 import os #引入系統命令 刪除圖片 video_full_path="http://qnmov.a.yximgs.com/upic/2018/06/06/12/BMjAxODA2MDYxMjQwMTZfMTkzMDUyMjRfNjU2NzMwNzI5MF8xXzM=_hd3_Bc143c8abf799984d2cc75a52de7039f0.mp4?tag=1-1530685096-h-0-xbkiau97pb-2b932528a435f1d0" cap = cv2.VideoCapture(video_full_path) #print(cap.isOpened()) if cap.isOpened():#正常打開 rval,frame = cap.read() else: rval = False cv2.imwrite("a.jpg",frame) img = Image.open('a.jpg') print(type(img.size)) print(img.size[0]) print(type(img.size[0])) my_file = "images/1.jpg" if os.path.exists(my_file): os.remove(my_file) else: print("no such file")
demo2 更新數據庫
#!/usr/bin/env python3 #-*- coding:utf-8 -*- from short_video import ShortVideo import json import re import requests import hashlib import cv2 from PIL import Image import logging import os try: query = ShortVideo().select() except: print('操作失敗') else: for item in query: shv = ShortVideo().select().where(ShortVideo.video_identify_md5 == item.video_identify_md5).get() video_url = shv.video_url cap = cv2.VideoCapture(video_url) if cap.isOpened(): rval,frame = cap.read() cv2.imwrite("images/"+str(shv.id)+".jpg",frame) img = Image.open("images/"+str(shv.id)+".jpg") w = img.size[0] h = img.size[1] shv.width_height = str(w)+'x'+str(h) #更新完刪除文件 my_file = "images/"+str(shv.id)+".jpg" if os.path.exists(my_file): os.remove(my_file) else: logging.info("no such file") else: logging.info('id:'+str(shv.id)+"更新失敗") continue if shv.save() == 1: print('更新成功') else: print('更新失敗')
以上這篇python 通過視頻url獲取視頻的寬高方式就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持億速云。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。