在Python中更改音频/视频文件的元数据
好的,我在这里找了很久,但没有找到一个明确的答案。
我想在Windows系统中更改一些音频/视频文件的艺术家、文件名、评分、类型等信息,这些信息在你查看文件夹的“详细信息”时会显示出来。
目前,我已经把想要编辑的文件放在一个列表里,我正在逐个处理这些文件,但正如我所说的,我不太确定如何为列表中的每个文件进行更改。
def Files(The_FileList):
'''Changes each files metadata'''
for each_file in The_FileList:
#clueless here.
return The_FileList
需要能够处理.avi和.mkv这类常见电影文件,因为我经常进行编码。
我希望能找到一个简单的方法,因为这就是我想做的全部。
谢谢
2 个回答
6
Mutagen已经实现了。
我给大家留了一个例子,展示如何修改目录中所有文件的三个属性:
import mutagen
from mutagen.mp4 import MP4
from os import scandir
ruta = './'
l_archivos = sorted([archivo.name for archivo in scandir(ruta) if archivo.is_file()])
mutagen.File(l_archivos[1]) # U: See the tags of the data
def edit_Media_Data():
for f in range(len(l_archivos[:-1])): # A: A range of all the fields exept the script
file = MP4(l_archivos[f]) # A: Capture the file to edit
file['©nam'] = l_archivos[f].replace('.mp4','') # U: Take the file name and makeit the tittle
file['©ART'] = 'Hector_Costa_Guzman' # U: Edit the Autor
file['©alb'] = 'Curso_Django' # U: Edit the Album
file.pprint()
file.save()
8
在很多情况下(包括这个例子),元数据是和文件类型相关的。虽然有些文件系统,比如NTFS及其后续版本,会提供自己的元数据,但这里说的元数据是来自文件本身,而不是文件系统。
如果你想修改这些文件的元数据,你可能可以使用Mutagen库(假设这些文件是mp3、aac、flac、vorbis等格式的音频文件,可能还有其他音频格式使用不同的元数据格式)。