FFmpeg 是一个免费、开源且高度可定制的多媒体处理工具,它是一个强大的跨平台框架,用于处理音频、视频、多媒体流和图像。FFmpeg 的主要功能包括解码、编码、转码、流处理、多路复用、分离、合并、过滤等,支持多种音视频格式,包括但不限于MP4、AVI、MKV、MP3、H.264、H.265、AAC 等。
前往官网下载 Download FFmpeg
官方文档:ffmpeg Documentation(具体还有很多功能,可以查看官方文档学习)
windows:
将下载的压缩包,解压缩
将\bin目录加到环境变量,添加后在黑窗口,查看是否有ffmpeg命令;
这样安装就ok了。
ffmpeg -i input.mp4 -c:v libx264 -c:a aac output.mp4
ffmpeg -i input.mp3 -c:a aac -b:a 256k output.m4a
ffmpeg -i input.mp4 -ss 00:01:00 -t 00:00:30 -c:v copy -c:a copy output.mp4
ffmpeg -i input1.mp4 -i input2.mp4 -filter_complex "concat=n=2:v=1:a=1" -c:v libx264 -c:a aac output.mp4
ffmpeg -i input.mp4 -vf "scale=1280:720" output.mp4
ffmpeg -i input1.ts -i input2.ts -i input3.ts -c:v libx264 -c:a aac output1.mp4 -output2.mp4 -output3.mp4
这个命令将依次处理每个输入文件(input1.ts、input2.ts 和 input3.ts),为每个输入文件分别创建一个输出文件(output1.mp4、output2.mp4 和 output3.mp4)。每次 -i 后面的输入文件都会对应一个 -c:v(视频编码器选项)和 -c:a(音频编码器选项),以确定每个输出文件的编码方式。
对于 MPEG 格式的视频,可以直接连接:
ffmpeg -i "concat:input1.mpg|input2.mpg|input3.mpg" -c copy output.mpg
对于非 MPEG 格式容器,但是是 MPEG 编码器(H.264、DivX、XviD、MPEG4、MPEG2、AAC、MP2、MP3 等),可以包装进 TS 格式的容器再合并。在新浪视频,有很多视频使用 H.264 编码器,可以采用这个方法
ffmpeg -i input1.flv -c copy -bsf:v h264_mp4toannexb -f mpegts input1.ts
ffmpeg -i input2.flv -c copy -bsf:v h264_mp4toannexb -f mpegts input2.ts
ffmpeg -i input3.flv -c copy -bsf:v h264_mp4toannexb -f mpegts input3.ts
ffmpeg -i "concat:input1.ts|input2.ts|input3.ts" -c copy -bsf:a aac_adtstoasc -movflags +faststart output.mp4
保存 QuickTime/MP4 格式容器的时候,建议加上 -movflags +faststart。这样分享文件给别人的时候可以边下边看。
直接备注分辨率
ffmpeg -i begin.mp4 -i mid.mp4 -i end.mp4 -filter_complex "[0:v]scale=1920:1080[0v];[1:v]scale=1920:1080[1v];[2:v]scale=1920:1080[2v];[0v][0:a][1v][1:a][2v][2:a]concat=n=3:v=1:a=1[v][a]" -map "[v]" -map "[a]" -c:v libx264 -c:a aac output.mp4