使用python对视频文件分辨率进行分组的实例代码

在平时的工作中,我们的目录有很多的视频文件,如果你没有一个好的视频分类习惯,在找视频素材的时候会很费时,通过对视频的分辨路进行分类可以在需要的时候快速找到你想要的视频分辨率。当然人工去分类是一种比较费时费力的工作,通过软件也好,程序也罢都是为了可以提高我们的工作效率。

代码分享

import os
import subprocess
import json
import shutil
import datetime

def get_files(file_dir):
    for root, dirs, files in os.walk(file_dir):
        if len(files) > 0:
            # 获取图片路径
            for f in files:
                if f.endswith(".mp4"):
                    p = os.path.join(root, f)
                    h, w, t = get_video_info(p)

                    new_dir = os.path.realpath(
                        "{}\{}x{}".format(file_dir, h, w))
                    if not os.path.exists(new_dir):
                        os.makedirs(new_dir)
                    shutil.move(p, os.path.join(new_dir, "{}.mp4".format(t)))

def get_video_info(file_path):

    cmd = "ffprobe -v quiet -print_format json -show_streams -i {}".format(
        file_path)

    with open('output.json', 'w') as f:
        subprocess.call(cmd, stdout=f)

    with open('output.json', 'r') as f:
        streams = json.load(f)
        for i in streams["streams"]:
            if i['codec_type'] == "video":
                print(file_path)
                t2 = ""
                try:
                    t1 = datetime.datetime.strptime(
                        i['tags']['creation_time'], "%Y-%m-%dT%H:%M:%S.%f%z")
                    t2 = datetime.datetime.strftime(t1, '%Y%m%d%H%M%S')
                except KeyError:
                    t2 = datetime.datetime.now().strftime('%Y%m%d%H%M%S')
                return i['height'], i['width'], t2
            else:
                continue

if __name__ == "__main__":
    file_dir = input("dir:")
    get_files(file_dir)

代码使用了ffprobe获取视频信息

原文:http://www.rencaixiu.cn/archives/811/

到此这篇关于使用python对视频文件分辨率进行分组的文章就介绍到这了,更多相关python视频文件分辨率分组内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • python 获取图片分辨率的方法

    pil版: from PIL import Image filename = r'E:\data\yangben\0.jpg' img = Image.open(filename) imgSize = img.size #图片的长和宽 print (imgSize) maxSize = max(imgSize) #图片的长边 minSize = min(imgSize) #图片的短边 print(maxSize, minSize) opencv版: img = cv2.imread(F1) sp

  • python画图时设置分辨率和画布大小的实现(plt.figure())

    本文介绍了python画图时设置分辨率和画布大小的实现,主要使用plt.figure(),下面就一起来了解一下 plt.figure() 示例: import numpy as np import pandas as pd import warnings warnings.filterwarnings('ignore') import matplotlib.pyplot as plt import seaborn as sns #读取示例数据 df = pd.read_csv( 'https:/

  • Python批量修改图片分辨率的实例代码

    前言:处理图片需要,需把图片都转换成1920*1280的大小, python实现很方便,需要导入图片处理的Image包和匹配的glob包,很简单,代码如下: img_path = glob.glob("D:/chosed/*.jpg") path_save = "D:/closedd" for file in img_path: name = os.path.join(path_save, file) im = Image.open(file) im.thumbna

  • python opencv设置摄像头分辨率以及各个参数的方法

    1,为了获取视频,你应该创建一个 VideoCapture 对象.他的参数可以是设备的索引号,或者是一个视频文件.设备索引号就是在指定要使用的摄像头.一般的笔记本电脑都有内置摄像头.所以参数就是 0.你可以通过设置成 1 或者其他的来选择别的摄像头.之后,你就可以一帧一帧的捕获视频了.但是最后,别忘了停止捕获视频.使用 ls /dev/video*命令可以查看摄像头设备 2,cap.read() 返回一个布尔值(True/False).如果帧读取的是正确的,就是 True.所以最后你可以通过检查

  • 使用python matplotlib 画图导入到word中如何保证分辨率

    在写论文时,如果是菜鸟级别,可能不会花太多时间去学latex,直接用word去写,但是这有一个问题,当我们用其他工具画完实验彩色图时,放到word中会有比较模糊,这有两个原因导致的. 原因一:图片导入word中,word会对图片进行压缩,导致图片分辨率变小.可以在word中指定word的属性.过程如下: 选中图片 选择格式菜单栏 点击压缩图片按钮(上面圈出来的地方),在弹出来的对话框选择(220ppi),如下图所示: 原因二:用matplotlib产生的图片太大,如果在word中显示就需要缩小,

  • python获取网页中所有图片并筛选指定分辨率的方法

    压测时,图片太少,想着下载网页中的图片,然后过滤指定分辨率,但网页中指定分辨率的图片太少了(见下) 后使用格式工厂转换图片 import urllib.request # 导入urllib模块 import re # 导入re模块 import os from PIL import Image htmlurl = 'http://www.win4000.com/wallpaper_detail_134824_3.html' downloadpath = 'C:\\Users\\yaowanjun

  • 使用python对视频文件分辨率进行分组的实例代码

    在平时的工作中,我们的目录有很多的视频文件,如果你没有一个好的视频分类习惯,在找视频素材的时候会很费时,通过对视频的分辨路进行分类可以在需要的时候快速找到你想要的视频分辨率.当然人工去分类是一种比较费时费力的工作,通过软件也好,程序也罢都是为了可以提高我们的工作效率. 代码分享 import os import subprocess import json import shutil import datetime def get_files(file_dir): for root, dirs,

  • python读写csv文件并增加行列的实例代码

    python读写csv文件并增加行列,具体代码如下所示: # -*- coding: utf-8 -*- """ Created on Thu Aug 17 11:28:17 2017 @author: Shawn Yuen """ import csv d = list(range(38685)) with open('./kinetics_test.csv') as f1: f_csv = csv.DictReader(f1) for i,

  • Python OpenCV视频文件相关操作教程

    目录 一.从文件中读取视频并播放 1.创建读取视频的对象 2.获取视频某些属性 3.修改视频属性信息 4.判断图像是否读取成功 5.获取视频的一帧图像 6.释放图像 二.视频文件的保存 1.在OpenCV中保存视频使用的是VedioWriter对象,创建视频写入对象 2.设置视频的编解码器 3.利用cap.read()获取视频中的每一帧图像,使用out.write()将某一帧图像写入视频中 4.使用cap.release()和out.release()释放资源 三.视频文件目标追踪 1.mean

  • python 实现tar文件压缩解压的实例详解

    python 实现tar文件压缩解压的实例详解 压缩文件: import tarfile import os def tar(fname): t = tarfile.open(fname + ".tar.gz", "w:gz") for root, dir, files in os.walk(fname): print root, dir, files for file in files: fullpath = os.path.join(root, file) t.

  • Python FTP两个文件夹间的同步实例代码

    具体代码如下所示: # -*- coding: utf-8 -*- ''''''' ftp自动检测源文件夹的更新,将源文件夹更新的内容拷贝到目标文件夹中 使用树的层序遍历算法,支持深度目录拷贝 ''' import os from ftplib import FTP import os,sys,string,datetime,time import shutil import socket class MyUpdateMonitor(object): def __init__(self, hos

  • 使用python读取csv文件快速插入数据库的实例

    如下所示: # -*- coding:utf-8 -*- # auth:ckf # date:20170703 import pandas as pd import cStringIO import warnings from sqlalchemy import create_engine import sys reload(sys) sys.setdefaultencoding('utf8') warnings.filterwarnings('ignore') engine = create_

  • python读取yaml文件后修改写入本地实例

    首先安装pip install ruamel.yaml 用于修改yaml文件 #coding:utf-8 from ruamel import yaml def up_yml(ip_server): with open('./../docker-compose-demo.yml', encoding="utf-8") as f: content = yaml.load(f, Loader=yaml.RoundTripLoader) # 修改yml文件中的参数 content['serv

  • Python实现微信消息防撤回功能的实例代码

    微信(WeChat)是腾讯公司于2011年1月21日推出的一款社交软件,8年时间微信做到日活10亿,日消息量450亿.在此期间微信也推出了不少的功能如:"摇一摇"."漂流瓶"."朋友圈"."附近的人"."公众平台"."小程序"等等,涵盖了我们生活的方方面面,微信正在慢慢践行着他们的口号:微信,是一个生活方式 一.背景介绍 产品的更新迭代必然会伴随着功能的推出和下线,今天我们要讲的便是微信

  • Python 等分切分数据及规则命名的实例代码

    将一份一亿多条数据的csv文件等分为10份,代码如下所示: import pandas as pd data = pd.read_csv('C:\\Users\\PycharmProjects\\SplitData\\data\\UserBehavior.csv') # 路径则根据个人存放项目文件的习惯 num = 0 for i in range(1, 11): start = num num = num + int(data.shape[0] / 10) file = data.iloc[s

  • Python中 CSV格式清洗与转换的实例代码

    题目: CSV格式清洗与转换 描述 附件是一个CSV格式文件,提取数据进行如下格式转换:‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬ (1)按行进行倒序排列:‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬

随机推荐