使用Python访问各种音频和视频文件的元数据

王林
Lepaskan: 2023-09-05 11:41:19
ke hadapan
1085 orang telah melayarinya

使用Python访问各种音频和视频文件的元数据

我们可以使用 Mutagen 和 Python 中的 eyeD3 模块访问音频文件的元数据。对于视频元数据,我们可以使用电影和 Python 中的 OpenCV 库。元数据是提供有关其他数据(例如音频和视频数据)的信息的数据。音频和视频文件的元数据包括文件格式、文件分辨率、文件大小、持续时间、比特率等。通过访问这些元数据,我们可以更有效地管理媒体并分析元数据以获得一些有用的信息。在本文中,我们将了解 Python 提供的一些用于访问音频和视频文件元数据的库或模块。

访问音频元数据

一些用于访问音频文件元数据的库是 -

使用诱变剂库

Mutagen 是一个开源 Python 模块,用于处理音频元数据。它支持几乎所有类型的音频文件,如mp3、mp4、OGG、FLAC等。Mutagen用于访问音频文件的元数据,也用于操作音频数据。

在使用mutagen之前,我们可以使用Python中的pip命令安装mutagen。

pip install mutagen
Salin selepas log masuk

Pip 是一个 Python 包管理器。Pip install mutagen会在您的本地文件中安装 mutagen 库。

语法

audio["TIT2"].text[0]
Salin selepas log masuk

audio[“TIT2”]属性以键值对的形式返回一个对象,其中包含有关音频文件的各种信息。使用对象中的文本键访问音频文件的标题。

audio.info.length
Salin selepas log masuk

audio.info返回一个包含音频文件所有信息的对象。可以使用audio.info.length来访问音频文件的长度,它会返回以秒为单位的长度。

示例

下面是如何使用 mutagen 中的 mutagen.mp3 模块访问 mp3 文件的元数据的示例。

from mutagen.mp3 import MP3 audio = MP3("audio.mp3") # put your audio file in the place of audio.mp3 print(audio.info.length) # Print the length of the audio file print(audio["TIT2"].text[0]) # Print the title of the audio file
Salin selepas log masuk

输出

222.17142857142858 Suhana Safar Par Prem Nagar Hai
Salin selepas log masuk

使用eyeD3库

eyeD3 也是一个 Python 开源库,用于处理音频文件,特别是 mp3 音频文件。使用eyeD3,我们可以读取和写入音频文件的元数据,还可以操作或更新音频文件。

在使用 eyeD3 之前,我们可以使用 python 中的 pip 命令安装它 -

pip install eyeD3
Salin selepas log masuk

Pip 是一个 Python 包管理器。Pip install eyeD3在本地文件中安装 eyeD3 库。

语法

eyed3.load(your_audio_file)
Salin selepas log masuk

eyed3.load()函数加载音频文件并可以存储在变量中。参数your_audio_file是您需要加载的音频文件的路径。

算法

  • 使用eyed3.load函数加载任何音频文件

  • 使用audio.info.time_secs属性访问音频文件长度。

  • 使用 audio.tag.title 属性访问音频文件的标题。

示例

这里是使用eyeD3访问音频文件元数据的示例。

import eyed3 audio = eyed3.load("audio.mp3") # put your audio file in the place of audio.mp3 print(audio.info.time_secs) # Print the length of the audio file print(audio.tag.title) # Print the title of the audio file
Salin selepas log masuk

输出

223.33 Suhana Safar Par Prem Nagar Hai
Salin selepas log masuk

访问视频元数据

Python 还有一些用于访问视频文件元数据的开源库,例如 -

方法1:使用Moviepy库

moviepy 是一个开源的 Python 库,用于视频编辑。它还可以用来访问视频文件的元数据。Moviepy 支持多种视频文件格式,如 mp4、AVI、MOV 等。Moviepy 可以帮助我们读取和写入视频文件的元数据,并对视频文件进行操作。

在使用 moviepy 之前,您必须使用 python 中的 pip 命令安装 moviepy 库: -

pip install moviepy
Salin selepas log masuk

算法

要使用moviepy来访问视频文件的元数据,我们必须 -

  • 从moviepy.editor导入VideoFileClip模块

  • 使用VideoClipFile加载视频文件

  • 使用movipy的属性(如duration,size等)访问已加载的视频文件的元数据。

示例

我们将从moviepy.editor包中导入VideoFileClip模块,然后使用VideoFileClip模块加载我们的视频文件。Video.durationvideo.size分别返回视频文件的持续时间和显示尺寸。

from moviepy.editor import VideoFileClip video = VideoFileClip("video.mp4") print(video.duration) # Print the duration of the video print(video.size) # Print the size of the video
Salin selepas log masuk

输出

50.74 [1920, 1080]
Salin selepas log masuk

使用OpenCV库

OpenCV是一个在Python中使用的开源计算机视觉库,用于处理视频数据。它还可以用于访问各种视频文件格式(如MP4、AVI、MOV等)的元数据。可以使用OpenCV读取和写入视频文件的元数据,并进行视频处理。

在使用 cv2 模块之前,我们必须使用 Python 中的 pip 命令安装 opencv-python-headless -

pip install opencv-python-headless
Salin selepas log masuk

Pip 是一个 Python 包管理器。Pip install opencv-python-headless 在您的本地文件中安装了 openCv 库。

语法

video.get(cv2.CAP_PROP_FPS)
Salin selepas log masuk

Cv2 .CAP_PROP_FPS 返回视频文件的帧速率。使用 video.get() 函数返回特定视频的帧速率。

video.get(cv2.CAP_PROP_FRAME_WIDTH)
Salin selepas log masuk

cv2.CAP_PROP_FRAME_WIDTH返回视频文件的帧宽度。使用video.get()函数可以返回特定视频的帧宽度。

video.get(cv2.CAP_PROP_FRAME_HEIGHT)
Salin selepas log masuk

cv2.CAP_PROP_FRAME_HEIGHT 返回视频文件的帧高度。使用 video.get() 函数返回特定视频的帧高度。

算法

要使用OpenCV访问视频文件的元数据,我们必须执行以下操作−

  • 导入opencv

  • 使用 cv2.VideoCapture 属性加载视频文件

  • 使用 CAP_PROP_FRAME_WIDTH、FRAME_HEIGHT 等属性访问文件的各种元数据。

示例

使用 cv2.VideoCapture 模块将视频文件导入变量中。现在,这个存储的视频文件可用于使用 cv2 模块中的 CAP_PROP_FPS、CAP_PROP_FRAME_WIDTH 等属性获取元数据。

import cv2 video = cv2.VideoCapture("video.mp4") fps = video.get(cv2.CAP_PROP_FPS) # Get the frame rate of the video width = video.get(cv2.CAP_PROP_FRAME_WIDTH) # Get the width of the video height = video.get(cv2.CAP_PROP_FRAME_HEIGHT) # Get the height of the video print(fps, width, height) # Print the frame rate, width, and height of the video
Salin selepas log masuk

输出

60.0 1920.0 1080.0
Salin selepas log masuk

结论

在本文中,我们讨论了 Python 提供的一些用于访问音频和视频文件元数据的库。对于音频文件,我们探索了 mutagen 和 eyeD3 库;对于视频文件,我们探索了 moviepy 和 openCV 库。 Python 中还有许多其他库可用于访问音频和视频文件的元数据。最好浏览这些库的文档,以便更好地了解这些库提供的功能。

Atas ialah kandungan terperinci 使用Python访问各种音频和视频文件的元数据. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:tutorialspoint.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!