下载m3u8视频及在Linux下将ts合并为mp4格式
背景
在爬取视频时偶尔会遇见m3u8
格式的视频链接,视频下载后为多个ts文件,下面分享如何下载m3u8
格式视频以及在Linux下将ts文件合成mp4
文件。
m3u8格式链接解析
url = xxxxx.m3u8#获取m3u8文件的文本信息
all_content = requests.get(url=url, verify=False).text
#解析文本信息
file_line = all_content.split("\n")
if file_line[0] != "#EXTM3U":raise BaseException(u'非M3U8的链接')
else:unknow = Truefor index, line in enumerate(file_line):try:if "#EXTINF" in line:unknow = Falsepd_url = 'http://v2.ricebook.com' + '/' + file_line[index + 1]res = requests.get(pd_url, verify=False)c_fule_name = str(file_line[index + 1]).split('/')[-1]with open(download_path + '/' + c_fule_name, 'ab') as f:f.write(res.content)f.flush()print('下载完成')except Exception as e:print(e)
下载完成后是多个ts文件,播放器也是可以播放的,可以将多个ts文件合成一个mp4文件。
Linux下合并ts文件
在windows下可以直接使用copy,将ts合成mp4,但如果要部署到服务器就不行了,下面介绍使用ffmpeg进行合并(windows和Linux下都可使用),如何下载安装请自行搜索。
#ts文件绝对路径ts_path = xxx/xxx #读取ts文件夹下所有的ts文件path_list = os.listdir(ts_path)#对文件进行排序path_list.sort()#将排序后的ts的绝对路径放入列表中li = [os.path.join(ts_path,filename) for filename in path_list]#类似于[001.ts|00.2ts|003.ts]input_file = '|'.join(li)#指定输出文件名称output_file = ts_path + '.mp4'#使用ffmpeg将ts合并为mp4command = 'ffmpeg -i "concat:%s" -acodec copy -vcodec copy -absf aac_adtstoasc %s'% (input_file,output_file)#指行命令os.system(command)
得到mp4文件之后原来ts文件夹不需要也可以删除
def delete_ts(ts_path):try:shutil.rmtree(ts_path)print('ts文件已经删除')except:print('ts文件删除失败')
下载m3u8视频及在Linux下将ts合并为mp4格式相关推荐
- 使用 ffmpeg 下载 m3u8 视频,linux 后台运行 ffmpeg
使用 ffmpeg 下载 m3u8 视频,linux 后台运行 ffmpeg 下载 m3u8 现在的视频大多数都是 m3u8 格式,网上的介绍也不少,那我直接记录一下下载的方法 方法 1 M3U8-D ...
- java下载m3u8视频,解密并合并ts(二)
上一篇 java下载m3u8视频,解密并合并ts(一)--m3u8概述 下一篇java下载m3u8视频,解密并合并ts(三)--代码实现 m3u8链接的获取 样例一:两个m3u8无key 首先在浏览器 ...
- java下载m3u8视频,解密并合并ts(三)
上一篇 java下载m3u8视频,解密并合并ts(二)--获取m3u8链接 编写代码 加载jar包 由于java不支持AES/CBC/PKCS7Padding模式解密,所以我们要借助第一篇下载好的ja ...
- Java合并m3u8_m3u8Download java 下载 m3u8 视频,解密并合并 ts java download m3u8 vide @codeKK Android开源站...
java 下载 m3u8 视频,解密并合并 ts m3u8 链接获取方式以及代码分析请参见: https://blog.csdn.net/qq494257084/article/details/103 ...
- android 转码工具下载,m3u8视频转码工具
m3u8视频转码工具是一款非常好用的个m3u8视频工具可以帮助我们对视频进行很好的处理.M3u8视频合并软件支持各种短视频.Mp4文件,通过M3u8合并工具可以快速将这些视频合并在一起.软件操作简单, ...
- nodejs使用fluent-ffmpeg下载m3u8视频
nodejs使用 fluent-ffmpeg下载m3u8视频 在使用fluent-ffmpeg之前,要确保电脑上已经安装了ffmpeg 安装包 fluent-ffmpeg npm install fl ...
- PHP下载m3u8视频及解析下载ts资源文件
上一篇写了PHP生成合并ts脚本,后来又想直接下载m3u8里面的ts,又码了一段. <?php /** PHP下载m3u8视频和及解析下载ts资源文件** @file m3u8download. ...
- raw文件 linux,Linux下安装RawTherapee,跨平台RAW格式图像处理工具
原标题:Linux下安装RawTherapee,跨平台RAW格式图像处理工具 正文 跨平台的RAW格式照片处理系统RawTherapee 5.8于近日发布.以下是在Ubuntu 18.04,Ubunt ...
- Linux下分割与合并文件的方法
Linux下分割与合并文件的方法 切割合并文件在linux下用split和cat就可以完成.下面举些实例进行说明. 1.文件切割 文件切割模式分为两种: 文本文件 二进制模式. 1.1文本模式 文本模 ...
最新文章
- FFmpeg 结构体学习(八):FFMPEG中重要结构体之间的关系
- 基于Confluent.Kafka实现的Kafka客户端操作类使用详解
- C++抽象基类和纯虚成员函数
- python numpy ufunc.reduce(self, a, axis=0, dtype=None, out=None, keepdims=False)函数.(连续执行原始运算对值聚合)
- 彩虹工单自动处理网站插件
- aauto的listview(类似于C#的datagrid) 支持文件拖拽获取名单
- 基于java+SpringBoot+HTML+Mysql社区管理系统(小区管理系统)
- 小新700linux网卡驱动,联想小新air无线网卡驱动-联想小新air笔记本无线网卡驱动下载v2.1 官方最新版-西西软件下载...
- 欧氏空间距离和内积_希尔伯特空间(Hilbert Space)
- idea中代码统计工具Statistic的配置与使用
- UI设计流行渐变配色素材,轻松驾驭色彩
- java long 空判断_Long类型null判断带值判断,null必须写在最前面
- nginx反向代理进行统一鉴权
- ENL3010 浪涌电流测试系统
- 【异常解决】DolphinScheduler-2.0.5 工作流实例无法调度和停止异常
- 【软件】Excel文件双击打开巨慢,先开excel程序,将表格拖进来就很快,夜神模拟器导致开excel很慢
- 电脑端播放m3u8视频
- PDF是如何在线分割的?简单方法介绍
- 线性代数之从线性方程组看线性组合
- Studio One v4.6.2 x64 WiN 音乐制作编曲宿主软件下载