将水印添加到MP3下载

5
我注意到像iTunes和Amazon这样的公司会向其mp3文件添加“水印”,显示以下信息:
  • 文件是从哪里购买的。
  • 谁购买了它。
  • 等等。
亚马逊还在声明中说:

“一些唱片公司要求我们在随音乐一起提供的元数据中插入标识符”

我正在开发一个将销售mp3下载的电子商务网站。由于iTunes和Amazon被强制添加水印到他们的歌曲中,有些唱片公司很可能也会要求我所开发的网站这样做。
该网站是使用ASP.NET 4和C#开发的Web应用程序。为每个下载mp3的用户在我们的Web服务器上生成带有元数据修改的新文件似乎不切实际,因为这将导致数千个临时mp3文件驻留在我们的服务器上。
是否有任何方法可以在文件被下载时将相关元数据注入文件,或者在客户端使用HTML5进行注入?

4
在客户端对文件添加水印似乎是个很糟糕的想法。用户只需删除添加水印的代码即可得到未经标记的文件。 - magnattic
1
难道不只是使用ID3标签吗?仅仅因为从技术上来说这是个不好的想法,并不意味着唱片公司不会要求这样做... - robertc
1
我同意,但用户仍然可以下载工具来从他们的文件中删除元数据... 你有任何建议吗? - Curious Coder
1个回答

3
你不需要在服务器上创建数千个文件。你可以从源头读取,通过某些插入水印的方法进行流处理,然后直接将新的mp3流输出到http响应中。
这个库提供了很多有用的类,用于读写mp3流和其他音频操作。

http://naudio.codeplex.com/

它没有内置水印功能。你需要自己添加水印,这将是非常复杂的部分。你需要以一种方式修改原始文件,使你能够识别水印数据,但不影响音频质量,并且不能轻易地删除。祝好运。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接