首页 > 其他分享 >ffmpeg合并视频

ffmpeg合并视频

时间:2024-08-31 22:25:06浏览次数:4  
标签:视频 mylist ffmpeg thread 合并 ts write num

安装ffmpeg命令工具:

1.下载ffmpeg工具 【官网

2.如果需要下载 7-zip解压该文件【官网

3.解压后重名解压文件夹为ffmpeg

4.复制ffmpeg文件夹到 "C:\Program Files"

5.添加系统环境变量 “C:\Program Files\ffmpeg\bin”

6.可以通过 ffmpeg 查看


7. 对于需要合并的ts 参考如下代码ffmpeg -f concat -i mylist.txt -c copy output.mp4

下载ts合并
import requests
import time
import threading
import queue
import random

def write_ts(start_num, end_num):
    for i in range(start_num,end_num):
        a = random.randint(1,4)
        print(a)
        time.sleep(a)
        url = 'https://cagnagb/aaax%s.ts' % i
        response = requests.get(url, headers=headers)
        with open("./ts_files/%s.ts" % i, "wb") as f:
            f.write(response.content)

        print('%s 的 %s 完成' % (threading.current_thread().name,i))


def create_thread(total_num,thread_num):
    count_num = thread_num - 1
    int_num = int(total_num/count_num)
    mod_num = total_num%count_num
    every_num = (total_num - mod_num)/count_num

    for x in range(count_num):
        start_num = every_num*x
        end_num = every_num*(x + 1)
        num2 = x + 1
        threading.Thread(target=write_ts,args=(int(start_num), int(end_num)), name='t%s' % int(num2)).start()



    threading.Thread(target=write_ts,args=(int(every_num * count_num),int(every_num * count_num + mod_num)), name='t%s'%int(thread_num)).start()


def write_mylist(num,path1):
    arr1 = ["file '%s.ts'" % x for x in range(num)]
    with open(path1, "w") as file:
        file.write('\n'.join(arr1))

    print('mylist.txt写入完成,请执行命令 【ffmpeg -f concat -i mylist.txt -c copy output.mp4】')


if __name__ == '__main__':

    headers = {'User-Agent':'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.81 Safari/537.36'}

    total_num = 2308
    thread_num = 60
    threading.Lock()
    create_thread(total_num, thread_num)

    write_mylist_path = r"D:\pagcd\mylist.txt"
    write_mylist(total_num,write_mylist_path)



标签:视频,mylist,ffmpeg,thread,合并,ts,write,num
From: https://www.cnblogs.com/szd001/p/18390629

相关文章

  • JS如何通过视频链接获取视频时长
    在JavaScript中,获取视频链接的视频时长通常涉及到创建一个<video>元素,将视频链接设置为该元素的src属性,然后监听视频的loadedmetadata事件,该事件在视频的元数据(包括时长)加载完成后触发。以下是一个基本的示例://视频链接constvideoUrl='你的视频链接';//创建一个video元素......
  • Linux Debian12使用flameshot或gnome-screenshot和ImageMagick垂直合并多张图片后组成
    在发布博客,有时需要滚动截长图,虽然在windows系统有滚动截长图的工具,例如:FastStoneCapture等,但是LinuxDebian系统,这种滚动截长图的工具没有找到合适的。经过自己筛选验证,发现LinuxDebian12使用flameshot或gnome-screenshot截取多张图片,再使用和ImageMagick图像处理工具进行垂直合......
  • 一键AI去除视频水印和字幕!
    我们做网创的,多多少少会去下载很多视频素材,但很多素材自己觉得非常好,但有那该死的水印和字幕就让人非常不爽,要么在剪辑的时候放大把字幕拉出屏幕外,又或者是用黑框该掉字幕,这着实影响美观!有什么办法可以直接去掉字幕和水印吗?答案是有的!今天就给大家分享这个神器:Video......
  • 一键AI去除视频水印和字幕!
    我们做网创的,多多少少会去下载很多视频素材,但很多素材自己觉得非常好,但有那该死的水印和字幕就让人非常不爽,要么在剪辑的时候放大把字幕拉出屏幕外,又或者是用黑框该掉字幕,这着实影响美观!有什么办法可以直接去掉字幕和水印吗?答案是有的!今天就给大家分享这个神器:Video......
  • 一键AI去除视频水印和字幕!
    我们做网创的,多多少少会去下载很多视频素材,但很多素材自己觉得非常好,但有那该死的水印和字幕就让人非常不爽,要么在剪辑的时候放大把字幕拉出屏幕外,又或者是用黑框该掉字幕,这着实影响美观!有什么办法可以直接去掉字幕和水印吗?答案是有的!今天就给大家分享这个神器:Video......
  • 一键AI去除视频水印和字幕!
    我们做网创的,多多少少会去下载很多视频素材,但很多素材自己觉得非常好,但有那该死的水印和字幕就让人非常不爽,要么在剪辑的时候放大把字幕拉出屏幕外,又或者是用黑框该掉字幕,这着实影响美观!有什么办法可以直接去掉字幕和水印吗?答案是有的!今天就给大家分享这个神器:Video......
  • FFmpeg开发笔记(四十九)助您在毕业设计中脱颖而出的几个流行APP
    ​对各高校即将毕业的学子来说,毕业设计算是在大学里的最后一个大作业。特别是软件、计算机、电子等相关专业,毕业设计非常讲究实操,往往要求实现一个实用的、可用的、易用的软件系统或手机APP。不管是软件还是APP,都要通过编程来实现。对于编程类的毕业设计,既有图书馆管理系统这样......
  • 成品短视频源码出售,如何实现大文件秒传?
    成品短视频源码出售,如何实现大文件秒传?大文件秒传逻辑梗概客户端上传文件时,先提交文件的哈希值,服务端根据哈希值查询文件是否已经上传,如果已上传,则直接返回已上传状态客户端收到已上传状态后,直接跳过上传过程优势分析提高上传效率:秒传可以提高上传效率,因为文件已经......
  • 短视频源码,大文件切片上传的实现逻辑
    短视频源码,大文件切片上传的实现逻辑逻辑梗概将大文件分割成多个文件块逐个上传文件块服务端将文件块顺序合并成完整文件优势分析减轻服务器压力:如果一次性上传大文件,服务器的存储和网络带宽压力都会非常大,而通过切片,可以将这些压力分散到多个小文件中,减轻服务器的压......
  • 加油站智能视频监控系统
    加油站智能视频监控系统集人证认证、信息收集等作用于一体,提早识别和干涉预警。加油站智能视频监控系统对面部识别、车子捕获、红外热成像仪等前面认知安装设备在加油站进出口等地区,完成多维度、全因素的数据采集。即时监控重要地区的工作员。当监控工作人员不穿工作服装时,加油站......