一键下载M3U8/HLS 并保存为TS文件
2015-07-23 17:56
661 查看
下载m3u8 并存成一个TS的脚本, 试过优酷的可以,但如果m3u8 里面有多种清晰度的TS片参杂,那就要再写一点逻辑来控制下载哪些啦:
#!/bin/bash
#howToUse: ./down_m3u8.sh url output.ts
#检测参数
if [ $# != 2 ] ; then
echo "USAGE: $0 url output.ts"
exit 1;
fi
input_m3u8=$1
output_ts=$2
temp_m3u8=temp.m3u8
n=1;
if echo "$input_m3u8" | grep -E '^http' >/dev/null ;then
wget $input_m3u8 -O $temp_m3u8
else
temp_m3u8=$input_m3u8
fi
echo "Download segments:"
#1. 这种方法简便,但没有下载"..."提示,容易误以为卡住了
#wget -q -i $temp_m3u8 -O $output_ts
#2. 这种方法麻烦,但有下载"..."提示
rm $output_ts
cat $temp_m3u8 | while read myline
do
if echo "$myline" | grep -E '^http' >/dev/null ;then
echo -n "."
wget -q "$myline" -O "$output_ts.t";
cat "$output_ts.t" >> $output_ts
let "n = $n + 1"
fi
done
rm "$output_ts.t"
echo "Done"
#!/bin/bash
#howToUse: ./down_m3u8.sh url output.ts
#检测参数
if [ $# != 2 ] ; then
echo "USAGE: $0 url output.ts"
exit 1;
fi
input_m3u8=$1
output_ts=$2
temp_m3u8=temp.m3u8
n=1;
if echo "$input_m3u8" | grep -E '^http' >/dev/null ;then
wget $input_m3u8 -O $temp_m3u8
else
temp_m3u8=$input_m3u8
fi
echo "Download segments:"
#1. 这种方法简便,但没有下载"..."提示,容易误以为卡住了
#wget -q -i $temp_m3u8 -O $output_ts
#2. 这种方法麻烦,但有下载"..."提示
rm $output_ts
cat $temp_m3u8 | while read myline
do
if echo "$myline" | grep -E '^http' >/dev/null ;then
echo -n "."
wget -q "$myline" -O "$output_ts.t";
cat "$output_ts.t" >> $output_ts
let "n = $n + 1"
fi
done
rm "$output_ts.t"
echo "Done"
相关文章推荐
- VBS脚本写的Windows硬件检测工具分享
- 用vbscript实现隐藏任务栏图标的脚本
- 用autoit编写第一个脚本(Hello World)
- VBS调用WMI快速关闭IE的脚本
- 收集的ROS防火墙脚本
- JSP脚本漏洞面面观
- 不错的批处理脚本 第一部分
- VBS脚本加密/解密VBS脚本(简易免杀版1.1)
- 不错的批处理脚本实例代码 第二部分
- 使用脚本和批处理清除电脑中的痕迹的代码第1/2页
- 让你的脚本说话
- Lua脚本获取喜马拉雅MP3音频地址
- 编程界主流脚本编程语言的比较和选择
- 批量文件查找替换功能的vbs脚本
- Powershell脚本的4种执行权限介绍
- Windows Powershell 执行文件和脚本
- PowerShell实现动态获取当前脚本运行时消耗的内存
- 脚本 MsAgent组件 微软精灵 揪出系统自带的宠物
- 百度空间备份脚本baidublogbak.vbs代码分析