批量上传视频

首次尝试VPS,很好玩,快到月尾了,还有100多G流量没用完,于是想到了批量上传视频到Youtube。首先去找视频教程资源,找了很多个关于编程或者设计有关的,找到了个 3ds Max 2011白金手册 的庞然大物,8个DVD,视频文件起码超过20G。首先在VPS上下了迅雷离线的一个python软件(https://github.com/iambus/xunlei-lixian),然后到淘宝买了个3毛用3天5G离线的服务,登上去先下载了。Linode的VPS上传很厉害,但是下载速度普遍跟我家的6M宽带无异(最高1M/s)。

白金手册 8DVD 里面是一个静态网站,每张DVD所有的视频都放在 right/video 文件夹内,文件名和章节号对应,但扩展名有的是avi,有的是wmv,而且有时大写,所以用*取代最好,视频列表在 video.html 中。分析 video.html 的代码,发现是一种树形结构,可以通过编写PHP代码(以我学过的语言中,PHP是比较快可以写完整出来),将章节、标题信息套用,再加工成为命令。因为Linux下有youtube-upload这个很好的上传软件,只需要提供参数即可。

PHP代码大概的流程是 读取 video.html 内容,首先获取章节名称成为数组,然后用正则表达式匹配所有的视频链接,然后逐个链接套取文件名,文件名包含了章节的序号,章通常是a、b、c等代替,然后是节的两位数字,如果还有就是节的分支,得到这些序号后,从当前位置向前搜索章节的名称,得到名称组合成为title等参数。

运行PHP代码后输出执行文件,然后放到VPS上运行就是了,这里要说一个经验问题,由于频繁高速上传,Youtube有时会返回403错误,导致某个视频上传失败,所以在每次完成后打5秒瞌睡最好,我测试过3秒有时还会出错:

#!/bin/sh

youtube-upload --email= --password= --description="第6章 材质 第1节 材质编辑器 1.材质编辑器介绍 // 简介:《3ds Max 2011白金手册》系列是“火星时代”推出的全面介绍如何利用3ds Max软件制作三维动画的大型多媒体教学手册,包含四册约2400页的教学手册和8张DVD。" --keywords="3ds Max 视频教程" --category=Education --title="第6章 第1节 1.材质编辑器介绍 [3ds Max 2011白金手册]" ~/lx/v1/DVD4/right/video/a01_01.*;

sleep 5;

youtube-upload --email= --password= --description="第6章 材质 第1节 材质编辑器 2.材质编辑器工具 // 简介:《3ds Max 2011白金手册》系列是“火星时代”推出的全面介绍如何利用3ds Max软件制作三维动画的大型多媒体教学手册,包含四册约2400页的教学手册和8张DVD。" --keywords="3ds Max 视频教程" --category=Education --title="第6章 第1节 2.材质编辑器工具 [3ds Max 2011白金手册]" ~/lx/v1/DVD4/right/video/a01_02.*;

sleep 5;

...

当然这些DVD还有其他内容,如3ds案例的一些源文件,完了上传视频后,我会把视频删了,然后其余文件制成git,上传到某个可以放几G以上的服务器上,当然,里面的网页文件的视频链接会换上对应的Youtube播放链接。

附:主要是unrar耗费比较多CPU,而上传多个少于100M视频拉平均值上传速度只有2M/s左右,单个上传大文件时平均值高达7-8M/s:

Advertisements

发表评论

Fill in your details below or click an icon to log in:

WordPress.com 徽标

You are commenting using your WordPress.com account. Log Out /  更改 )

Google+ photo

You are commenting using your Google+ account. Log Out /  更改 )

Twitter picture

You are commenting using your Twitter account. Log Out /  更改 )

Facebook photo

You are commenting using your Facebook account. Log Out /  更改 )

Connecting to %s