如何使用Python下载TS文件并利用ffmpeg进行合并?

2026-04-30 19:181阅读0评论SEO教程
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计350个文字,预计阅读时间需要2分钟。

如何使用Python下载TS文件并利用ffmpeg进行合并?

前言:使用Python下载TS文件非常方便,但如果用Python合并保存TS文件,经常会报错。因此,可以使用ffmpeg工具对TS文件进行合并。

完整实例:pythonimport subprocess

def merge_ts_files(file_list, output_file): # 使用ffmpeg命令合并TS文件 command=fffmpeg -f concat -safe 0 -i <(for f in {' '.join(file_list)}; do echo file '{f}'; done) -c copy {output_file} subprocess.run(command, shell=True)

示例文件列表ts_files=[file1.ts, file2.ts, file3.ts]output_file=output.ts

如何使用Python下载TS文件并利用ffmpeg进行合并?

合并TS文件merge_ts_files(ts_files, output_file)

前言:

使用python下载ts文件很顺利,如果用python合并保存ts文件经常会报错。

于是,从网上找到ffmpeg工具,对ts文件进行合并。

完整实例:

# coding:utf-8import requestsimport timefrom multiprocessing.dummy import Poolimport redef get_content(url): print("正在获取:", url) # get方法是一个阻塞的方法 resp = requests.get(url, headers=headers) if resp.status_code == 200: name = url.split("/")[-1] with open(f"D:\m3u8\{name}.ts", "wb") as f: f.write(resp.content) print(name + "下载成功")headers = { "User-Agent": "Mozilla/5.0(Windows NT 6.1;WOW64) AppleWebKit/537.36(KABUL, like Gecko) " "Chrome/86.0.4240.198Safari/537.36 " }url = "new.qqaku.com/20221023/1DhUmOUv/1100kb/hls/index.m3u8"resp = requests.get(url=url, headers=headers).textindex_list = re.findall(r'https(.*?).ts', resp)ts_urls = []for i in index_list: title = i.split("/")[-1] ts_url = "https" + i + ".ts" ts_urls.append(ts_url)start_time = time.time()# 实例化一个线程池对象pool = Pool(30)# 将列表中的每一个列表元素传递给get_content中进行处理。content = pool.map(get_content, ts_urls)end_time = time.time()print('%d second'% (end_time-start_time))pool.close()pool.join()

ffmpeg合并ts文件:

1.新建ts.txt文档

2.执行ffmpeg命令

ffmpeg.exe -f concat -safe 0 -i ts.txt -c copy out.mp4

本文共计350个文字,预计阅读时间需要2分钟。

如何使用Python下载TS文件并利用ffmpeg进行合并?

前言:使用Python下载TS文件非常方便,但如果用Python合并保存TS文件,经常会报错。因此,可以使用ffmpeg工具对TS文件进行合并。

完整实例:pythonimport subprocess

def merge_ts_files(file_list, output_file): # 使用ffmpeg命令合并TS文件 command=fffmpeg -f concat -safe 0 -i <(for f in {' '.join(file_list)}; do echo file '{f}'; done) -c copy {output_file} subprocess.run(command, shell=True)

示例文件列表ts_files=[file1.ts, file2.ts, file3.ts]output_file=output.ts

如何使用Python下载TS文件并利用ffmpeg进行合并?

合并TS文件merge_ts_files(ts_files, output_file)

前言:

使用python下载ts文件很顺利,如果用python合并保存ts文件经常会报错。

于是,从网上找到ffmpeg工具,对ts文件进行合并。

完整实例:

# coding:utf-8import requestsimport timefrom multiprocessing.dummy import Poolimport redef get_content(url): print("正在获取:", url) # get方法是一个阻塞的方法 resp = requests.get(url, headers=headers) if resp.status_code == 200: name = url.split("/")[-1] with open(f"D:\m3u8\{name}.ts", "wb") as f: f.write(resp.content) print(name + "下载成功")headers = { "User-Agent": "Mozilla/5.0(Windows NT 6.1;WOW64) AppleWebKit/537.36(KABUL, like Gecko) " "Chrome/86.0.4240.198Safari/537.36 " }url = "new.qqaku.com/20221023/1DhUmOUv/1100kb/hls/index.m3u8"resp = requests.get(url=url, headers=headers).textindex_list = re.findall(r'https(.*?).ts', resp)ts_urls = []for i in index_list: title = i.split("/")[-1] ts_url = "https" + i + ".ts" ts_urls.append(ts_url)start_time = time.time()# 实例化一个线程池对象pool = Pool(30)# 将列表中的每一个列表元素传递给get_content中进行处理。content = pool.map(get_content, ts_urls)end_time = time.time()print('%d second'% (end_time-start_time))pool.close()pool.join()

ffmpeg合并ts文件:

1.新建ts.txt文档

2.执行ffmpeg命令

ffmpeg.exe -f concat -safe 0 -i ts.txt -c copy out.mp4