Python实现批量下载ts文件并合并为mp4
作者:Gosick_Geass_Gate 时间:2022-07-15 20:24:09
(一)ts文件下载
网页文件下载其实都可以通过requests.get
以文件流的形式获取,并以字节的形式写入本地文件即可。
代码如下:
import os
import requests
def download(url, filenames, dirname):
session = requests.Session()
for filename in filenames:
print(u"downloading: %s" % filename)
r = session.get(url + filename, stream=True).iter_content(chunk_size=1024 * 1024)
filepath = os.path.join(dirname, filename)
print(u"saving: %s" % filename)
with open(filepath, 'wb') as f:
for chunk in r:
chunk and f.write(chunk)
print(u"finished: %s" % filename)
我发现在保存这一步会存在性能卡点(打印saving之后等了很久都没有生成文件),暂时没有想到很好的优化方法,不过下载这一步其实可以借用迅雷来批量处理,步骤如下:
1.点击新建。
2.切换为批量任务,这样就可以使用通配符去批量下载文件了。
(二)ts文件合并为mp4
这个需要借助ffmpeg工具去实现。Windows平台可以直接到官网下载压缩包,解压之后把bin目录加入到环境变量中即可。
最后使用ffmpeg合并ts文件的代码如下:
import os
def merge(filenames, dirname, video='video.mp4'):
# 先用一个文件保存所有的文件路径(格式:file '***.ts')
path = os.path.join(dirname, 'path.txt')
with open(path, 'w+') as f:
for filename in filenames:
f.write("file '%s'\n" % os.path.join(filename))
os.chdir(dirname)
os.system('ffmpeg -f concat -safe 0 -y -i %s -c copy -strict -2 %s' % (path, os.path.join(dirname, video)))
来源:https://blog.csdn.net/Gosick_Geass_Gate/article/details/130920186
标签:Python,下载,ts
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
Python 不设计 do-while 循环结构的理由
2021-08-04 11:55:19
![](https://img.aspxhome.com/file/2023/9/68299_0s.jpg)
css hack简易的“独享”与“交集”
2008-08-31 20:17:00
ThinkPHP使用smarty模板引擎的方法
2023-11-14 11:37:19
iis7 ASP+Access数据库连接错误
2011-03-08 10:41:00
FSO如何一行行地读取文件?
2010-06-10 18:40:00
制作一个更漂亮一些的多选列表框
2007-10-16 13:04:00
![](https://img.aspxhome.com/file/UploadPic/200710/16/2007101613723940s.gif)
mcrypt启用 加密以及解密过程详细解析
2023-07-15 19:41:55
简单介绍Python的Django框架加载模版的方式
2022-09-17 16:49:31
Oracle捕获问题SQL解决CPU过渡消耗
2010-07-21 13:14:00
Safari显示网页字体为超级无敌难看的宋体的原因
2008-04-20 16:49:00
使用SQL Server时最容易忽略的21个问题
2009-01-13 13:59:00
使用BULK INSERT大批量导入数据 SQLSERVER
2012-01-05 19:26:36
Access报错:文件共享锁定数溢出
2009-03-21 18:32:00
Python基于Google Bard实现交互式聊天机器人
2022-12-14 22:05:20
![](https://img.aspxhome.com/file/2023/1/70081_0s.png)
利用ASP发送和接收XML数据的处理方法
2009-02-02 08:57:00
python实现图像拼接
2023-07-26 15:38:27
![](https://img.aspxhome.com/file/2023/9/60969_0s.jpg)
分享一个超好用的php header下载函数
2023-09-03 21:31:43
NopCommerce架构分析(一)Autofac依赖注入类生成容器
2023-07-11 21:20:27
SQL 2008 FileStream数据类型
2008-10-28 21:07:00
PHP中使用正则表达式提取中文实现笔记
2023-09-08 18:35:21
![](https://img.aspxhome.com/file/2023/3/55513_0s.png)