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快速从视频中提取视频帧的方法详解

    Python快速从视频中提取视频帧的方法详解

    本文为大家介绍一种从视频中抽取视频帧的方法,由于单线程抽取视频帧速度较慢,因此这里我们增加了多线程的方法,感兴趣的小伙伴可以动手尝试一下
    2022-07-07
  • 使用tensorflow根据输入更改tensor shape

    使用tensorflow根据输入更改tensor shape

    这篇文章主要介绍了使用tensorflow根据输入更改tensor shape,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-06-06
  • python按键按住不放持续响应的实例代码

    python按键按住不放持续响应的实例代码

    今天小编就为大家分享一篇python按键按住不放持续响应的实例代码,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-07-07
  • python中asyncio异步编程学习

    python中asyncio异步编程学习

    这篇文章主要介绍了python中asyncio异步编程学习,内部就是基于协程实现的异步编程,如果想研究异步编程的同学,要仔细看哦
    2021-04-04
  • pygame实现中文输入框的示例

    pygame实现中文输入框的示例

    本文主要介绍了pygame实现中文输入框的示例,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-12-12
  • Python math库 ln(x)运算的实现及原理

    Python math库 ln(x)运算的实现及原理

    这篇文章主要介绍了Python math库 ln(x)运算的实现及原理,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-07-07
  • Python利用pywin32实现自动操作电脑

    Python利用pywin32实现自动操作电脑

    在windows系统上,重复性的操作可以用Python脚本来完成,其中常用的模块是win32gui、win32con、win32api,要使用这三个模块需要先安装pywin32。本文就为大家介绍了如何利用这些模块实现自动操作电脑,感兴趣的可以了解一下
    2022-11-11
  • 使用Python的开发框架Brownie部署以太坊智能合约

    使用Python的开发框架Brownie部署以太坊智能合约

    在本文中,我们将使用Python部署智能合约。这篇文章可能是您走向智能合约和区块链开发的桥梁!
    2021-05-05
  • Pytorch Tensor的索引与切片例子

    Pytorch Tensor的索引与切片例子

    今天小编就为大家分享一篇Pytorch Tensor的索引与切片例子,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-08-08
  • 利用Python提取图片经纬度并锁定拍照地点

    利用Python提取图片经纬度并锁定拍照地点

    每张照片的属性中都会有一个经纬度信息,本文将利用Python实现提取图片的经纬度,并锁定拍照的低点,感兴趣的小伙伴可以跟随小编一起动手试一试
    2022-02-02

最新评论