今天介绍一个功能强大的视频、音频处理工具ffmpeg 下载安装ffmpeg 如上图，其实站长也不知道这些版本的区别都是什么，应该随便找一个后缀名为zip的版本下载就好了 下载好以后解压压缩包并重命名ffmpeg 配置环境变量,此电脑 -> 右键 -> 属性 新建一个，路径为解压ffmpeg目录下的bin目录，确定 win + r键呼出运行工具 输入ffmpeg，出现如下内容即安装成功 ffmpeg常用参数详解 参数 描述 -formats 输出所有可用格式 -f fmt 强迫采用格式fmt(文件格式, 如wav, avi等). 如果不指定该选项, 则使用文件扩展名来自动探测格式 -i filename 指定输入文件名 -y 覆盖已有文件 -t duration 记录时长为t -fs limit_size 设置文件大小上限 -ss time_off 从指定的时间(s)开始， [-]hh:mm:ss[.xxx]的格式也支持 -b 指定比特率(bits/s)，似乎ffmpeg是自动VBR的，指定了就大概是平均比特率 -vb 指定视频比特率(bits/s) -vframes number 设置转换多少桢(frame)的视频 -r rate 桢速率(fps) -s size 分辨率 -aspect aspect 设置视频长宽比(4:3, 16:9 or 1.3333, 1.7777) -croptop size 设置顶部切除尺寸(in pixels) -cropbottom size 设置底部切除尺寸(in pixels) -cropleft size 设置左切除尺寸 (in pixels) -cropright size 设置右切除尺寸 (in pixels) -padtop size 设置顶部补齐尺寸(in pixels) -padbottom size 底补齐(in pixels) -padleft size 左补齐(in pixels) -padright size 右补齐(in pixels) -padcolor color 补齐带颜色(000000-FFFFFF) -vcodec codec 强制使用codec编解码方式('copy' to copy stream) -sameq 使用同样视频质量作为源（VBR） -pass n 选择处理遍数（1或者2）。两遍编码非常有用。第一遍生成统计信息，第二遍生成精确的请求的码率 -newvideo 在现在的视频流后面加入新的视频流 -ab 设置音频比特率(单位：bit/s，也许老版是kb/s) -aframes number 设置转换多少桢(frame)的音频 -aq quality 设置音频质量 (指定编码) -ar rate 设置音频采样率 (单位：Hz) -ac channels 设置声道数 -an 取消音频 -acodec codec 指定音频编码('copy' to copy stream) -vol volume 设置录制音量大小(默认为256) -newaudio 在现在的音频流后面加入新的音频流 -sn 取消字幕 -scodec codec 设置字幕编码('copy' to copy stream) -newsubtitle 在当前字幕后新增 下面是站长经常帮朋友处理视频文件时使用到的组合命令 命令 描述 ffmpeg -i https://xxx.m3u8 -c copy xxx.mp4 下载网络m3u8文件到本地并转换为MP4格式 ffmpeg -i input.mp4 -fs 想要的文件大小 out.mp4 压缩指定视频到指定大小（可能会导致压缩出来的视频跟原视频长度不一致，如想要长度跟原视频保持一致，请看下一条） ffmpeg -i input.mp4 -vcodec libx264 -b:v 400K out.mp4 压缩视频大小，-b:v 码率，一般设置为400k即可，此参数越小，文件大小越小,画面越模糊 ffmpeg -i imput.mp4 -i input.mp3 -vcodec copy -acodec copy output.mp4 视频音频合成 ffmpeg -i input.mp4 -metadata:s:v rotate="90" -codec copy output.mp4 旋转视频90° ffmpeg -i input.mp4 -ss 00:01:00 -to 00:02:00 -c copy output.mp4 视频裁切指定长短 ffmpeg -ss 00:00:00 -t 00:00:01 -i input.mp4 -frames:v 1 -pix_fmt yuvj422p -f image2 output.jpg -y 固定时间点抽帧 ffmpeg -i input.mp4 -vf "select=eq(pict_type\,I)" -frames:v 1 -pix_fmt yuvj422p -vsync vfr -qscale:v 2 -f image2 output.jpg -y 抽取视频关键帧I帧表示关键帧P帧单预测帧B帧双向预测帧 ffmpeg -i input.avi -c copy output.mp4 avi、mkv、flv等格式转为mp4 ffmpeg -i input.asf output.mp4 wmv、asf、rmvb等格式转为mp4 ffmpeg -i video.mp4 -i audio.mp4 -c:v copy -c:a aac -strict experimental output.mp4 合并音频和视频文件 ffmpeg -i input.wav -f mp3 -acodec libmp3lame output.mp3 wav转mp3 ffmpeg -i input.jpg -fs 30k output.png 压缩图片到指定大小 ffmpeg -i input.png -vf scale=width:height output.png 根据输入分辨率压缩图片，width和height需要填入具体数值 ffmpeg -i input.mp4 -vf fps=1 output%d.png 视频转换为图片 ffmpeg -i input.mp4 -vf scale=320:240 output.mp4 更改视频或图像的大小 ffmpeg -i part1.mp4 -i part2.mp4 -filter_complex vstack=inputs=2 output.mp4ffmpeg -i part1.mp4 -i part2.mp4 -filter_complex hstack=inputs=2 output.mp4 组合/堆叠两个视频或图像 ffmpeg -r 100 -f image2 -s 500x500 -i pic%00d.png -vcodec libx264 -vf "pad=ceil(iw/2)*2:ceil(ih/2)*2" -crf 25 -pix_fmt yuv420p output.mp4 将图像与视频结合 ffmpeg -i part1.mp4 -i part1.mp4 -filter_complex "[0:v]pad=iw*2:ih*1[a];[a][1:v]overlay=w" output.mp4 组合/堆栈两个视频或图像和改变大小 ffmpeg -i input.mp4 -filter:v "setpts=PTS/60" output.mp4 加快视频速度 ffmpeg -i input.mp4 -ss 00:00:00 -t 00:00:10 -async 1 output.mp4 根据指定时间裁切视频 ffmpeg -i input.mp4 -c copy -an output.mp4 去除音频 ffmpeg -f concat -safe 0 -i join.txt -c copy output.mp4join.txtfile part1.mp4file part2.mp4 拼接视频 ffmpeg -i input.mp4 -i audio.wav -c:v copy -c:a aac output.mp4 合并视频和音频，音频重新编码 ffmpeg -i input.mp4 -filter:v "setpts=0.5*PTS" output.mp4 加快视频速度 ffmpeg -i input.mp4 -c:v libx264 -ar 22050 -crf 28 output.flv 更改视频格式 ffmpeg -i input.mp4 -vf scale=-1:720 -c:v libx264 -crf 18 -preset veryslow -c:a copy output.mp4 更改视频大小