FFmpeg常用命令
1.信息查询命令
ffmpeg -h full 或者 man ffmpeg #查询帮助手册
Usage:ffmpeg [options] [[infile options] -i infile] ... {[outfile options] outfile}....
#具体各种可选操作可使用 ffmpeg -h full 查看,也可使用man ffmpeg 查看例子
2.分解/复用命令
其实就是封装解封装
#视频格式转换,-vcodec copy 表示使用原来的视频编码,-acodec copy表示使用原来的音频编码
ffmpeg -i test.mp4 -vcodec copy -acodec copy out.avi
ffmpeg -i test.mp4 -vn -acodec copy out.aac #将mp4文件分解成音频文件,-vn 禁用视频
ffmpeg -i test.mp4 -an -vcodec copy out.h264 #将mp4文件分解成视频文件,-an 禁用音频
ffmpeg -i out.aac -i out.h264 -acodec copy -vcodec copy -f mp4 new.mp4 #将视频文件和音频文件合并成mp4文件
3.编码/解码命令
#解码:
ffmpeg -i test.flv -an -c:v rawvideo -pix_fmt yuv420p out.yuv #提取YUV数据 -c:v 指定视频编码格式,等同于-vcodec -pix_fmt 指定像素格式
ffmpeg -i test.mp4 -vn -ar 44100 -ac 2 -f s16le out.pcm #提取PCM数据,-ar 设置音频采样率,-ac设置音频通道数目 -f 指定pcm文件数据格式
#编码
ffmpeg -s 640x480 -i out.yuv -vcodec h264 out.h264 #使用h264编码压缩YUV数据
ffmpeg -ar 44100 -ac 2 -f s16le -i out.pcm -acodec libfdk_aac out.aac #使用fdk_aac编码压缩pcm数据
4.裁剪/合并命令
ffmpeg -ss 00:00:00 -t 10 -i test.mp4 -vcodec copy -acodec copy 1.ts #裁剪10秒视频 -ss 裁剪的起始位置,-t 读取到文件的指定位置,可以是秒数,也可以是hh:mm:ss形式
ffmpeg -f concat -i input.txt -vcodec copy -acodec copy new.ts #合并input.txt文件中的视频文件列表 input.txt 文件格式:file "filename"
5.图片/视频互转命令
ffmpeg -i test.mp4 -t 5 -r 2 -s 640x480 %3d.jpeg #将视频转为图片,-t,截取的时长,-r 设置图片的截取速率,现在每秒两张,-s 设置截取图片大小
ffmpeg -i %3d.jpeg out.mp4 #将图片转视频
ffmpeg -i %3d.jpeg -r 5 out.gif #图片转GIF动图
ffmpeg -i test.mp4 -t 5 -r 30 out.gif #视频转动图
6.录制命令
ffmpeg -y -f x11grab -r 30 -s 1024x768 -i:0.0 -preset ultrafast out.mp4 #录制屏幕,并编码封装成mp4文件
ffmpeg -f alsa -i pulse -ar 44100 -ac 2 -f s16le out.pcm #获取音频数据
7.直播命令
ffmpeg -re -i test.mp4 -acodec copy -vcodec copy -f flv rtmp://xxx #推流,-re读取输入的原始帧频率
ffmpeg -h http:xxxx -c copy out.m3u8 #拉流
8.滤镜处理命令
ffmpeg -i in.mp3 -filter_complex atempo=0.5 out.mp3 #对声音进行变速不变调处理 -filter_complex 设置音频速度因子(0.5-100,默认1)
ffmpeg -i test.flv -vf crop=in_w-200:in_h-100 -vcodec libx264 -c:a copy out.flv #裁剪视频-vf 创建和使用指定的滤镜组 crop滤镜组名称
标签:ffmpeg,FFmpeg,vcodec,mp4,常用命令,test,copy,out
From: https://www.cnblogs.com/wkzs/p/18105257