目錄
存取音訊元資料
使用誘變劑庫
文法
範例
輸出
使用eyeD3函式庫
演算法
存取視訊元資料
方法1:使用Moviepy庫
使用OpenCV函式庫
算法
示例
输出
结论
首頁 後端開發 Python教學 使用Python存取各種音訊和視訊檔案的元數據

使用Python存取各種音訊和視訊檔案的元數據

Sep 05, 2023 am 11:41 AM
python 影片 音訊 元數據 訪問

使用Python存取各種音訊和視訊檔案的元數據

我們可以使用 Mutagen 和 Python 中的 eyeD3 模組存取音訊檔案的元資料。對於視訊元數據,我們可以使用電影和 Python 中的 OpenCV 庫。元資料是提供有關其他資料(例如音訊和視訊資料)的資訊的資料。音訊和視訊檔案的元資料包括檔案格式、檔案解析度、檔案大小、持續時間、位元率等。透過存取這些元數據,我們可以更有效地管理媒體並分析元數據以獲得一些有用的信息。在本文中,我們將了解 Python 提供的一些用於存取音訊和視訊檔案元資料的庫或模組。

存取音訊元資料

一些用於存取音訊檔案元資料的庫是 -

使用誘變劑庫

Mutagen 是一個開源 Python 模組,用於處理音訊元資料。它支援幾乎所有類型的音訊文件,如mp3、mp4、OGG、FLAC等。 Mutagen用於存取音訊檔案的元數據,也用於操作音訊資料。

在使用mutagen之前,我們可以使用Python中的pip指令安裝mutagen。

pip install mutagen
登入後複製

Pip 是一個 Python 套件管理器。 Pip install mutagen 會在您的本機檔案中安裝 mutagen 函式庫。

文法

audio["TIT2"].text[0]
登入後複製

audio[“TIT2”] 屬性以鍵值對的形式傳回一個對象,其中包含有關音訊檔案的各種資訊。使用物件中的文字鍵存取音訊檔案的標題。

audio.info.length
登入後複製

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
登入後複製

輸出

222.17142857142858
Suhana Safar Par Prem Nagar Hai
登入後複製

使用eyeD3函式庫

eyeD3 也是一個 Python 開源程式庫,用於處理音訊文件,特別是 mp3 音訊檔案。使用eyeD3,我們可以讀取和寫入音訊檔案的元數據,還可以操作或更新音訊檔案。

在使用 eyeD3 之前,我們可以使用 python 中的 pip 指令來安裝它 -

pip install eyeD3
登入後複製

Pip 是一個 Python 套件管理器。 Pip install eyeD3 在本機檔案中安裝 eyeD3 函式庫。

文法

eyed3.load(your_audio_file)
登入後複製

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
登入後複製

輸出

223.33
Suhana Safar Par Prem Nagar Hai
登入後複製

存取視訊元資料

Python 還有一些用於存取視訊檔案元資料的開源庫,例如 -

方法1:使用Moviepy庫

moviepy 是一個開源的 Python 函式庫,用於影片編輯。它還可以用來存取視訊檔案的元資料。 Moviepy 支援多種影片檔案格式,如 mp4、AVI、MOV 等。 Moviepy 可以幫助我們讀取和寫入影片檔案的元數據,並對影片檔案進行操作。

在使用 moviepy 之前,您必須使用 python 中的 pip 指令安裝 moviepy 函式庫: -

pip install moviepy
登入後複製

演算法

要使用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
登入後複製

輸出

50.74
[1920, 1080]
登入後複製

使用OpenCV函式庫

OpenCV是一個在Python中使用的開源電腦視覺庫,用於處理視訊資料。它還可以用於存取各種視訊檔案格式(如MP4、AVI、MOV等)的元資料。可以使用OpenCV讀取和寫入視訊檔案的元數據,並進行視訊處理。

在使用 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() 函數傳回特定影片的幀速率。

video.get(cv2.CAP_PROP_FRAME_WIDTH)
登入後複製

cv2.CAP_PROP_FRAME_WIDTH傳回視訊檔案的幀寬度。使用video.get()函數可以傳回特定視訊的幀寬度。

video.get(cv2.CAP_PROP_FRAME_HEIGHT)
登入後複製

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
登入後複製

输出

60.0 1920.0 1080.0
登入後複製

结论

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

以上是使用Python存取各種音訊和視訊檔案的元數據的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

PHP和Python:解釋了不同的範例 PHP和Python:解釋了不同的範例 Apr 18, 2025 am 12:26 AM

PHP主要是過程式編程,但也支持面向對象編程(OOP);Python支持多種範式,包括OOP、函數式和過程式編程。 PHP適合web開發,Python適用於多種應用,如數據分析和機器學習。

在PHP和Python之間進行選擇:指南 在PHP和Python之間進行選擇:指南 Apr 18, 2025 am 12:24 AM

PHP適合網頁開發和快速原型開發,Python適用於數據科學和機器學習。 1.PHP用於動態網頁開發,語法簡單,適合快速開發。 2.Python語法簡潔,適用於多領域,庫生態系統強大。

Python vs. JavaScript:學習曲線和易用性 Python vs. JavaScript:學習曲線和易用性 Apr 16, 2025 am 12:12 AM

Python更適合初學者,學習曲線平緩,語法簡潔;JavaScript適合前端開發,學習曲線較陡,語法靈活。 1.Python語法直觀,適用於數據科學和後端開發。 2.JavaScript靈活,廣泛用於前端和服務器端編程。

PHP和Python:深入了解他們的歷史 PHP和Python:深入了解他們的歷史 Apr 18, 2025 am 12:25 AM

PHP起源於1994年,由RasmusLerdorf開發,最初用於跟踪網站訪問者,逐漸演變為服務器端腳本語言,廣泛應用於網頁開發。 Python由GuidovanRossum於1980年代末開發,1991年首次發布,強調代碼可讀性和簡潔性,適用於科學計算、數據分析等領域。

vs code 可以在 Windows 8 中運行嗎 vs code 可以在 Windows 8 中運行嗎 Apr 15, 2025 pm 07:24 PM

VS Code可以在Windows 8上運行,但體驗可能不佳。首先確保系統已更新到最新補丁,然後下載與系統架構匹配的VS Code安裝包,按照提示安裝。安裝後,注意某些擴展程序可能與Windows 8不兼容,需要尋找替代擴展或在虛擬機中使用更新的Windows系統。安裝必要的擴展,檢查是否正常工作。儘管VS Code在Windows 8上可行,但建議升級到更新的Windows系統以獲得更好的開發體驗和安全保障。

visual studio code 可以用於 python 嗎 visual studio code 可以用於 python 嗎 Apr 15, 2025 pm 08:18 PM

VS Code 可用於編寫 Python,並提供許多功能,使其成為開發 Python 應用程序的理想工具。它允許用戶:安裝 Python 擴展,以獲得代碼補全、語法高亮和調試等功能。使用調試器逐步跟踪代碼,查找和修復錯誤。集成 Git,進行版本控制。使用代碼格式化工具,保持代碼一致性。使用 Linting 工具,提前發現潛在問題。

notepad 怎麼運行python notepad 怎麼運行python Apr 16, 2025 pm 07:33 PM

在 Notepad 中運行 Python 代碼需要安裝 Python 可執行文件和 NppExec 插件。安裝 Python 並為其添加 PATH 後,在 NppExec 插件中配置命令為“python”、參數為“{CURRENT_DIRECTORY}{FILE_NAME}”,即可在 Notepad 中通過快捷鍵“F6”運行 Python 代碼。

vscode 擴展是否是惡意的 vscode 擴展是否是惡意的 Apr 15, 2025 pm 07:57 PM

VS Code 擴展存在惡意風險,例如隱藏惡意代碼、利用漏洞、偽裝成合法擴展。識別惡意擴展的方法包括:檢查發布者、閱讀評論、檢查代碼、謹慎安裝。安全措施還包括:安全意識、良好習慣、定期更新和殺毒軟件。

See all articles