背景

在爬取视频时偶尔会遇见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格式相关推荐

  1. 使用 ffmpeg 下载 m3u8 视频,linux 后台运行 ffmpeg

    使用 ffmpeg 下载 m3u8 视频,linux 后台运行 ffmpeg 下载 m3u8 现在的视频大多数都是 m3u8 格式,网上的介绍也不少,那我直接记录一下下载的方法 方法 1 M3U8-D ...

  2. java下载m3u8视频,解密并合并ts(二)

    上一篇 java下载m3u8视频,解密并合并ts(一)--m3u8概述 下一篇java下载m3u8视频,解密并合并ts(三)--代码实现 m3u8链接的获取 样例一:两个m3u8无key 首先在浏览器 ...

  3. java下载m3u8视频,解密并合并ts(三)

    上一篇 java下载m3u8视频,解密并合并ts(二)--获取m3u8链接 编写代码 加载jar包 由于java不支持AES/CBC/PKCS7Padding模式解密,所以我们要借助第一篇下载好的ja ...

  4. Java合并m3u8_m3u8Download java 下载 m3u8 视频,解密并合并 ts java download m3u8 vide @codeKK Android开源站...

    java 下载 m3u8 视频,解密并合并 ts m3u8 链接获取方式以及代码分析请参见: https://blog.csdn.net/qq494257084/article/details/103 ...

  5. android 转码工具下载,m3u8视频转码工具

    m3u8视频转码工具是一款非常好用的个m3u8视频工具可以帮助我们对视频进行很好的处理.M3u8视频合并软件支持各种短视频.Mp4文件,通过M3u8合并工具可以快速将这些视频合并在一起.软件操作简单, ...

  6. nodejs使用fluent-ffmpeg下载m3u8视频

    nodejs使用 fluent-ffmpeg下载m3u8视频 在使用fluent-ffmpeg之前,要确保电脑上已经安装了ffmpeg 安装包 fluent-ffmpeg npm install fl ...

  7. PHP下载m3u8视频及解析下载ts资源文件

    上一篇写了PHP生成合并ts脚本,后来又想直接下载m3u8里面的ts,又码了一段. <?php /** PHP下载m3u8视频和及解析下载ts资源文件** @file m3u8download. ...

  8. raw文件 linux,Linux下安装RawTherapee,跨平台RAW格式图像处理工具

    原标题:Linux下安装RawTherapee,跨平台RAW格式图像处理工具 正文 跨平台的RAW格式照片处理系统RawTherapee 5.8于近日发布.以下是在Ubuntu 18.04,Ubunt ...

  9. Linux下分割与合并文件的方法

    Linux下分割与合并文件的方法 切割合并文件在linux下用split和cat就可以完成.下面举些实例进行说明. 1.文件切割 文件切割模式分为两种: 文本文件 二进制模式. 1.1文本模式 文本模 ...

最新文章

  1. FFmpeg 结构体学习(八):FFMPEG中重要结构体之间的关系
  2. 基于Confluent.Kafka实现的Kafka客户端操作类使用详解
  3. C++抽象基类和纯虚成员函数
  4. python numpy ufunc.reduce(self, a, axis=0, dtype=None, out=None, keepdims=False)函数.(连续执行原始运算对值聚合)
  5. 彩虹工单自动处理网站插件
  6. aauto的listview(类似于C#的datagrid) 支持文件拖拽获取名单
  7. 基于java+SpringBoot+HTML+Mysql社区管理系统(小区管理系统)
  8. 小新700linux网卡驱动,联想小新air无线网卡驱动-联想小新air笔记本无线网卡驱动下载v2.1 官方最新版-西西软件下载...
  9. 欧氏空间距离和内积_希尔伯特空间(Hilbert Space)
  10. idea中代码统计工具Statistic的配置与使用
  11. UI设计流行渐变配色素材,轻松驾驭色彩
  12. java long 空判断_Long类型null判断带值判断,null必须写在最前面
  13. nginx反向代理进行统一鉴权
  14. ENL3010 浪涌电流测试系统
  15. 【异常解决】DolphinScheduler-2.0.5 工作流实例无法调度和停止异常
  16. 【软件】Excel文件双击打开巨慢,先开excel程序,将表格拖进来就很快,夜神模拟器导致开excel很慢
  17. 电脑端播放m3u8视频
  18. PDF是如何在线分割的?简单方法介绍
  19. 线性代数之从线性方程组看线性组合
  20. Studio One v4.6.2 x64 WiN 音乐制作编曲宿主软件下载

热门文章

  1. 通证经济大局观(三十):贵族的没落
  2. java rectangle获取xy_Day06 Java基础学习笔记
  3. 采用两块半球体U235金属的原子弹
  4. 智佩店装完成千万级天使轮融资,深耕连锁店装
  5. js判断android手机浏览器,【笔记】js判断移动端系统及浏览器
  6. 【python】python代码实现多张图片合成视频
  7. 用于采集数据的工具——StatsD
  8. 华硕VM590Z的性能究竟如何?
  9. 超级删除PowerTools
  10. CallStranger UPnP 漏洞曝光,影响数十亿台设备