我有一堆很老的mp3文件,没有任何版权。然而,我从他们那里获得的地方已经用自己的网站网址填充了版权标签。
我想知道是否有一种简单的方法可以通过编程方式删除这些标签?有一个winamp添加允许我为每首歌做这个,但这不是很可行。
编辑:版权是ID3标签的一部分吗?
谢谢,-Roozbeh
你可以使用getID3库。
这是一个例子:
<?php
$TaggingFormat = 'UTF-8';
require_once('../getid3/getid3.php');
// Initialize getID3 engine
$getID3 = new getID3;
$getID3->setOption(array('encoding'=>$TaggingFormat));
require_once('../getid3/write.php');
// Initialize getID3 tag-writing module
$tagwriter = new getid3_writetags;
//$tagwriter->filename = '/path/to/file.mp3';
$tagwriter->filename = 'd:/file.mp3';
$tagwriter->filename = 'P:/webroot/_dev/getID3/testfiles/_writing/2011-02-02/test.mp3';
//$tagwriter->tagformats = array('id3v1', 'id3v2.3');
$tagwriter->tagformats = array('id3v2.3');
// set various options (optional)
$tagwriter->overwrite_tags = true;
$tagwriter->overwrite_tags = false;
$tagwriter->tag_encoding = $TaggingFormat;
$tagwriter->remove_other_tags = true;
// populate data array
$TagData = array(
'title' => array('My Song'),
'artist' => array('The Artist'),
'album' => array('Greatest Hits'),
'year' => array('2004'),
'genre' => array('Rock'),
'comment' => array('excellent!'),
'track' => array('04/16'),
);
$tagwriter->tag_data = $TagData;
// write tags
if ($tagwriter->WriteTags()) {
echo 'Successfully wrote tags<br>';
if (!empty($tagwriter->warnings)) {
echo 'There were some warnings:<br>'.implode('<br><br>', $tagwriter->warnings);
}
} else {
echo 'Failed to write tags!<br>'.implode('<br><br>', $tagwriter->errors);
}
?>
你可以使用VLC播放器。单击工具 - >媒体信息
有一些像Amarok这样的开源工具可以让你对ID3标签进行批量更改。
是的这是有效的!只需下载最新版本的VLC媒体播放器即可。打开其中的mp3文件。右键单击文件>选择“信息”>编辑出版商和版权信息>点击下面的“保存元数据”。你完成了。 :)
我的解决方案,改变你想要的路径:
import os
import shutil
from mutagen.mp3 import MP3
for root, dirs, files in os.walk(path):
for file in files:
if file.endswith('.mp3'):
f = os.path.join(root, file)
try:
mp3 = MP3(f)
mp3.delete()
mp3.save()
print('ok')
except:
print('no ID3 tag')
print('Done')
不需要任何PHP代码只需重现mp3文件,即刻录和翻录或缩小大小和时间制作新文件,您可以在其中指定自己的众多选项