1.简介
FFMPEG堪称自由软件中最完备的一套多媒体支持库,它几乎实现了所有当下常见的数据封装格式、多媒体传输协议以及音视频编解码器,提供了录制、转换以及流化音视频的完整解决方案。
2.ffmpeg的常用方法
将某文件下所有ts文件按顺序合并,转换成MP4格式存储:
import ffmpeg def test2(): ts_folder = 'path/ts_files/ceshi/' output_mp4 = "path/video/ceshi/output.mp4" concat_file = "path/video/ceshi/concat.txt" with open(concat_file, 'w') as f: for ts in sorted(os.listdir(ts_folder), key=lambda x: int(x.split('.')[0])): if ts.endswith('.ts'): f.write(f"file '{os.path.join(ts_folder, ts)}'" + '\n') ffmpeg.input(concat_file, format='concat', safe=0).output(output_mp4, c='copy').run() print(f"合并完成,输出文件: {output_mp4}")
视频剪辑
import ffmpeg # 剪辑视频,保留从第10秒到第20秒的部分 input_video = 'path/to/your/video.mp4' output_video = 'path/to/save/your/video.mp4' start_time = '00:00:10' end_time = '00:00:20' ffmpeg.input(input_video).filter('trim', start=start_time, end=end_time).output(output_video).run()
调整视频速度
import ffmpeg # 调整视频速度为原来的2倍 input_video = 'path/to/your/video.mp4' output_video = 'path/to/save/speedup.mp4' ffmpeg.input(input_video).filter('setpts', '1.0*PTS').output(output_video).run()
添加音频到视频
import ffmpeg # 加载视频和音频文件 video = 'path/to/your/video.mp4' audio = 'path/to/your/audio.mp3' # 将音频添加到视频中 output_video = 'path/to/save/audio_added.mp4' ffmpeg.input(video).audio.addinput(ffmpeg.input(audio)).output(output_video).run()