【无标题】

将大量ts文件合并为mp4

先看Python源代码

import subprocess
import os
def Final_merge(write_url,name,):
    cmdLine = f'ffmpeg -allowed_extensions ALL -i {write_url}{name}.m3u8 -c copy {write_url}{name}.mp4 -y'
    subprocess.call(cmdLine, shell=True)
    for each in os.listdir(write_url):  
        file_data = write_url + "\\" + each  # 目标文件夹下的所有东西的绝对路径
        if file_data.endswith(".ts") or file_data.endswith(".m3u8") :  # 将所有ts文件以及m3u8文件删除
            os.remove(file_data)
if __name__ == '__main__':
    write_url = f"./video/BadG/"           ##ts文件所在地址
    m3u8_name = f"BadG_1"                  ##m3u8文件要与ts文件在同一个文件夹
    Final_merge(write_url, m3u8_name)
    print("***********************************************************8")
    

上述源代码需要下载ffmpeg,以及ts文件相对应的m3u8文件(爬取ts文件时顺便在网址中爬取就行了)

下载ffmpeg

爬取了上百个ts文件后要做的就是讲将ts文件合并。本人尝试了很多合并ts文件的方法,安装ffmpeg是效果最好的。

ffmpeg安装教程点击这里就好了。

安装完后,再下载subprocess库,确保ts文件和m3u8文件放在指定文件夹,就可以运行上述程序了。如果有报错就可以看看下面的介绍。

m3u8文件

m3u8文件在爬取ts文件时顺便爬取就可以了。值得一提的是,m3u8文件是一个索引纯文本文件,文件中包含的是所有ts文件的参数数据以及ts文件名。

例如:
在这里插入图片描述

所以不能更改网址中的ts文件名!原网址中ts文件名字是什么,下载到本地后依然不要变。如果已经更改,要么将所有ts文件名字改回来,要么自己再人工写一个txt文件替代m3u8,要么干脆把所有ts文件重新下载一遍。

人工写一个txt文件的方法点击这里就可以了。按照链接中的样例,构建自己的txt文件,然后运行就可以了。

  • 4
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值