Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Akses metadata pelbagai fail audio dan video menggunakan Python

Akses metadata pelbagai fail audio dan video menggunakan Python

王林
王林ke hadapan
2023-09-05 11:41:191195semak imbas

Akses metadata pelbagai fail audio dan video menggunakan Python

Kami boleh mengakses metadata fail audio menggunakan Mutagen dan modul eyeD3 dalam Python. Untuk metadata video kita boleh menggunakan filem dan perpustakaan OpenCV dalam Python. Metadata ialah data yang menyediakan maklumat tentang data lain, seperti data audio dan video. Metadata untuk fail audio dan video termasuk format fail, resolusi fail, saiz fail, tempoh, kadar bit, dsb. Dengan mengakses metadata ini, kami boleh mengurus media dengan lebih cekap dan menganalisis metadata untuk mendapatkan beberapa maklumat berguna. Dalam artikel ini, kita akan melihat beberapa perpustakaan atau modul yang disediakan oleh Python untuk mengakses metadata fail audio dan video.

Akses metadata audio

Sesetengah perpustakaan untuk mengakses metadata fail audio ialah -

Gunakan perpustakaan mutagen

Mutagen ialah modul Python sumber terbuka untuk memproses metadata audio. Ia menyokong hampir semua jenis fail audio seperti mp3, mp4, OGG, FLAC, dll. Mutagen digunakan untuk mengakses metadata fail audio dan juga untuk memanipulasi data audio.

Sebelum menggunakan mutagen, kita boleh memasang mutagen menggunakan arahan pip dalam Python.

pip install mutagen

Pip ialah pengurus pakej Python. Pip install mutagen akan memasang perpustakaan mutagen dalam fail tempatan anda.

Tatabahasa

audio["TIT2"].text[0]
Sifat

audio["TIT2"] mengembalikan objek dalam bentuk pasangan nilai kunci yang mengandungi pelbagai maklumat tentang fail audio. Akses tajuk fail audio menggunakan kekunci teks dalam objek.

audio.info.length

audio.info mengembalikan objek yang mengandungi semua maklumat tentang fail audio. Panjang fail audio boleh diakses menggunakan audio.info.length, yang mengembalikan panjang dalam beberapa saat.

Contoh

Berikut ialah contoh cara mengakses metadata fail mp3 menggunakan modul mutagen.mp3 daripada mutagen.

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

Output

222.17142857142858
Suhana Safar Par Prem Nagar Hai

Menggunakan perpustakaan eyeD3

eyeD3 juga merupakan perpustakaan sumber terbuka Python untuk memproses fail audio, terutamanya fail audio mp3. Menggunakan eyeD3, kita boleh membaca dan menulis metadata fail audio, dan juga mengendalikan atau mengemas kini fail audio.

Sebelum menggunakan eyeD3, kita boleh memasangnya menggunakan arahan pip dalam python -

pip install eyeD3

Pip ialah pengurus pakej Python. Pip pasang eyeD3 Pasang pustaka eyeD3 dalam fail setempat.

Tatabahasa

eyed3.load(your_audio_file)
Fungsi

eyed3.load() memuatkan fail audio dan boleh disimpan dalam pembolehubah. Parameter your_audio_file ialah laluan ke fail audio yang perlu anda muatkan.

Algoritma

  • Gunakan fungsi eyed3.load untuk memuatkan sebarang fail audio

  • Gunakan sifat audio.info.time_secs untuk mengakses panjang fail audio.

  • Gunakan sifat audio.tag.title untuk mengakses tajuk fail audio.

Contoh

Berikut ialah contoh penggunaan eyeD3 untuk mengakses metadata fail audio.

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

Output

223.33
Suhana Safar Par Prem Nagar Hai

Akses metadata video

Python juga mempunyai beberapa perpustakaan sumber terbuka untuk mengakses metadata fail video, seperti -

Kaedah 1: Menggunakan perpustakaan Moviepy

moviepy ialah perpustakaan Python sumber terbuka untuk penyuntingan video. Ia juga boleh digunakan untuk mengakses metadata fail video. Moviepy menyokong pelbagai format fail video, seperti mp4, AVI, MOV, dsb. Moviepy boleh membantu kami membaca dan menulis metadata fail video dan beroperasi pada fail video.

Sebelum menggunakan moviepy, anda mesti memasang perpustakaan moviepy menggunakan arahan pip dalam python: -

pip install moviepy

Algoritma

Untuk menggunakan moviepy untuk mengakses metadata fail video kita mesti -

  • Import modul VideoFileClip daripada moviepy.editor

  • Gunakan VideoClipFile untuk memuatkan fail video

  • Gunakan sifat movipy (seperti tempoh, saiz, dll.) untuk mengakses metadata fail video yang dimuatkan.

Contoh

Kami akan mengimport modul VideoFileClip daripada pakej moviepy.editor dan kemudian menggunakan modul VideoFileClip untuk memuatkan fail video kami. Video.duration dan video.size masing-masing mengembalikan tempoh dan saiz paparan fail video.

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

Output

50.74
[1920, 1080]

Menggunakan perpustakaan OpenCV

OpenCV ialah perpustakaan penglihatan komputer sumber terbuka yang digunakan dalam Python untuk memproses data video. Ia juga boleh digunakan untuk mengakses metadata pelbagai format fail video seperti MP4, AVI, MOV, dll. Anda boleh menggunakan OpenCV untuk membaca dan menulis metadata fail video dan melakukan pemprosesan video.

Sebelum menggunakan modul cv2, kita mesti memasang opencv-python-headless menggunakan arahan pip dalam Python -

pip install opencv-python-headless

Pip ialah pengurus pakej Python. Pip install opencv-python-headless memasang perpustakaan openCv dalam fail tempatan anda.

Tatabahasa

video.get(cv2.CAP_PROP_FPS)

Cv2 .CAP_PROP_FPS Mengembalikan kadar bingkai fail video. Gunakan fungsi video.get() untuk mengembalikan kadar bingkai video tertentu.

video.get(cv2.CAP_PROP_FRAME_WIDTH)

cv2.CAP_PROP_FRAME_WIDTH mengembalikan lebar bingkai fail video. Gunakan fungsi video.get() untuk mengembalikan lebar bingkai video tertentu.

video.get(cv2.CAP_PROP_FRAME_HEIGHT)

cv2.CAP_PROP_FRAME_HEIGHT mengembalikan ketinggian bingkai fail video. Gunakan fungsi video.get() untuk mengembalikan ketinggian bingkai video tertentu.

算法

要使用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 中还有许多其他库可用于访问音频和视频文件的元数据。最好浏览这些库的文档,以便更好地了解这些库提供的功能。

Atas ialah kandungan terperinci Akses metadata pelbagai fail audio dan video menggunakan Python. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:tutorialspoint.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam