早在2007年的时候,我曾写过一篇名为“YouTube: The Big Copyright Lie”(YouTube:关于版权的弥天大谎)的文章,表达了我对YouTube又爱又恨的情感纠结:

现在回想一下你在YouTube上看过的所有视频。它们当中有多少包含原始内容?

那可能是“认知失调”的极端情况:根据YouTube自己定下的规则——禁止传播受版权保护的内容——YouTube根本无法生存。然而,YouTube现在还活得好好的!

认知失调(Cognitive Dissonance)又名认知不和谐,指的是一个人的行为与自己先前一贯的对自我的认知(而且通常是正面的、积极的自我)产生分歧,从一个认知推断出另一个对立的认知时而产生的不舒适感、不愉快的情绪。——译者注

YouTube网站上90%的内容都是有版权的,而且很显然在这些内容的使用上并没有得到授权——基于这个现实,我们该怎样去理解YouTube在版权保护方面的官方立场呢?看起来,YouTube在奉行“不问,不说”的宽容政策——他们不会费劲去检验用户上传的内容是原始内容或者是合理使用(Fair Use)。受版权保护的内容会一直留存在YouTube上,除非内容所有人投诉,到那时,也只有到那时候,那些内容才会从YouTube被删除。

“不问,不说”(Don’t ask, don’t tell)原本是美国针对在军队里服役的同性恋者的一项政策,该政策禁止在军队里区分或骚扰保持秘密关系的同性恋或双性恋的服役人员,从而把公开关系的同性恋者排除在军队之外,因为同性恋被认为会伤害军队的士气、纪律和凝聚力。这项政策于2011年被废止。——译者注

今天要讲的是,请谨慎行事

在以前,我一直认为YouTube不可能通过技术手段来解决这个问题。若是将用户上传的每一个视频都抽取出某种指纹信息,然后再与所有的版权内容一一比对,这种做法在我看来是相当可笑的,简直是不可能完成的任务。

就在几天前,我往YouTube上传了电影《Better Off Dead》(再见人生)中的一小段视频,为的只是在“一路向前冲”这篇博文中引用一下。这是典型的“合理使用”——从电影里摘录出来一小段,放在一篇博客文章中进行相关的论述。到目前为止,一切都还好。

这篇文章已经收入作者的另一本书《高效能程序员的修炼》的第2章,人民邮电出版社(2013年)。——译者注

随后,我又上传了另外一部电影中的一小段视频,打算在将来的一篇博文中使用。然而,在上传之后的一小时内,我收到了这样一封邮件,大致意思为:

亲爱的某某用户,

您的某某视频可能含有某某公司所属的内容。

您无需采取任何措施。然而,如果您有兴趣了解这会对您的视频产生什么影响,请访问您的账号信息里的“内容标识匹配”部分。

谨上,

YouTube团队

这段时长90秒钟的小视频摘自最近的一部电影。请注意,其实这也并不是什么很热门的电影,但也许你听说过它的名字。那封邮件让我心醉神迷,同时也带给我些许恐惧:他们是怎么做到的?那段视频是我(使用Windows Movie Maker软件)从一部小制作电影里随机裁剪出来的,他们竟然能在我上传后的一小时内发现了……他们必定有一套自动化系统,能够将用户上传的内容与所有版权内容(或者是最流行的一部分内容)作比对——这也正是我之前认为的“不可能完成的任务”。

哦,哦……我开始研究这事。我很快发现了“Fun with YouTube's Audio Content ID System”(有趣的YouTube音频内容标识系统)这篇文章。虽然它没有提到视频,但这事肯定是相关的:

有一天,我很意外地收到YouTube自动发来的一封邮件,声称我的视频有音乐版权问题,因此从网站上删除了。但我之前没有意识到会有这样的问题。

于是,我制作的那个汽车广告(做得相当不错哦)因为使用了一首未经授权的歌曲而被“拿下”了。真是气死我了!为了剔除那首歌,我得回过头去重新编辑视频,这可不是件容易事,因为源盘已经不知塞到哪个鞋盒里去了。编辑完之后,我还不能只是简单地重新上传,因为这个视频已经被标记过了,每次上传都会被“拿下”。我必须想个办法摆平指纹识别系统。当时我很气愤,但又无计可施。

我挖空心思,尝试了每一种可能通过指纹识别系统的音频处理方法。我想出了一个几乎很科学的方法来测试每一次修改,最后总算搞定了。

我做了更进一步的研究,然后发现了这个简短的TED演讲:“HowYouTube thinks about copyright”(YouTube如何看待版权问题)。

我们将用户上传的每一个视频跟我们数据库里的所有参考文件进行对比。下面的热图展示了我们的核心系统是如何工作的。

我们看到,一个参考文件正被用于与用户生成的内容进行比对。系统会把一个文件的每个时间点跟另一个文件比较,以发现两者之间存在的匹配。这也意味着,即使用户只是从原始文件里抽取了一部分,或者以慢动作播放,甚至损失了音频或视频的质量,我们照样能匹配出来。

个显示器一样,没有一丝一毫的停歇。

不得不承认,我被YouTube这套新的版权检测系统震惊了,它的范畴、规模以及效力都深深打动了我——而这些,我以前认为是不可能做到的!我强烈建议大家看看上面提到的那个TED演讲。它并不长。我对YouTube的视频识别工具研究得越多,我就越觉得:抵抗是徒劳的。这个系统是如此之棒,以致于你如果想要通过它,唯一的办法就是大大地牺牲你的音视频内容的质量,但这样的话,你的内容也就毁了。至于版权保护,如果你能准确地摧毁侵权内容,你也就胜利了。没什么讨价还价的,这是绝对的胜利!

这就是我至今都不敢相信的研究结果。但我上传的视频被自动禁掉这件事就是很好的证明。

声明一下,我绝对不是建议大家突破或绕开版权保护。我只是习惯了YouTube以前的“放任”政策,现在突然来了一个这么有效的视频版权检测系统,难免有些不适应。我须向做出这套系统的谷歌工程师们致敬!他们不是纯粹的捣蛋鬼;他们在发现有版权匹配的时候,也会提供一些相当体贴的应对方案:

如果在用户上传的内容和参考库里的资料之间发现有匹配,由版权所有人指定的“使用政策”就会生效。这个“使用政策”会告诉系统如何处置用户的视频。所谓“匹配”,可能只发生在用户所上传文件的音频部分,或者只是视频部分,或者两者兼有。

种“使用政策”,分别是“禁止”、“跟踪”和“货币化”。如果版权所有人指定了“禁止”政策,用户上传的视频在YouTube网站上就不会被别人看到。如果版权所有人指定了“跟踪”政策,用户上传的视频会出现在YouTube上,但版权所有人会收到关于这个视频的统计信息,比如这个视频被看了多少次。如果是“货币化”政策,用户上传的视频也会出现在YouTube上,只不过视频播放时会插入广告。这些政策是可以根据地理区域设定的,因此版权所有人可以控制某些内容在一个国家可见,而让其他国家的用户看不到。

至于我上传的那个视频,它的版权所有人恰好选择了苛刻的“禁止”政策。这当然不是谷歌的问题,只能说我的运气不好!

尽管我上传的那个时长90秒钟的视频是受版权保护的——我不想为此争辩——但我的初衷绝不是为了促进非法使用,而只是想在一篇博客中就电影的某个场景加以“引用”。YouTube确实给用户提供了申诉渠道;一旦你的内容被认定是受版权保护的,提出申诉也是很容易的。因此我老老实实地填写了申诉表,说明我有理由相信自己是在“合理使用”。

遗憾的是,我的申诉被版权所有人否决了,而且没有得到任何解释。

让我们回顾一下我在2007年的那篇博文中提出的关于“合理使用”的4条指导原则吧:

  1. 你的使用有变革性吗?
  2. 原始内容符合公众利益吗?
  3. 你抽取了多少内容?
  4. 对市场有什么影响?

尽管我们在第3点和第4点上没有问题,但在前两点上有些说不清。我做的事情肯定是有变革性的,因为我情愿认为,我是为了自己和别人的学识而写作的,并不只是娱乐大众。我上传视频的目的,是让它可以在我的博客网站上播放,而YouTube只是为我存储内容之用。然而,这段90秒钟的电影确实可以被YouTube上的任何人看到,但在那里没有任何上下文说明。

结果,我只能心碎了……

一方面,这是一个令人印象深刻的技术创举。YouTube可以真正地对用户上传视频的每一分钟进行检验,把它跟所有主流的版权内容进行分分秒秒的比对,这种做法对于我来说是高深莫测的。当YouTube对版权所有人承诺这些措施时,我曾经认为他们只是在拖延时间。但是从我遭遇的沮丧来看,他们实际上说到做到了,而且还干得挺漂亮!

也许,YouTube做得有点过头了。我想要那种能够保护“合理使用”的视频分享服务;如今的我,依然在寻寻觅觅……

YouTube上的版权保护的更多相关文章

  1. Google加强版权保护

    在版权保护方面,我们一直是反面教材,而在场面上Google早已退出我们的世界,所以Google的加强版权保护对国内的互联网不会有太多的影响,即便无法在Google搜索到我们需要的XXX软件破解版,百度 ...

  2. [C#防止反编译].NET 产品版权保护方案 (.NET源码加密保护)

    [C#防止反编译].NET 产品版权保护方案 (.NET源码加密保护) 标签: .net加密产品c#dll工具 2011-03-24 21:06 27009人阅读 评论(13) 收藏 举报 分类: C ...

  3. Centos上的屏幕保护

    关闭Centos上的屏幕保护:setterm -blank 0 设置Centos上的屏幕保护为5分钟:setterm -blank 5

  4. 【译】使用微软企业库5.0进行WCF服务边界上的异常保护

    在Windows Communication Foundation (WCF)中,为了阻止服务的实现细节从服务的安全边界泄露,未知的异常不应该被发送至客服端.在WCF配置中将<serviceDe ...

  5. YouTube上最火的十个大数据视频

    http://blog.jobbole.com/84148/ YouTube上最火的十个大数据视频

  6. 如何下载Youtube上的视频, 字幕, MP3等资源, 方法简单直接!

    Youtube不用多说了吧,秒杀国内一众视频平台,没有之一, 既然关注Youtube说明大家对Youtube都是认同的.不用说4K,8K视频,比起国内一些伪4K, 真的良心, 就连广告也是5秒跳过, ...

  7. .NET 产品版权保护方案 (.NET源码加密保护) (转载)

    说 明:你希望自己用.net辛辛苦苦做出来的软件被人轻易破解吗?你希望自己花了大量人力物力用.net开发出来的产品被竞争对手轻易获取核心代码吗?这是 一篇比较详尽地介绍如何保护自己的.net源代码的文 ...

  8. Java程序版权保护解决方案

    通常C.C++等编程语言开发的程序都被编译成目标代码,这些目标代码都是本机器的二进制可执行代码.通常所有的源文件被编译.链接成一个可执行文件.在这些可执行文件中,编译器删除了程序中的变量名称.方法名称 ...

  9. 自制操作系统Antz(2)——进入保护模式 (上) jmp到保护模式

    Antz系统更新地址: https://www.cnblogs.com/LexMoon/category/1262287.htm Linux内核源码分析地址:https://www.cnblogs.c ...

随机推荐

  1. Drupal配置文件settings.php搜索规则

    Drupal的配置文件搜索是通过bootstrap.inc的conf_path()函数实现的: function conf_path($require_settings = TRUE, $reset ...

  2. os和os.path模块

    Os和os.path模块函数 1.      Os模块 函数 描述 文件处理 Mkfifo()/mknod() 创建命名管道/创建文件系统节点 Remove()/unlink() 删除文件 Renam ...

  3. 关系数据库&&NoSQL数据库

    在过去,我们只需要学习和使用一种数据库技术,就能做几乎所有的数据库应用开发.因为成熟稳定的关系数据库产品并不是很多,而供你选择的免费版本就更加少了,所以互联网领域基本上都选择了免费的MySQL数据库. ...

  4. CString-int-string-char-BSTR之间的转换

    一.CString, int, string, char*之间的转换 string 转 CString CString.Format("%s", string.c_str());c ...

  5. CreateThread函数&&CString::GetBuffer函数

    对这个两个常见的windows下的函数学习了一下: //最简单的创建多线程实例 #include <stdio.h> #include <windows.h> //子线程函数 ...

  6. 字符串和数组中split().toString(),join(),splice(),slice(),substr()和substring()

    <!Doctype html> <head> <mate charset="utf-8"> <title>string change ...

  7. gem 安装&卸载pod

    安装: gem 应该是ruby自带的ruby包管理器 sudo gem install cocoapods 卸载: sudo gem uninstall cocoapods

  8. U盘分区信息清除

    diskpart select disk 1 clean 清除选中(优U)盘的所有信息;

  9. HDU1150Machine Schedule(二分图最大匹配的DFS解法)

    题目大意就是说有两台机器,分别有n,m种模式可以调节,有k个工作,某一个工作i可以在第一台机器的a[i]模式下或第二台机器的b[i]模式下工作,两台机器的初始模式为0,问如何分配这K件工作使得两台机器 ...

  10. Android 通过ViewFlipper实现广告轮播功能并可以通过手势滑动进行广告切换

    为了实现广告轮播功能,在网上找了很多方法,有的效果很好,但是代码太麻烦,并且大多是用的viewpager,总之不是很满意. 于是看了一下sdk有个控件是ViewFlipper,使用比较方便,于是尝试了 ...