把电影嵌在网页中

我一直在寻找一种在网页播放视频,但又不过度消耗主机流量的方式。非盈利站点在流量上耗不起,YouTube 多少年了还没怎么盈利,就别说个人站点了。

WebTorrent 项目看上去很有趣,它可以直接在网页上播放一个来自 BT 的视频文件。由于 BT 的点对点特性,主机其实基本没有流量消耗,在播放视频的同时也解决了流问题。

以下视频是一个测试,视频源来自 WebTorrent 首页上的展示视频:寻龙记(Sintel)的宣传片。由于采用了 BT 技术,下载速度取决于你所在的地区和周围 BT 用户的情况,并不能保证流畅的观看体验。如果你可以正常观看视频,请留言。


支持广电总局对英语用词的限制

**本文只讨论语言的使用问题,无关手游审查的新规,也不是给广电洗地,喷子请绕行。

事情的原由是广电对手游中英文用词的限制, 附上 V2EX 的讨论贴。简单来说,广电总局对手机游戏中出现的一些英语用词,比如 "new"、"warning" 等作了限制,一旦使用则不能上架。

这个规定自然会有一大堆人反对了,因为他们的游戏不能上架,不能赚钱了。但撇开商业因素来看,这个规定并没有什么不妥。在一个中文环境中使用英文(或其它语言),无非两个原因。一是觉得英文高大上,二是暂时没有公认的中文翻译。第二点通常出现在专业领域,大量的专业词汇来不及翻译,只好引用原文,这个之后再说。先来说说第一点。

凭什么英语就比中文高大上了,凭什么“new”就比“新”高大上,凭什么“warning”就比“警告/注意”高大上。这种想法是一种直接的崇洋媚外。对于这些已经有公认翻译的词汇,使用中文来表达它们的意思,并不影响理解,也不会产生歧义。非要究其原因,只能是因为使用者觉得英文高大上,而中文不入流。

举个例子,如果博主也实行这种做法,那么本博客很有可能是这样的:

Today 我来和大家 introduce 一个新的 technology,它的名字叫 metadotblahtology。使用了这种新的 methodology,程序员写 code 可以更加 efficient,商业公司也可以更 profitable。

显然,多数人不喜欢阅读这样的文章。如果你不能接受这样的文章,那么为什么你可以接受在一个中文应用出现几个英语单词呢?大概是因为你能读懂那几个英文单词吧。大概是因为你“只”能读懂那几个英文单词吧。如果你觉得大量的英语对你是一种侮辱,那么少量的英语也会对那些完全不懂英语的人造成伤害。五十步和一百步的关系。

至于一些品牌或者缩略语,比如 NBA 和 FIFA,如何译成中文。这也是一部分人喷广电的主要依据,因为译成中文就很别扭。比如 NBA 可能会译成“美职篮”,FIFA 大概就是“世足联”了。这是翻译人员的问题,而非语言本身的问题。有一些国际品牌一样有着优美的中文名,比如 BMW “宝马”、Benz “奔驰”、HP “惠普”等。即使没那么优美,一些常见品牌的中文名也是早已耳熟能详了,比如 KFC “肯德基”、McDonald's “麦当劳”、Coke Cola “可口可乐”等。这说明只要用心想,用力推广,大多数中文译名都是可以被接受的。如果 NBA 足够重视中国市场,FIFA 的下一任老板想多贪一点,他们一定能捣鼓出大家都能接受的名称。

至于一些极端的例子,比如“道具 x 1”中的“x”也被算作是英文。这个只好认为是矫枉过正过程中的误伤。“矫枉过正”虽然指的是不好的事情,但实际操作中却又经常发生。举个例子,把一张有折痕的纸捋平,常见的做法是沿着折痕向反方向折一下,再回正。而“向反方向折一下”折一下这个动作,即为“矫枉过正”,要不然纸永远不会躺平。

从广电的角度来说,如果它不严格一些,摆出“矫枉过正”的态度,势必会有人偷工减料,懒得把一些英文改回来。而在矫正的过程中,广电躺枪也是必然。

总结,我支持在纯中文环境中使用纯粹的中文,也支持大家在纯英文的环境中学习英语,但请不要学了一两个英语单词就出来显摆。我希望中文能重现唐宋时期的辉煌,而不是像现在一样常用词都要向外语借。

由快播的庭审说说加密解密的问题

今天是“快播”涉黄案开庭的日子,新浪网直播了庭审全过程,过程中充满了各种欢乐。我们来说说其中的一个:

且不说这位审判员对于法律是多么地无知,用户的文件无论有没有加密都属于个人隐私,能问出这样的问题显然是对隐私保护没有一丁点的认识。

接下来我们从技术的角度来说说,为什么不能解密。

加密解密实际上是纯数学的东西。如果把一个需要加密的文件看成是一串数字,比如一个文件由一串数字序列(A0, A1, A2, ..., An)构成,这个序列可以被人阅读和理解。加密的过程就是把上述 A 序列转换为(B0, B1, B2, ..., Bn),这个 B 序列是完全杂乱无章,看不懂的内容。然后解密就是加密的逆过程,把 B 序列再翻译回 A 序列。这两个转换过程中都需要大量的计算,而计算机的产生使用大规模加密解密成为可能。

加密解密的一个典型应用场景是寄信。比如小张要写一封信给小红,为了防止信件在寄送过程中被别人看到内容,小张可以把信的内容先加密,然后收小红收到信之后再解密,即可确保寄送过程中没有人可以看懂信件的内容。

加密解密的一个重要工具是密钥。密钥的本质也是一串数字序列(C0, C1, C1, ..., Cn),把它和 A 序列以某种方式混合,即可产生 B 序列。然后再把 C 序列和 B 序列以某种方式混合,即可产生 A 序列。这种方式称为对称密钥加密。常见的对称密钥加密方式是 AES,暴力破解 AES 加密需要千百万年的计算时间,因此被认为是安全的。

使用对称密钥加密的前提条件是,传递信息的双方事先要约定一个密钥,有了统一的密钥,才能顺利地加密和解密。我们在谍战剧里经常看到的,战争的一方截获对另一方的密码本,从而监听到了重要的信息。这个密码本,就是这里说的密钥。密钥需要定期更新,否则就有可能被对方暴力破解,或是以其它的方式窃取。

从谍战剧中我们可以看到,对称密钥加密的主要缺点就是,交换密钥不方便。虽然后续的通信都加密了,但是密钥的传输过程中却是公开的。密钥的传输过程成了加密解密中的薄弱环节。

那么有没有办法解决这个问题呢?当然是有的。这种方法称为非对称密钥加密

非对称密钥加密的密钥包含两部分:公钥和私钥,公钥可以公开,私钥需要保密。而非对称密钥加密是一个外人看来很玄乎的东西。先说说它的过程:小张手里有一对公钥 P 和私钥 X,小红手里有一对公钥 Q 和私钥 Y。小红先把自己的公钥 Q 告诉小张。小张使用 Q 和自己的私钥 X 把信件的内容 A 加密成 B,然后把 B 和小张自己的公钥 P 一起告诉小红。然后小红使用自己的私钥 Y 和小张的公钥 P 对加密内容 B 进行解密,即可还原出 A 来。相信看到这里多数人都已经晕了。

具体原理这是不多说,它和素数分解有关。它对于密钥的保护措施是加密的双方只需要交换公钥即可进行加密和解密,而即使公钥被第三个人知道,他也没有办法破解加密过的文本。常见的非对称密钥加密方式是 RSA,暴力破解 RSA 同样也需要千百万年。非对称密钥加密最常见的应用是 HTTPS。这下知道为什么 HTTPS 是安全的了吧。

于是这里就解答了那位审判员的疑惑,为什么不能对用户上传的文件进行解密,因为根本解不开。如果快播的用户在上传视频时使用了非对称加密,下载视频的用户在观看时解密,这个过程中快播是没有办法知道其中的内容的。聊天软件 Telegram 也使用了类似的方式进行端到端的加密,使用聊天内容就连 Telegram 自己也不知道。

和加密相关的另一个技术称为哈希(Hashing),哈希的作用是验证源文本的真实性。举个例子,小张立了一份遗嘱,他显然不需要对这份遗嘱加密,因为遗嘱最终是要公开的。而他要做的是,确保最终公布的那份遗嘱和他最初立下的是一样的。于是小张可以在立下遗嘱的时候对这份遗嘱做一个哈希,在遗嘱公开的时候,对公开的遗嘱再做一次哈希,如果两份哈希码一致,才说明遗嘱没有被改动过。当然这其中还涉及到一些哈希保密的步骤,这里不细说了,大家知道这个意思就可以了。

哈希和加密解密的一个重要区别是,哈希生成的哈希值,是没有办法解密的,就是还原不回去,只能把 A 哈希成 B,不能再从 B 推导出 A。哈希在计算机领域的一个常见用途是保存密码。比如你在某个网站上注册了一个帐号,这个帐号包含用户名和密码。而网站的管理员不希望除了你之外的其它人看到这个密码,于是网站上所保存的内容只是密码的哈希值,而不是密码本身。在你每次登录网站的时候,网站都会对你输入的密码做一次哈希,如果哈希值和网站数据库中存放的一致,则表示你输入的密码正确。而即使有人偷取了网站所保存的哈希值,也没办法还原出密码来,也就不能登录你的帐号。

现在主流的哈希算法是 SHA-2。一个常见的应用场景是两步验证

好了,说了这么多加密解密相关的东西,回过头来说说快播。我没有用过快播的软件,也不太清楚快播对色情视频的打击做到了什么程度。但从技术的角度来看,P2P 的加密内容分享是无法被解密的,这也加速了全球日益高涨的恐怖威胁。全世界的政府都在要求商业公司提供用户的解密数据,与之相对的是数学领域的加密理论已经远远把监控和破解甩在了身后。我不认为任何公司需要对技术的进步负责,科技的进步是大势所趋,而需要改进的,是那些仍处于落后状态的事物。

电视剧播放模式即将被颠覆

这几天闹得沸沸扬扬的《芈月传》全集泄漏事件,着实让这部不怎么样的电视剧再火了一把。要泄漏一定得有内鬼,而版权方貌似对这个内鬼一点办法都没有,只能去谴责百度,因为百度云盘提供了部分影片的下载。后来百度乖乖地把涉事的文件全给删了。

这件事从一个侧面说明,百度云盘会监控用户的文件,涉及隐私的文件请不要传上百度云。

当然本文的重点不是这个。这里我们来关注一下泄漏事件的必然性。

大概二十年前,电视机成为了家家户户必不可少的娱乐设备。它不仅是一块屏幕,而是所有电视节目的入口。电视节目无论大小,上到每年一次的春晚,下到每天三十分钟的新闻,都要从这个几十寸或方或扁的盒子里观看。每天晚上全家围坐在电视机前嗑瓜子,也逐渐成为了常态。

有线电视业务也因此火暴了起来,全国有数百个电视台,每个电视台自负盈亏,为了利润不惜动用各种龌龊手段。就拿电视剧而言,本来是在电视剧中插播广告,现在是在广告中插播电视剧;而一部电视剧,每天只播一集两集,甚至有些一周才播一集,吊人胃口,让人不得不每天每周按时看电视。

而好景不长,也就十几年的功夫,互联网彻底改变了这一切。

在线看视频,和电视台有相当的不同。一是互联网视频随看随播,想什么时候看就什么时候看,想看哪一集就看哪一集,不怕因故错过了一集而连不下去;二是广告少,各种视频网站都可以通过加入会员,或者其它工具的方式,把广告取消,不必在广告中找寻电视节目;三是想在哪看就在哪看,冬天天冷不必待在客厅挨冻,抱个笔记本窝在被子里也可以流畅观看。就因为这几点,有线电视业务近几年迅速缩水,不得不在广电总局的庇护下才可以苟延。

正是有了互联网视频,电视机又做回了它的老本行:一块屏幕。

而在线视频的大杀器,则是全集一起上线。由于用户可以自由地选择想看的节目,互联网视频不再受限于播放渠道,相当于每个用户都有一个专属的电视台。只要网站的节目足够多,就可以吸引用户停留更多的时间,而不用像传统的电视台那样,用每天一集的方式来让用户回归。于是越来越多的网络剧,选择了一次放出所有剧集的方式,让大家一次看个够。实际上,虽然可以自由支配时间,用户每天花在娱乐上的时间也是有限的,即使有全集可以看,也不是所有用户都会一次性看完。于是在线视频就用更吸引人的方式,做了和电视台差不多的事情。

《芈月传》泄漏事件之所以火暴,还不是因为广大网民不能忍受每天两集的龟速。每个人都有自由支配自己时间的权力,那个大锅饭统一管理的年代已经一去不复返了。

火不起来的真人秀

前几天在维护服务器的时候又手贱了一下,造成我的下载机挂了,这几天又比较忙没有时间去恢复那台服务器,于是这段时间美剧的观看就只是暂停一下了,一些定时的更新也受到了影响。

没办法,只好在 Youtube 上看了一些国产的电视剧和真人秀。顺便吐槽一下 Youtube,版权管理得真严,不仅是整体上传的盗版电影会被抓,就连一些娱乐节目中引用的电影片段,也会被遮罩,还让不让人好好看节目了。于是,外国片不能看了,只好看看国产电影和真人秀节目。

电影就不说了,一如既往得烂。除了一些喜剧片之外(因为喜剧片通常和文化密切相关,国外喜剧片时常出现不能理解的笑料),其它几乎找不到好看的片子。这里聊了一下真人秀节目。

不知道从什么时候开始,真人秀节目开始风靡大江南北。这里的“真人秀”特指没有明确的目标、参与者无法事先准备的游戏类节目。选秀类节目,比如《中国好声音》有明确的后续目标,如签约;婚恋类节目,如《非诚勿扰》嘉宾都事先准备过;这类节目都不在些列。

印象中最早火起来的真人秀节目是芒果台的《爸爸去哪儿》。虽然演戏的成份不少,但依然能从中看出一些真情流露,有孩子的观众感同深受,没孩子的观众想想自己小时候也深有同感。由于节目的是从韩国引进的,又有韩国方面的技术支持,《爸爸去哪儿》第一季秒杀了同时期的所有综艺节目,芒果台也借此成为国内真人秀节目的标杆。

然而《爸爸去哪儿》第二季开始就走了下坡路,主要是因为节目流程没有新意,继续重复着上一季的老套路:抢房子、找食材、吃饭、睡觉。虽然换了一批明星和孩子,但看多了不免有一些疲劳。而且能明显看出来,第二季的几位明星,上节目前都有所准备,不会经常闹笑话,使得节目的真实性也大打折扣。在《爸爸去哪儿》收视下滑的同时,芒果台还继续山寨了《花儿与少年》来推动自己在真人秀界在老大地位,但张翰的表现基本算是毁了第一季。

这类新颖的题材,在韩国已经接受过考验,引进到国内必然可以引起一阵轰动。但是《爸爸去哪儿》和《花儿与少年》都有一个严重的缺陷,这些节目怎么看都是高颜值、高人气的明星被邀请免费旅游,而这些明星的种种不食人间烟火的表现,也时常引起观众的不屑。

于是浙江卫视相比之下更为平民化的《奔跑吧兄弟》(跑男),邀请了一众三线小明星来玩游戏,算是对芒果台的挑战。这些小明星的架子普遍较低,玩游戏也能比较投入,为节目挣来了不小的收视率。然后由于此节目依然是山寨的,第二季的时候依然免不了重复老套的内容,而使节目进入“无聊期”。

应对《跑男》的挑战,其实芒果台碰到了一个蛮尴尬的问题。芒果台有一档游戏类节目《快乐大本营》,但节目中都是一些十几分钟就完成的小游戏,对于《跑男》的一玩玩一天的大型游戏,面临着被按在地上打的危机。于是在 2015 年,芒果台接连推出了两档游戏类真人秀《偶像来了》和《全员加速中》。

《偶像来了》的明星阵容之强、颜值之高,在真人秀节目中非常少见,发布之初获得超高的收视率也算正常。但正由于演员年年龄和背景跨度之大,对游戏环节的设计带来了不小的挑战。渐渐地,这个节目沦为了一个秀亲情的主旋律节目,也就没什么看头了。

而《全员加速中》继续延续了芒果台高大上的风格,号称邀请了全中国一半以上的明星参加,此节目也是芒果台用来和《跑男》正面对抗的节目。《全员加速中》目前只播放了两集,而《跑男》第三季播出了三集。从网友反馈来看,《跑男》第三季相较于第二季有很大的提升;而《全员加速中》由于前期宣传过于高调,节目内容又不尽于人意,没有达到观众的预期。主要的差距在于,《跑男》的主要演员都已经演了三年,对于怎么玩游戏,怎么体现游戏效果这些问题都已经深有体会,而《全员加速中》的一众明星,却像是接了通告刚赶过来,在没有准备的情况下直接被扔进了游戏场地,一时还没有反应过来,多数明星只是当成是一个演戏类的节目而非游戏在参与。

上述的这些真人秀节目,大约算是近几年国内真人秀节目的代表作了。然而它们全是抄袭的,除了《全员加速中》是从日本山寨过来的,其余的都是韩国血统,本地原创的节目一个都没有。而抄袭的最大问题在于,导演很难跳出原版节目的思想,自己创造一个新思路出来。于是《爸爸去哪儿》到了第三季依然在抢房子、找食材、做饭;《跑男》第三季依然在撕名牌。

其次,我不太了解日韩明星的生活状况,但从中国的真人秀节目来看,中国的明星们基本是不食人间烟火的。从《爸爸去哪儿》人物介绍时每个家庭的豪宅,到《花儿与少年》中的许晴,再到《全员加速中》的大多数明星的近乎弱智的表现,不难发现,这些人都不是“正常人”。而这类人所参与的真人秀,虽然题材新颖,但毕竟远离真实生活,无论再怎么“真”,怎么“秀”,观众们还是当成电视剧来看。《琅琊榜》放一遍收视率挺高,如果同样的内容连放十遍,肯定也没什么人要看了。

另外,制作方在重点照顾投资方,勉强维持娱乐性的同时,完全没有考虑到对文化、对环境的影响。游戏就仅仅是游戏,按照规则开始、进行、结束,结束之后观众并没有获得任何有意义有价值的资讯。比如《爸爸去哪儿》中居住环境永远的差,却不提及当地人民的真实生活;“寻找”到的食材永远是免费的,却不提及食材的来历和价值。又比如《花儿与少年》中我们只能看到旅行途中一定要带两个以上的箱子,无论去哪都是打车或者包车,却不知道当地人的生活方式,或是在没有助理或工作人员协助的情况下,如果安排行程并解决一路上遇到的困难。再比如《跑男》中,我们只能学到遇到敌人要贴着墙或地面走,却看不到游戏背景故事的详细介绍等。

综上,我对目前国内的真人秀节目非常失望,目前没有哪个节目有让我追剧的动力。然而这篇文章为什么发在这个版块,大概只是因为开头的下载机问题吧……

海外用户观看美剧的正确姿势

免责声明:博主所在的瑞士不限制个人下载盗版内容,看完文章之后,请不要恶意找碴。

虽说身处国外,离国外电影电视剧的距离近了一点,但观看这些影视节目却一点都不方便。主要原因是语言,简单易懂的节目可以勉强跟得上,而一旦涉及医学、律政,或是物理宅男,连对话都听不懂,更别说理解剧情了。

最近国内有一些视频网站开始提供带字幕的美剧,通过网络代理其它方式,海外用户解决了一部分美剧的需求,但这些网站所拥有的片源有限,并且出片时间不保证,想要看一些冷门剧也真不容易。

于是,我还是祭出了终极法宝:下载。当然我不是简单地在自己电脑上装一个迅雷下载,一来在自己电脑上装迅雷不安全,迅雷会偷跑流量;二来在一些版权意识比较高的国家(如美国),用 P2P 下载会被钓鱼执法,轻者罚款,重者遣返;三是汉化过的美剧片源通常在国内,海外 P2P 下载速度不快。于是我们需要一套更完善的机制,以下是我的方法:

我在东亚地区有一台 Windows 云主机,使用迅雷离线下载,均速可以达到 5MB/s 以上。下载完成之后,把影片上传到 Google Drive,由于是云主机,上传速度也不受限制。

这里顺便给 Google Drive 做个广告:Google Drive 会自动处理已上传的影片文件(包括 MKV 和 MP4)格式,处理完成之后,无论是网页版,还是手机客户端,都可以直接打开观看,就像 YouTube 一样。这比家用的 NAS 还要方便,只要有网络的地方就可以观看视频。

家里有几台主要的娱乐主机,都装了 Google Drive 客户端,第一时间把影片下载下来,闲暇时观看,不用顾及网速。

这样做的好处是:

  • 下载速度快,尽管需要经过两次下载,但不一定会比本地 P2P 下载来得慢;
  • 全平台支持,电视上看到一半,出门手机上继续看;
  • 选择范围广,能下载到的影片都可以看,不必受限于视频网站的片源;
  • 干净且安全,个人电脑上只需要安装 Google Drive,无需担心 P2P 客户端做坏事。

最后,推广一下 DigitalOcean,注册送 $10,想尝试一下 VPS 的同学不要错过了。

使用独立的 Name Server

近日有一些读者反映,本站的 DNS 解析失败,出现网页打不开的现象。这主要是因为本站使用了 Google Cloud DNS 的缘故。

由于众所周知的原因,Google 的各种服务在国内并不能流畅访问。如果你在访问本站的时候,你所使用的 DNS 服务器恰好没有本站的 IP 数据,它就会向 Google Cloud DNS 发送请求,查询本站的 IP。这时候,邪恶的墙就会跳出来,把请求阻断了,于是你就会看到诸如 “DNS 查询失败”之类的错误信息。DNS 的具体工作原理可参考这篇文章

由于墙已经严重干扰了用户的正常浏览,我只好放弃了 Google Cloud DNS,自建了一个 Name Server,用于解析本站的 IP。Name Server 和博客放在同一个服务器上,要么一起被墙,要么都能访问,很方便。

在调整 DNS 设置的这段时间内,博客可能会出现间歇性不可访问的情况,过几天会自动恢复。希望这样可以减少墙带来的干扰。