拼接合并yuv序列转成mp4

ffmpeg需要用支持libx264的版本,如果需要,可以从这个网站下载编译支持libx264\x265的ffmpeg

https://www.gyan.dev/ffmpeg/builds/packages/ffmpeg-6.1-essentials_build.7z

复制代码
#-*- coding:utf-8-*-
import os


if __name__ == "__main__":
    # 1 输入想要合并序列,按顺序放
    input_w = 2560
    input_h = 1440
    input_seqs = [
                r"D:\input\\2_2k_420.yuv",
                r"D:\input\\4_2k_420.yuv", 
                r"D:\input\\10_2K_420.yuv", ]
    # 2 每个yuv转码成mp44
    ffmpeg_trans_param = "ffmpeg -y -f rawvideo -video_size %sx%s -pixel_format yuv420p -i %s \
                            -c:v libx264 -q 10 %d_out.mp4"
    if os.path.exists("concat_list.txt"):
        os.remove("concat_list.txt")
    f_concat = open("concat_list.txt","a")

    for i in range(0,len(input_seqs)):
        cur_cmd = ffmpeg_trans_param %( input_w, input_h, input_seqs[i], i)
        os.system(cur_cmd)
        write_info = "file %d_out.mp4\n" % ( i)
        f_concat.write(write_info)
    f_concat.close()
    
    # 3 按顺序合并所有mp4文件
    
    cur_cmd = "ffmpeg -y -hide_banner -f concat -i concat_list.txt -c:v copy  concat_total.mp4"
    os.system(cur_cmd)
相关推荐
骄傲的心别枯萎4 天前
项目1:FFMPEG推流器讲解(一):FFMPEG重要结构体讲解
linux·ffmpeg·音视频·视频编解码·rv1126
骄傲的心别枯萎5 天前
项目1:FFMPEG推流器讲解(二):FFMPEG输出模块初始化
linux·ffmpeg·音视频·视频编解码·rv1126
DogDaoDao7 天前
DCT与DST变换原理及其在音视频编码中的应用解析
音视频·实时音视频·视频编解码·dct变换·变换编码·dst变换
Everbrilliant899 天前
音视频编解码全流程之用Extractor后Decodec
ffmpeg·视频编解码·mediacodec·音视频解码·ffmpeg编解码·decodec·ndkmediacodec
Everbrilliant8911 天前
音视频编解码全流程之用Extractor后Muxer生成MP4
视频编解码·amediamuxer·ffmpeg数据包提取·amediaextractor·ffmpeg数据包的写入·提取器extractor·复用器muxer
骄傲的心别枯萎15 天前
RV1126 NO.30:RV1126多线程获取音频AI的PCM数据
linux·ffmpeg·音视频·pcm·视频编解码
Byron Loong15 天前
MP4和WMV2压缩机制对比
视频编解码
风间琉璃•16 天前
FFmpeg视频编解码
ffmpeg·视频编解码
沃达德软件16 天前
AI数字人视频图像音频生成服务
图像处理·人工智能·计算机视觉·ai作画·音视频·实时音视频·视频编解码
Everbrilliant8916 天前
Android音视频编解码全流程之Muxer
视频编解码·ffmpeg帧写入·ndkmediamuxer·muxer·muxer复用器·amediamuxer·音视频编解码全流程