DIY视频托管

2020-07-20 13:32:58

(请忽略以上电子邮件收据是针对他们的Plus计划的。订阅后不久,我意识到我需要升级到支持商业用途的Pro。)。

我需要一种可靠的方式来托管我为我的软件制作的大量屏幕录像和视频教程。我选择Vimeo是因为他们是这个领域显而易见的选择,主要有两个原因:

我不想让我的内容托管在YouTube上,在那里它会被无穷无尽的燃烧的垃圾包围。(不要把这种批评看得太严厉--我是一名快乐的YouTube高级订户。)。

Vimeo真的,真的,真的很擅长他们做的事情。我的意思是,在易用性、控制最终用户体验、速度和质量方面都是一流的。

但当我的续订电子邮件在4月份收到时,我和其他小型开发人员发现,随着疫情的恶化,销售正在放缓。

对于我和他们一起托管的少量视频内容来说,每年另外240美元是一个很难推销的价格,我想知道是否有更便宜的替代方案-要么是另一项服务,要么是我自己托管视频。

如果你再发布商业内容--就像我经常做的那样--Vimeo的条款要求你是专业版或更高级别的订阅者。需要明确的是,我仍然认为Vimeo以这个价格(几乎是任何价格,真的)是非常物有所值的。这比一家有四名员工为Slake买单的公司便宜。

但考虑到我每月发布和托管的视频内容数量之多,再加上我是一个超级书呆子,考虑到我的规模很小,考虑到我在削减成本方面的考虑,这已经没有什么意义了。

一种将原始视频转换为适合流式传输的大小和格式的简单方法。

那么,视频文件实际存放在哪里呢?我的要求是一个可靠的地方,如果你得到Slashdoted(哈哈,还记得吗?),就不会摔倒,可以快速地送到任何地方的游客手中,而且不会让你破产。

我的Linode(附属链接-但Linode很棒)服务器上有足够的空间可用(并且几乎总是有足够的带宽可用)。但即使是我最初的每月20美元的VPS,在交通高峰时也多次陷入困境。(当然,我当时正在运行WordPress。)。我不想因为我在这个网站上的一篇愚蠢的博客帖子引起注意而冒着我的商业网站崩溃的机会。

很久以前,我曾写过使用S3作为一个穷人的内容交付网络。这仍然是一个简单可靠的选择,但带宽成本并不能算得上真正的CDN。当然,这也是亚马逊提供CloudFront的原因。但即便如此,以每GB 0.085美元的价格计算,在过去的一年里,我有好几个月的价格都在200美元以上。

相反,让我向你介绍我的秘密武器:BunnyCDN。(如果您点击那个链接,我会获得积分。但我之所以使用它,只是因为我完全喜欢他们的服务,正如您将在下面看到的那样。)。

我从2011年开始对我所有的静态资产使用MaxCDN(现在的StackPath)后,于去年10月转向了Bunny。他们有多棒,让我大吃一惊。原因有很多:

重要的主要指标是:它们真的很快。我看到的性能与我在日常工作中使用MaxCDN和更大的CDN时习惯使用的性能相当。

我需要两次给他们发电子邮件提出支持问题,一个知识渊博、乐于助人的人很快就回复了,而且不需要通过愚蠢的自助解决方案。

Bunny的控制面板用于管理您的帐户、选择带宽设置等,使用起来非常简单,功能也非常强大(至少对我来说是这样)。与我使用MaxCDN和AWS控制台时相比,这真的是一个很好的改变(功能强大得像地狱,但很迟钝)。

用于我的静态网站资产(图像、样式表、JavaScript等)。我使用的是Bunny的标准层,它提供他们所有流行音乐中的我的内容。这意味着访问者将以每GB 0.01美元的价格连接到离他们最近的服务器(针对美国和欧盟POP)。

然而,我的视频内容使用他们的音量级别,从7个POP(而不是41个)分发。在仍然足够快的同时,这进一步将成本降低到0.005美元/GB。当我的流量激增时,这相当于5美元/TB。

我对提供商之间的带宽实际上是如何在全球范围内定价的,或者为什么一些公司对相同的有线比特比其他公司收取如此高的费用一无所知。我想您是在为可靠性和/或速度买单吧?我所知道的是,在我使用BunnyCDN的9个月里,我没有看到一丝停机时间,也没有注意到任何缓慢的情况。我无法解释它们怎么会便宜得多。也许他们不会将规模扩大到真正的流量?但是对于我所需要的,它们是一个非凡的选择。

(好的,我现在不想再喋喋不休地谈论它们了。这真的不是任何种类的付费或赞助的内容废话给兔子。自从转行以来,我对他们印象深刻,我终于想要表彰他们了。)。

下一件事,我们需要的是一种方式,以内联方式显示这些视频在您的网站上。

嵌入式Flash视频的时代已经一去不复返了。现在,您只需使用原生HTML5视频元素就可以大体上逃脱惩罚。

但是,如果您想更好地控制视频的外观和行为,请查看Video.js。它是一个出色的开源播放器,来自Brightcove善良的人们,它提供了与Vimeo提供的Point and Click定制选项类似的控制级别。

最后一块拼图是将你的原创视频转换成网络友好的格式,并上传到网上进行分发。

BunnyCDN提供自己的在线存储区域,您只需通过FTP上传即可,但由于历史原因,我仍然将我下载的大量应用程序和视频存储在S3上,然后将Bunny(以前称为MaxCDN)从AWS拉取作为源服务器。

至于正确的视频格式,我使用手刹的命令行界面,使用Vimeo YouTube HQ 720p60和Vimeo YouTube HQ 1080p60预设将我的源视频文件转换为MP4。

但是,因为,嘿,我是一个极客,不喜欢做额外的工作,所以我把整个过程总结成了一个简短的shell脚本,

使用qlmanager将视频的一帧输出为PNG,以便在视频开始之前在HTML播放器中预览。

我只需将我的视频文件名传递给该脚本,几分钟后,我可以将输出复制并粘贴到我的文本编辑器中,然后在我的网站上可用。老实说,这是一个比使用Vimeo更快的过程。

这是剧本。您当然希望修改路径以使其与您自己的设置一起工作,因为它现在完全特定于我的需要。

#!/bin/bash bucket=$1 base=$(basename--";$2";)Extension=";${base##*。}";FileName=";${BASE%.*}";p720=";/Users/thall/Dropbox/Freelance/Videos/720p/$FILENAME.mp4";p1080=";/Users/thall/Dropbox/Freelance/Videos/1080p/$FILENAME.mp4";png=";/Users/thall/Dropbox/Freelance/Videos/jpg/$BASE.png";JPG=";/Users/thall/Dropbox/Freelance/Videos/jpg/$FILENAME.jpg";/usr/local/bin/HandBrakeCLI-Z";Vimeo YouTube HQ 720p60";-i";$2";-o$p720/usr/local/bin/HandBrakeCLI-Z&34;Vimeo YouTube HQ 1080p60";-i";$2";-o$p1080/usr/bin/qlmanagement-t"。/usr/local/bin/magick Convert$png$jpgrm$pngs3cmd put--acl-public--guess-mime-type$p720";s3://$bucket/720p/$base";s3cmd put--acl-public--guess-mime-type$p1080";s3://$bucket/1080p/$base";s3cmd put-。Img=\";$filename.jpg\";]";

因此,这就是我如何离开Vimeo,开始自己托管我的视频内容。平均而言,我的带宽账单约为每月11美元-这包括视频、静态资产,以及我所有Mac应用程序的二进制下载。在此之前,我每月仅支付20美元的费用,就是在剩余带宽的基础上进行视频托管。

它绝对是一个更极客的解决方案,需要做更多的前期工作才能设置,我不确定我会不会推荐它去做真正的生意,但根据我的需要,它是一个有趣的项目,我很高兴每年能节省200美元。