python 通过视频url获取视频的宽高方式
作者:benben0729 发布时间:2022-06-04 08:10:58
标签:python,视频,url,宽高
这里其实是通过获取视频截图的方式获得大小的
下面列举两个小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('更新失败')
来源:https://blog.csdn.net/benben0729/article/details/80991460


猜你喜欢
- Python中几种常用包比较2、用xlrd包读取Excel文件引用包import xlrd打开文件xlrd.open_workbook(r&
- 本文实例讲述了Python 操作mysql数据库查询之fetchone(), fetchmany(), fetchall()用法。分享给大家
- *父父组件(helloWorld.vue):<template> <div class="hello-world
- asp连接sql server代码如下:dim connset conn = Serve
- 很早之前就注册了Github,但对其使用一直懵懵懂懂,很不熟练。直到昨天做完百度前端技术学院的task,想把代码托管到Github上的时候发
- 1.Vue指令Vue提供自定义实现指令的功能, 和组件类似,可以是全局指令和局部指令,详细可以参见vue官网自定义指令一节(https://
- 一、location 对象是什么?window 对象给我们提供了一个 location 属性用于获取或设置窗体的 URL,并且可以用于解析
- 前言最近在用python写一个项目,发现一个很恶心的bug,就是同由一个类生成的两个实例之间的数据竟然会相互影响,这让我非常不解。后来联想到
- pytest介绍pytest是一个非常成熟的全功能的Python测试框架,主要特点有以下几点:1、简单灵活,容易上手,文档丰富;2、支持参数
- SQL登录时如果采用windows集成身份验证,登录框将会以“机器名\当前系统用户名”的格式显示登录名,而且登录名和密码都是灰色的,不允许用
- 被AJAX中DOM的操作郁闷了好几天,今天总算搞明白了,自学就是苦啊,苦的一把鼻涕一把泪的,把教训些出来,给后来者提个醒,老鸟就不要看了。下
- 本文实例讲述了MySQL中使用replace、regexp进行正则表达式替换的用法。分享给大家供大家参考,具体如下:今天一个朋友问我,如果将
- Mac安装python3环境首先我先给说明一下:我也是初次接触python,有一定的Java基础,对编程语法有一定基础,当然小菜在这里全当小
- 本文实例讲述了python实现希尔排序算法的方法。分享给大家供大家参考。具体如下:def shellSort(items): i
- vm.$delete()vm.$delete用法见官网。为什么需要Vue.delete()?在ES6之前, JS没有提供方法来侦测到一个属性
- 其实之前笔者写代码的时候用到模型的保存和加载,需要用的时候就去度娘搜一下大致代码,现在有时间就来整理下整个pytorch模型的保存和加载,开
- 如下所示:# 计算一个字符串中所有数字的和def numsum(s):sum = 0
- 原理:建一个栈,每次碰到一个新标签,就与栈顶的标签配对,如果配对,栈顶的标签就出栈,如果不配对,这个新标签就进栈,最终,栈如果是空的,说明所
- 有一个优秀的库可以使用————demjson示范链接http
- 上一篇:微软建议的ASP性能优化28条守则(7)技巧 22:尽可能使用 Server.Transfer 代替 Response.Redire