在Python中更改音频/视频文件的元数据

9 投票
2 回答
28394 浏览
提问于 2025-04-16 00:13

好的,我在这里找了很久,但没有找到一个明确的答案。

我想在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等格式的音频文件,可能还有其他音频格式使用不同的元数据格式)。

撰写回答