实例1: 把4个视频(1.f4v, 2.f4v, 3.f4v, 4.f4v)合并成一个文件(out.mp4)
基本无损,而且速度飞快!
#-vcodec copy -acodec copy == -c copy
ffmpeg.exe -i 1.f4v -vcodec copy -acodec copy -vbsf h264_mp4toannexb 1.ts
ffmpeg.exe -i 2.f4v -vcodec copy -acodec copy -vbsf h264_mp4toannexb 2.ts
ffmpeg.exe -i 3.f4v -vcodec copy -acodec copy -vbsf h264_mp4toannexb 3.ts
ffmpeg.exe -i 4.f4v -vcodec copy -acodec copy -vbsf h264_mp4toannexb 4.ts
ffmpeg.exe -i "concat:1.ts|2.ts|3.ts|4.ts" -acodec copy -vcodec copy -absf aac_adtstoasc out.mp4
实例2: 有若干个文件053.mp4,054.mp4,...,065.mp4, 合并成一个MP4文件
# -*- coding: utf-8 -*-
import os
#先获取这些MP4文件,转换成ts格式
for each in os.listdir():
if each[-3:] == 'mp4':
os.system('ffmpeg.exe -i %s -c copy -vbsf h264_mp4toannexb %s.ts' % (each, each[:-4]))
#再把这些ts文件合并成MP4文件
li = ['0%d.ts'%i for i in range(53,66)]
input_file = '|'.join(li)
command = 'ffmpeg.exe -i "concat:%s" -c copy -absf aac_adtstoasc out.mp4' % input_file
os.system(command)