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.切换为批量任务,这样就可以使用通配符去批量下载文件了。

Python实现批量下载ts文件并合并为mp4

Python实现批量下载ts文件并合并为mp4

(二)ts文件合并为mp4

这个需要借助ffmpeg工具去实现。Windows平台可以直接到官网下载压缩包,解压之后把bin目录加入到环境变量中即可。

Python实现批量下载ts文件并合并为mp4

Python实现批量下载ts文件并合并为mp4

最后使用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
0
投稿

猜你喜欢

  • Python读写JSON文件的操作详解

    2021-03-22 11:46:35
  • 网页特效文字之—沙粒字

    2023-07-06 07:32:10
  • 在查询分析器理启动或停止SQL Agent服务

    2009-01-08 16:20:00
  • pytorch 实现在一个优化器中设置多个网络参数的例子

    2021-11-30 17:12:05
  • Flask框架中request、请求钩子、上下文用法分析

    2022-04-17 23:05:08
  • Flash在web客户端的潜在问题

    2009-05-20 12:11:00
  • php统计数组不同元素的个数的实例方法

    2023-06-11 23:04:59
  • PHP设计模式 注册表模式(多个类的注册)

    2023-11-20 06:45:13
  • 使用Python的PIL模块来进行图片对比

    2022-04-28 19:18:36
  • Windows环境下Python3.6.8 importError: DLLload failed:找不到指定的模块

    2022-08-07 23:03:11
  • python实现查找excel里某一列重复数据并且剔除后打印的方法

    2021-01-23 10:27:45
  • Django中文件上传和文件访问微项目的方法

    2021-04-15 10:44:45
  • Python制作CSDN免积分下载器

    2021-12-25 03:46:35
  • Python实现截屏的函数

    2022-03-12 01:46:53
  • Python3爬虫里关于识别微博宫格验证码的知识点详解

    2022-01-05 11:44:06
  • 通过作业调度建立SQL Server的自动备份

    2008-12-09 14:58:00
  • python实现双向链表原理

    2023-08-11 11:42:11
  • 分享到豆瓣、百度空间、新浪微博的js代码

    2011-03-17 12:58:00
  • python Airtest自动化测试工具的的使用

    2023-10-28 02:12:57
  • Python列表删除重复元素与图像相似度判断及删除实例代码

    2021-02-21 05:28:58
  • asp之家 网络编程 m.aspxhome.com