python mutagen,mp4文件,如何使用'rtng' - 内容分级标签?

时间:2017-03-05 05:20:09

标签: python mp4 mutagen

在Windows上,当您查看"详细信息"对于mp4文件的标签,有一个"家长评级"似乎是自由文本的字段。我想把它设置为" PG"," R"等我的电影。

mutagen python模块有一个" rtng"标记,描述为内容分级,带有整数值。我假设这两个属性是相关的,并且不知何故有从整数到实际评级的映射?

如果这是真的,我试过这个:

from mutagen.mp4 import MP4
f = 'myfile.mp4'
mp4_video_tags = MP4(f)
mp4_video_tags['\xa9nam'] = 'My Title is long'
mp4_video_tags['\xa9gen'] = 'My Genre1; My Genre2'
mp4_video_tags['\xa9day'] = '1919'
mp4_video_tags['\xa9cmt'] = 'My Comments are very long'
mp4_video_tags['rtng'] = 1
mp4_video_tags.save()
print(mutagen.File(f))

一切正常,除了" mp4_video_tags [' rtng'] = 1"。我得到了

mutagen.mp4.MP4MetadataValueError: 'int' object is not iterable

当我尝试引用' 1':

mp4_video_tags['rtng'] = '1'

我收到另一个错误:

mutagen.mp4.MP4MetadataValueError: value out of range: '1'

所以我的问题是

  1. 文件中的家长评级属性是否通过' rtng'?
  2. 设置
  3. 如何设置' rtng'正确?
  4. G,PG,PG13,R等的整数值是什么?

2 个答案:

答案 0 :(得分:1)

rtng标记用于表示“家长咨询”属性。它主要由mp3文件用于标记 Explicit Clean 音乐类型。

rtng = 2将评估清洁
rtng = 4将评估明确
rtng = 0将评估为

除了0,2和4以外的任何东西,mutagen将其评估为 Explicit

修改
奇怪的是它需要list而不是int 当你给它一个list它然后工作正常,但你有多个评级由/分隔,这真的很奇怪。在这方面,这是一个问题。

例如,当您为其指定列表= [0,2,4]时,它会将评分标记设置为None / Explicit / Clean

目前似乎没有mutagen支持的标签,其中包含PG,PG-13,R等电影的内容评级

答案 1 :(得分:0)

我知道我参加聚会迟到了,但其他人可以提供帮助。回答您的问题:

  1. 是的,文件中的家长分级属性是通过“rtng”设置的。
  2. 正确的配置方法是在列表中放入一个整数: mp4_video_tags['rtng'] = [0] 到无。 mp4_video_tags['rtng'] = [2] 进行清洁。 mp4_video_tags['rtng'] = [4] 到显式。
  3. 正如您在上面回答的那样,目前似乎没有符合诱变剂的 包含电影内容分级的标签。