小菜鸟的原创
利用http://www.flvcd.com/进行解析(这个

解析优酷视频时自动转换高清地址
文件分块时 用wget同时下载
舍弃了上个脚本的合并功能 (对视频处理不熟悉 合并效果不好

使用方法:
首先安装配置好了mplayer
我把代码保存到 /usr/local/bin/flv
更改属性 sudo chmod +x /usr/local/bin/flv
播放 flv url
下载 flv -d url
输出解析结果 flv -l url
代码: 全选
#!/bin/bash
# 解析优酷等网站视频地址 播放 下载
# 2010-8-28
# by only_one
# 下载路径
dp="/home/"`whoami`"/下载"
# 错误控制
function er() {
echo "error!!!
Usage:
播放 $0 url
下载 $0 -d url
输出解析结果 $0 -l url"
exit 1
}
# 解析地址和视频名称 可以单独成为一个脚本
function gflv() {
if [ -n "$1" -a -z "$2" ]; then
list=`wget -qO - "http://www.flvcd.com/parse.php?kw=$1&format=high&refresh=true" | grep '^<U>' | sed 's/^<U>//g'`
[ -z "$list" ] && er
echo "$list"
elif [ "$1" == "-v" -a -n "$2" ]; then
list=`wget -qO - "http://www.flvcd.com/parse.php?kw=$2&format=high&refresh=true" | egrep '^<U>|^<N>' | iconv -f gb2312 -t utf8`
[ -z "$list" ] && er
echo "$list"
else
er
fi
}
# 播放
if [ -z "$2" ]; then
echo "正在解析视频真实地址...."
gflv "$1" && echo "解析完成 开始播放"
mplayer -cache 20000 -cache-min 0.3 `echo "$list"`
# 输出解析结果
elif [ "$1" == "-l" ]; then
gflv "$2"
# 下载
elif [ "$1" == "-d" ]; then
echo "正在解析视频名称和真实地址...."
gflv -v "$2" && echo "解析完成"
name=`echo "$list" | head -n 1 |cut -d "-" -f 1 | sed 's/^<N>//g'| tr -d " "`
ulist=`echo "$list" | grep '^<U>' | sed 's/^<U>//g'`
mkdir "$dp/$name" || exit 1
echo "转入后台下载...."
declare -i i=1
for url in $ulist
do
wget -U IE6 -nv -a "$dp/$name/log" -bcO "$dp/$name/$name-$i" $url
i=i+1
done
echo "文件储存至: $dp/$name
下载日志储存至: $dp/$name/log"
else
er
fi
