bash应用实例:收藏优酷视频到本地硬盘

来源: 作者:c-aries
  昨晚在优酷看完一个舞台剧,有股收藏的冲动

我用的浏览器是Gnome的主打浏览器epiphany
播放完优酷视频后,不要关闭标签页,到/tmp下
右键“排列项目->按修改时间”排序文件
将舞台剧相关的几个文件找到,复制到一个新的文件夹里
情况如下:

$ pwd
/home/c-aries/视频/美少女战士/舞台剧
$ ls -trl
总计 137136
-rw------- 1 c-aries c-aries 13247253 2009-05-25 19:52 FlashKQjoj7
-rw------- 1 c-aries c-aries 13983104 2009-05-25 19:59 FlashhHUH0i
-rw------- 1 c-aries c-aries 13130942 2009-05-25 20:06 FlashhhZRlf
-rw------- 1 c-aries c-aries 12844603 2009-05-25 20:12 FlashNbHAGT
-rw------- 1 c-aries c-aries 13925676 2009-05-25 20:21 FlashbJSBVg
-rw------- 1 c-aries c-aries 13350681 2009-05-25 20:27 FlashFWj7hA
-rw------- 1 c-aries c-aries 13678588 2009-05-25 20:34 FlashaWdRF0
-rw------- 1 c-aries c-aries 13040254 2009-05-25 20:42 Flashhwgf4a
-rw------- 1 c-aries c-aries 13636330 2009-05-25 20:48 FlashHOpOL3
-rw------- 1 c-aries c-aries 13269466 2009-05-25 20:56 FlashVwzX1S
-rw------- 1 c-aries c-aries  6082832 2009-05-25 21:00 FlashXbpBXH

为了避免合并成一个文件时声影不同步,将所有的flv文件转换成avi文件

$ i=0
$ for file in `ls -tr`
> do
> mencoder $file -oac mp3lame -ovc lavc -mc 0 -idx -o $i.avi
> i=$((i+1))
> done

也可以归纳成一条命令:
$ i=0 ; for file in `ls -tr`; do mencoder $file -oac mp3lame -ovc lavc -mc 0 -idx -o $i.avi; i=$((i+1)); done

接着合并转换得到的avi文件为一个目标文件“美少女战士真人版舞台剧.avi”

$ mencoder -oac copy -ovc copy -mc 0 -idx -o 美少女战士真人版舞台剧.avi `ls -tr *.avi`

$ file 美少女战士真人版舞台剧.avi
美少女战士真人版舞台剧.avi: RIFF (little-endian) data, AVI, 320 x 240, ~15 fps, video:, audio: MPEG-1 Layer 3 (stereo, 22050 Hz)

行了,放到手机上看也没问题:)



提示1:
为了方便,可以写成一个bash脚本,将其复制到/usr/local/bin下面就能在终端上运行youku.sh命令
$ pwd
/home/c-aries/coding/软件发布/应用软件/收藏优酷视频到本地硬盘
$ cat youku.sh
#! /bin/sh

echo "请确认 新创建的文件夹 内只含有要转换的视频文件"
read input

i=0
for file in `ls -tr`
do
    mencoder "$file" -oac mp3lame -ovc lavc -mc 0 -idx -o "$i.avi~"
    i=$((i+1))
done

mencoder -oac copy -ovc copy -mc 0 -idx -o object.avi `ls -tr *.avi~`

rm -f *~

echo "合并成一个avi视频文件 object.avi"

提示2:
运行mencoder需要比较多的CPU资源,当CPU温度达到一定限度时,系统会自动关机
其中一个解决方法是暂停程序,待CPU温度降下来一段时间后,再次唤醒程序
(1)查看CPU温度
$ cat /proc/acpi/thermal_zone/THRM/temperature
temperature:             55 C
也可以用sensors-applet查看CPU温度
(2)暂停程序
在运行程序的终端,按ctrl+z,出现如下提示
[1]+  Stopped                 youku.sh
证明暂停程序成功
(3)唤醒程序
$ fg
可以看到程序又继续运行了|o|

以上就是一个程序诞生的一般过程(瀑布模型)
产生需求->找一个合适、喜欢的编程语言写程序->写文档->测试->软件发布->后期维护

编程最大的乐趣莫过于写些实用程序给自己用,别人也喜欢帮助的人家的话会更开心

时间:2009-05-25 21:36 来源: 作者:c-aries 原文链接

好文,顶一下
(18)
100%
文章真差,踩一下
(0)
0%
------分隔线----------------------------


把开源带在你的身边-精美linux小纪念品
无觅相关文章插件,快速提升流量