2/21/2012

折腾

最近,想将近来拍摄的视频上传到Picasa (尽管已经改名并整合到G+,还是习惯这个叫法)备份。

最初获取的视频文件是VOB格式的,通过 ffmpeg 命令将其进行转码成mp4格式。
        ffmpeg -i file_name.vob -vcodec mpeg4 -acodec copy out.mp4
为了尽量保持画面质量和音频不变,只设置了基本的参数。通过转换文件大小反而扩大一倍。
同时为了不占用picasa 的免费容量 (这里实现每个视频文件小于1G,同时视频时间小于10分钟),还是通过ffmpeg 将其进行切割。
        ffmpeg -i file_name.mp4 -vcodec copy -acodec copy -ss hh:mm:ss -t hh:mm:ss out.mp4
最终需要上传的文件大约10G左右。

刚开始想使用Picasa专门的软件进行处理,发现Linux下Google已经不再支持维护了。转而使用Windows下的软件进行上传,学习了下,没有研究出如何上传MP4格式,软件没有成功导入视频,最终放弃。

尝试了使用Web端进行上传,一个800M+的文件通过这种方式,速度简直就是让人欲死不能。进度条进度缓慢无法忍受,不直观,遂想其他招。

通过Google果然有相关命令行 googlecl ,基于Google Data API实现的。这种命令行方式省事,且支持多个文件上传。

同时考虑本地网速,使用命令行和Web方式效果基本一样。遂将文件放到国外的服务器上,这样直连google服务器就快很多。因为购买的vps网络环境链接国内效果也不行,使用rsync命令上传发现速度只有10k+.

又继续折腾。想起我那Google Cloud Storage 还可以利用呢。使用gsutil命令进行上传,无法看到网速,继续想招。

Google后又发现iftop命令可以监控到某个进程的网络链接情况,安装使用后,速度直观可见。上传速度提升了5-6倍,这速度知足了。

在购买的服务器端也安装使用gsutil, 下载800M+文件,速度20M/s ,喝口水的功夫。
服务器端使用googlecl 建立album, 上传视频,报错! 仔细看了API说明文档,发现接口方式上传API 限制100MB的文件大小。悲剧!

只能ffmpeg 失真压缩了,小于100MB,满足条件,上传成功。

折腾帝。