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

 更新时间:2023年06月04日 14:21:36   作者:Gosick_Geass_Gate  
这篇文章主要为大家详细介绍了如何通过Python语言实现批量下载ts文件并合并为mp4视频的功能,文中的示例代码讲解详细,感兴趣的小伙伴可以了解一下

(一)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)))

到此这篇关于Python实现批量下载ts文件并合并为mp4的文章就介绍到这了,更多相关Python下载ts文件内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Python探索之SocketServer详解

    Python探索之SocketServer详解

    这篇文章主要介绍了Python探索之SocketServer详解,小编觉得还是比较不错的,这里分享给大家,供需要的朋友参考。
    2017-10-10
  • python根据给定文件返回文件名和扩展名的方法

    python根据给定文件返回文件名和扩展名的方法

    这篇文章主要介绍了python根据给定文件返回文件名和扩展名的方法,实例分析了Python操作文件及字符串的技巧,非常具有实用价值,需要的朋友可以参考下
    2015-03-03
  • Python使用POP3和SMTP协议收发邮件的示例代码

    Python使用POP3和SMTP协议收发邮件的示例代码

    这篇文章主要介绍了Python使用POP3和SMTP协议收发邮件的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-04-04
  • Python实现截屏的函数

    Python实现截屏的函数

    这篇文章主要介绍了Python实现截屏的函数,可实现Python针对屏幕的截屏功能,非常简单实用,需要的朋友可以参考下
    2015-07-07
  • Matplotlib实战之堆叠面积图绘制详解

    Matplotlib实战之堆叠面积图绘制详解

    堆叠面积图和面积图都是用于展示数据随时间变化趋势的统计图表,但它们的特点有所不同,堆叠面积图既能看到各数据系列的走势,又能看到整体的规模,下面我们就来看看如何绘制堆叠面积图吧
    2023-08-08
  • Django如何在不停机的情况下创建索引

    Django如何在不停机的情况下创建索引

    在本篇内容里小编给大家整理的是关于Django如何在不停机的情况下创建索引的相关文章,有兴趣的朋友们参考学习下。
    2020-08-08
  • python实现爬虫下载美女图片

    python实现爬虫下载美女图片

    本文给大家发发福利,给大家分享一个使用Python实现爬虫下载百度贴吧美女图片的代码,十分不错,有需要的小伙伴直接拿走吧。
    2015-07-07
  • Python OpenCV寻找两条曲线直接的最短距离

    Python OpenCV寻找两条曲线直接的最短距离

    这篇文章主要为大家详细介绍了Python OpenCV寻找两条曲线直接的最短距离,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-01-01
  • Django中URLconf和include()的协同工作方法

    Django中URLconf和include()的协同工作方法

    这篇文章主要介绍了Django中URLconf和include()的协同工作方法,Django是Python众人气框架中最著名的一个,需要的朋友可以参考下
    2015-07-07
  • 如何利用Python识别图片中的文字详解

    如何利用Python识别图片中的文字详解

    不知道大家有没有遇到过这样的问题,就是在某个软件或者某个网页里面有一篇文章,你非常喜欢,但是不能复制.这个时候我们就会选择截图保存,但是当我们想用到里面的文字时,还是要一个字一个字打出来,那么能不能直接识别图片中的文字呢?答案是肯定的,需要的朋友可以参考下
    2021-05-05

最新评论