读取目录里视频信息,如文件名,影像文件大小,影像分辨率多少,影像总长度多少

时间: 2023-08-11 16:42:25 浏览: 45
好的,下面是使用Python实现读取目录里视频信息的代码: ```python import os import cv2 # 定义一个函数,用于获取视频信息 def get_video_info(video_path): # 打开视频文件 cap = cv2.VideoCapture(video_path) # 获取视频的基本信息 video_name = os.path.basename(video_path) video_size = os.path.getsize(video_path) video_width = int(cap.get(cv2.CAP_PROP_FRAME_WIDTH)) video_height = int(cap.get(cv2.CAP_PROP_FRAME_HEIGHT)) video_fps = int(cap.get(cv2.CAP_PROP_FPS)) video_frame_count = int(cap.get(cv2.CAP_PROP_FRAME_COUNT)) video_duration = video_frame_count / video_fps # 释放视频文件 cap.release() # 返回视频信息 return { 'name': video_name, 'size': video_size, 'resolution': f'{video_width}x{video_height}', 'duration': video_duration } # 定义一个函数,用于获取目录中所有视频的信息 def get_videos_info(dir_path): # 获取目录中所有文件的路径 file_paths = [os.path.join(dir_path, file_name) for file_name in os.listdir(dir_path)] # 筛选出视频文件的路径 video_paths = [file_path for file_path in file_paths if os.path.isfile(file_path) and file_path.endswith('.mp4')] # 获取每个视频的信息 videos_info = [get_video_info(video_path) for video_path in video_paths] # 返回所有视频的信息 return videos_info # 设置目录路径 dir_path = 'videos/' # 获取目录中所有视频的信息 videos_info = get_videos_info(dir_path) # 打印每个视频的信息 for video_info in videos_info: print(f"视频名称:{video_info['name']}") print(f"影像文件大小:{video_info['size']} bytes") print(f"影像分辨率:{video_info['resolution']}") print(f"影像总长度:{video_info['duration']} 秒") print('-' * 50) ``` 以上代码中,我们定义了两个函数。`get_video_info`函数用于获取单个视频的信息,`get_videos_info`函数用于获取目录中所有视频的信息。我们可以先调用`get_videos_info`函数获取目录中所有视频的信息,然后再逐个打印每个视频的信息。 在`get_video_info`函数中,我们使用OpenCV库打开视频文件,并获取视频的基本信息,如文件名、文件大小、影像分辨率、影像总长度等。最后,我们将这些信息存储在一个字典中,并返回该字典。 在`get_videos_info`函数中,我们首先获取目录中所有文件的路径,然后筛选出视频文件的路径。接着,我们调用`get_video_info`函数获取每个视频的信息,并将这些信息存储在一个列表中,并返回该列表。 在最后的代码中,我们将目录路径设置为`videos/`,然后调用`get_videos_info`函数获取目录中所有视频的信息,并逐个打印每个视频的信息。 希望这段代码能够帮到你!

相关推荐

最新推荐

recommend-type

Java实现解析dcm医学影像文件并提取文件信息的方法示例

主要介绍了Java实现解析dcm医学影像文件并提取文件信息的方法,结合实例形式分析了java基于第三方库文件针对dcm医学影像文件的解析操作相关实现技巧,需要的朋友可以参考下
recommend-type

Java实现读取文件夹下(包括子目录)所有文件的文件名

主要介绍了Java实现读取文件夹下(包括子目录)所有文件的文件名,本文把代码组织成了一个模块,可以很方便的使用,需要的朋友可以参考下
recommend-type

python批量读取文件名并写入txt文件中

主要为大家详细介绍了python批量读取文件名并写入txt文件中,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
recommend-type

java读取excel文件并复制(copy)文件到指定目录示例

主要介绍了java读取excel文件并复制文件到指定目录示例,需要的朋友可以参考下
recommend-type

C#读取视频的宽度和高度等信息的方法

主要介绍了C#读取视频的宽度和高度等信息的方法,通过执行一条CMD命令来实现读取视频宽度和高度的功能,具有不错的实用价值,需要的朋友可以参考下
recommend-type

zigbee-cluster-library-specification

最新的zigbee-cluster-library-specification说明文档。
recommend-type

管理建模和仿真的文件

管理Boualem Benatallah引用此版本:布阿利姆·贝纳塔拉。管理建模和仿真。约瑟夫-傅立叶大学-格勒诺布尔第一大学,1996年。法语。NNT:电话:00345357HAL ID:电话:00345357https://theses.hal.science/tel-003453572008年12月9日提交HAL是一个多学科的开放存取档案馆,用于存放和传播科学研究论文,无论它们是否被公开。论文可以来自法国或国外的教学和研究机构,也可以来自公共或私人研究中心。L’archive ouverte pluridisciplinaire
recommend-type

MATLAB取整函数与Web开发的作用:round、fix、floor、ceil在Web开发中的应用

![MATLAB取整函数与Web开发的作用:round、fix、floor、ceil在Web开发中的应用](https://img-blog.csdnimg.cn/2020050917173284.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2thbmdqaWVsZWFybmluZw==,size_16,color_FFFFFF,t_70) # 1. MATLAB取整函数概述** MATLAB取整函数是一组强大的工具,用于对数值进行
recommend-type

我想做python的算法工程师,我应该学什么?学习的顺序是什么?网上有什么推荐的免费课程吗?回答具体精确一点不要太笼统

对于想要成为 Python 算法工程师的人来说,他们应该先从掌握 Python 的基础语法开始,然后学习数据结构和算法,并且要深入了解 Python 中的一些科学计算和数据处理库,比如 NumPy、Pandas 等。 学习的顺序可以是先学习基础语法和编程技巧,然后再学习数据结构和算法相关的知识,最后深入了解数据处理和科学计算相关的库。 对于免费课程的推荐,我建议你可以先去 Coursera、edX、Udacity 等网站上寻找相关课程,这些网站上有很多优质的 Python 编程和算法课程,你可以根据自己的需求和学习进度进行选择。此外,还可以考虑一些在线编程网站,如 HackerRank、L
recommend-type

JSBSim Reference Manual

JSBSim参考手册,其中包含JSBSim简介,JSBSim配置文件xml的编写语法,编程手册以及一些应用实例等。其中有部分内容还没有写完,估计有生之年很难看到完整版了,但是内容还是很有参考价值的。