我們可以使用 Mutagen 和 Python 中的 eyeD3 模塊訪問音頻文件的元數(shù)據(jù)。對于視頻元數(shù)據(jù),我們可以使用電影和 Python 中的 OpenCV 庫。元數(shù)據(jù)是提供有關(guān)其他數(shù)據(jù)(例如音頻和視頻數(shù)據(jù))的信息的數(shù)據(jù)。音頻和視頻文件的元數(shù)據(jù)包括文件格式、文件分辨率、文件大小、持續(xù)時間、比特率等。通過訪問這些元數(shù)據(jù),我們可以更有效地管理媒體并分析元數(shù)據(jù)以獲得一些有用的信息。在本文中,我們將了解 Python 提供的一些用于訪問音頻和視頻文件元數(shù)據(jù)的庫或模塊。
一些用于訪問音頻文件元數(shù)據(jù)的庫是 -
Mutagen 是一個開源 Python 模塊,用于處理音頻元數(shù)據(jù)。它支持幾乎所有類型的音頻文件,如mp3、mp4、OGG、FLAC等。Mutagen用于訪問音頻文件的元數(shù)據(jù),也用于操作音頻數(shù)據(jù)。
在使用mutagen之前,我們可以使用Python中的pip命令安裝mutagen。
立即學習“Python免費學習筆記(深入)”;
pip install mutagen
Pip 是一個 Python 包管理器。 Pip install mutagen 會在您的本地文件中安裝 mutagen 庫。
audio["TIT2"].text[0]
audio[“TIT2”] 屬性以鍵值對的形式返回一個對象,其中包含有關(guān)音頻文件的各種信息。使用對象中的文本鍵訪問音頻文件的標題。
audio.info.length
audio.info返回一個包含音頻文件所有信息的對象??梢允褂胊udio.info.length來訪問音頻文件的長度,它會返回以秒為單位的長度。
下面是如何使用 mutagen 中的 mutagen.mp3 模塊訪問 mp3 文件的元數(shù)據(jù)的示例。
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
222.17142857142858 Suhana Safar Par Prem Nagar Hai
eyeD3 也是一個 Python 開源庫,用于處理音頻文件,特別是 mp3 音頻文件。使用eyeD3,我們可以讀取和寫入音頻文件的元數(shù)據(jù),還可以操作或更新音頻文件。
在使用 eyeD3 之前,我們可以使用 python 中的 pip 命令安裝它 -
pip install eyeD3
Pip 是一個 Python 包管理器。 Pip install eyeD3 在本地文件中安裝 eyeD3 庫。
eyed3.load(your_audio_file)
eyed3.load()函數(shù)加載音頻文件并可以存儲在變量中。參數(shù)your_audio_file是您需要加載的音頻文件的路徑。
使用eyed3.load函數(shù)加載任何音頻文件
使用audio.info.time_secs屬性訪問音頻文件長度。
使用 audio.tag.title 屬性訪問音頻文件的標題。
這里是使用eyeD3訪問音頻文件元數(shù)據(jù)的示例。
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
223.33 Suhana Safar Par Prem Nagar Hai
Python 還有一些用于訪問視頻文件元數(shù)據(jù)的開源庫,例如 -
moviepy 是一個開源的 Python 庫,用于視頻編輯。它還可以用來訪問視頻文件的元數(shù)據(jù)。Moviepy 支持多種視頻文件格式,如 mp4、AVI、MOV 等。Moviepy 可以幫助我們讀取和寫入視頻文件的元數(shù)據(jù),并對視頻文件進行操作。
在使用 moviepy 之前,您必須使用 python 中的 pip 命令安裝 moviepy 庫: -
pip install moviepy
要使用moviepy來訪問視頻文件的元數(shù)據(jù),我們必須 -
從moviepy.editor導(dǎo)入VideoFileClip模塊
使用VideoClipFile加載視頻文件
使用movipy的屬性(如duration,size等)訪問已加載的視頻文件的元數(shù)據(jù)。
我們將從moviepy.editor包中導(dǎo)入VideoFileClip模塊,然后使用VideoFileClip模塊加載我們的視頻文件。 Video.duration和video.size分別返回視頻文件的持續(xù)時間和顯示尺寸。
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
50.74 [1920, 1080]
OpenCV是一個在Python中使用的開源計算機視覺庫,用于處理視頻數(shù)據(jù)。它還可以用于訪問各種視頻文件格式(如MP4、AVI、MOV等)的元數(shù)據(jù)??梢允褂肙penCV讀取和寫入視頻文件的元數(shù)據(jù),并進行視頻處理。
在使用 cv2 模塊之前,我們必須使用 Python 中的 pip 命令安裝 opencv-python-headless -
pip install opencv-python-headless
Pip 是一個 Python 包管理器。Pip install opencv-python-headless 在您的本地文件中安裝了 openCv 庫。
video.get(cv2.CAP_PROP_FPS)
Cv2 .CAP_PROP_FPS 返回視頻文件的幀速率。使用 video.get() 函數(shù)返回特定視頻的幀速率。
video.get(cv2.CAP_PROP_FRAME_WIDTH)
cv2.CAP_PROP_FRAME_WIDTH返回視頻文件的幀寬度。使用video.get()函數(shù)可以返回特定視頻的幀寬度。
video.get(cv2.CAP_PROP_FRAME_HEIGHT)
cv2.CAP_PROP_FRAME_HEIGHT 返回視頻文件的幀高度。使用 video.get() 函數(shù)返回特定視頻的幀高度。
要使用OpenCV訪問視頻文件的元數(shù)據(jù),我們必須執(zhí)行以下操作?
導(dǎo)入opencv
使用 cv2.VideoCapture 屬性加載視頻文件
使用 CAP_PROP_FRAME_WIDTH、FRAME_HEIGHT 等屬性訪問文件的各種元數(shù)據(jù)。
使用 cv2.VideoCapture 模塊將視頻文件導(dǎo)入變量中?,F(xiàn)在,這個存儲的視頻文件可用于使用 cv2 模塊中的 CAP_PROP_FPS、CAP_PROP_FRAME_WIDTH 等屬性獲取元數(shù)據(jù)。
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
60.0 1920.0 1080.0
在本文中,我們討論了 Python 提供的一些用于訪問音頻和視頻文件元數(shù)據(jù)的庫。對于音頻文件,我們探索了 mutagen 和 eyeD3 庫;對于視頻文件,我們探索了 moviepy 和 openCV 庫。 Python 中還有許多其他庫可用于訪問音頻和視頻文件的元數(shù)據(jù)。最好瀏覽這些庫的文檔,以便更好地了解這些庫提供的功能。
以上就是使用Python訪問各種音頻和視頻文件的元數(shù)據(jù)的詳細內(nèi)容,更多請關(guān)注php中文網(wǎng)其它相關(guān)文章!
python怎么學習?python怎么入門?python在哪學?python怎么學才快?不用擔心,這里為大家提供了python速學教程(入門到精通),有需要的小伙伴保存下載就能學習啦!
微信掃碼
關(guān)注PHP中文網(wǎng)服務(wù)號
QQ掃碼
加入技術(shù)交流群
Copyright 2014-2025 http://m.miracleart.cn/ All Rights Reserved | php.cn | 湘ICP備2023035733號