利用Python脚本自动按分辨率整理视频文件

白榆
白榆
发布时间:2026-10-14| 5人浏览过
原创

本文介绍如何使用Python脚本自动对视频文件按分辨率进行分类整理。通过调用ffprobe获取视频元数据,程序可自动创建以宽高命名的目录并将视频移入其中,从而解决视频素材杂乱难找的问题,显著提升工作效率。

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视频处理内容,建议查阅本站往期文章或继续浏览后续内容。感谢大家的支持!

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。