FFmpeg 格式转换:常用命令使用汇总

admin
🌐 经济型:买域名、轻量云服务器、用途:游戏 网站等 《腾讯云》特点:特价机便宜 适合初学者用 点我优惠购买
🚀 拓展型:买域名、轻量云服务器、用途:游戏 网站等 《阿里云》特点:中档服务器便宜 域名备案事多 点我优惠购买
🛡️ 稳定型:买域名、轻量云服务器、用途:游戏 网站等 《西部数码》 特点:比上两家略贵但是稳定性超好事也少 点我优惠购买

温馨提示:这篇文章已超过499天没有更新,请注意相关的内容是否还可用!

FFmpeg 是用于转换音频视频文件的非常强大和通用的命令行工具。它是免费的,适用于 Windows,Mac 和 Linux 系统。无论您要加入两个视频文件,从视频文件中提取音频组件,将视频转换为动画 GIF,FFmpeg 可以做到这一切,甚至更多。

FFmpeg 支持所有流行的音频和视频格式。或者,您可以运行命令./ffmpeg -formats 来获取 FFmpeg 安装支持的每种格式的列表。如果你刚刚开始,这里有一些命令可以帮助你了解这个工具的功能

FFmpeg 获取视频信息

查看本地视频文件信息示例:

1
ffmpeg -i video.avi

查看远程 Web 网络视频信息示例:

1
ffmpeg -i http://www.xxxxx.com/videofiles/20210314/622489518.f4v.mp4

FFmpeg 分离视频音频流

对视频流内容分离示例:

1
ffmpeg -i input_file -vcodec copy -an output_file_video

对视频音频流分离示例:

1
ffmpeg -i input_file -acodec copy -vn output_file_audio

FFmpeg 视频转码

.ts 视频格式转 .mp4 格式示例:

1
ffmpeg -i test.ts -acodec copy -vcodec copy -f mp4 output.mp4

.h264 视频格式转 .ts 视频格式示例:

1
ffmpeg -i test.h264 -vcodec copy -f mpegts output.ts

.h264 视频格式转 .mp4 视频格式示例:

1
ffmpeg -i test.h264 -vcodec copy -f mp4 output.mp4

.mp4 格式视频转 .flv 格式视频示例:

1
ffmpeg -i test.mp4 -b:v 640k output.flv

.mp4 视频格式转 .flv 视频格式示例:

1
ffmpeg -i test.mp4 -acodec copy -vcodec copy -f flv output.flv

.flv 视频格式转 .mp4 视频格式示例:

1
ffmpeg -i test.flv -b:v 640k output.mp4

.mp4 视频格式转 .3gp 视频格式示例:

1
ffmpeg -i test.mp4 -s 176x144 -vcodec h263 -25 -12200 -ab 12200 -ac 1 -ar 8000 output.3gp

.avi 视频格式转 .3gp 视频格式示例:

1
ffmpeg -i test.avi -s aqif -vcodec -acodec mp3 -ac 1 -ar 8000 -25 -ab 32 -y output.3gp

.3gp 视频格式转 .flv 视频格式示例:

1
ffmpeg -i test.3gp -f avi -vcodec xvid -acodec mp3 -ar 22050 output.avi

.flv 视频格式转 .3gp 视频格式示例:

1
ffmpeg -i test.flv -s 176x144 -vcodec h263 -25 -200 -ab 64 -acodec mp3 -ac 1 -ar 8000 output.3gp

.mp4 视频格式转 .avi 视频格式示例:

1
ffmpeg -i test.mp4 output.avi

.flv 视频格式转 .mp4 视频格式示例:

1
ffmpeg -i test.flv -vcodec h264 -25 -200 -ab 128 -acodec mp3 -ac 2 -ar 44.00 output.mp4

.mp4 视频格式转 .flv 视频格式示例:

1
ffmpeg -i test.mp4 -c:v libx264 -ar 22050 -crf 28 output.flv

.avi 视频格式转 .mp4 视频格式示例:

1
ffmpeg -i test.avi -copy -map 0 output.mp4

.m3u8 视频格式转 .mp4 视频格式示例:

1
ffmpeg -i http://www.xxxx.com/2021/0412/6524915458.ssm/6524915458.m3u8 -c copy -bsf:a aac_adtstoasc -movflags +faststart test.mp4

.mkv 视频格式转 .mp4 视频格式示例:

1
ffmpeg -i test.mkv --vcodec copy -acodec copy output.mp4

.mkv 视频格式转 .avi 视频格式示例:

1
ffmpeg -i test.mkv -vcodec copy -acodec copy output.avi

FFmpeg 图像处理

截取指定时间缩略图(-ss 后跟的时间单位是秒)

1
ffmpeg –i test.mp4 --f image2 -ss 8 -0.001 -s 350x240 testImage.jpg

添加图片水印

1
ffmpeg -i input.mp4 -vf "movie=logo.png [logo]; [in][logo] overlay=10:10:1 [out]" output.mp4

添加图片水印

1
ffmpeg -i input.mp4 -i logo.png -filter_complex overlay test1.mp4

添加图片水印

1
ffmpeg –i input.mp4 -acodec copy-vcodec copy -vf "movie=test.png[watermark];[in][watermark]overlay=10:10:1[out]" output.mp4

添加 GIF 文件

1
ffmpeg --i test2.mp4 -ignore_loop 0 -i test.gif -filter_complex overlay=0:H-h test_out2.mp4

添加文本水印

1
ffmpeg -i input.flv -vf "drawtext=fontfile=simhei.ttf: text='您的文本':x=100:y=10:fontsize=24:fontcolor=yellow:shadowy=2" drawtext.mp4

FFmpeg 视频方向处理

旋转 90 度

1
ffmpeg -i test.mp4 -metadata:s:v rotate="90" -codec copy out.mp4

顺时针旋转 90 度

1
ffmpeg -i test.mp4 -vf "transpose=1" out.mp4

逆时针旋转 90 度

1
ffmpeg -i test.mp4 -vf "transpose=2" out.mp4

顺时针旋转 90 度后再水平翻转

1
ffmpeg -i test.mp4 -vf "transpose=3" out.mp4

逆时针旋转 90 度后再水平翻转

1
ffmpeg -i test.mp4 -vf "transpose=0" out.mp4

水平翻转视频

1
ffmpeg -i test.mp4 -vf hflip out.mp4

垂直翻转视频

1
ffmpeg -i test.mp4 -vf vflip out.mp4

FFmpeg 视频剪切

提取图像

1
ffmpeg –i test.avi –r 1 –f image2 image-%3D.jpeg

-r 提取图像的频率,-ss 开始时间,-t 持续时间

1
ffmpeg -ss 0:1:30 -0:0:20 -i input.avi -vcodec copy -acodec copy output.avi

从 10s 处开始剪切,持续 15 秒(此方法有时候会遇到视频第一帧黑屏,就是未播放时候的封面是黑色的,原因是未定位关键帧 I 帧)。

1
ffmpeg -i test.mp4 -ss 10 -15 -codec copy cut.mp4

从 10s 处开始剪切,持续 15 秒(此方法为优化后的方法,此剪切视频的方法可以解决第一帧黑屏问题,但是可切割的时间落点稍稍的有一丢丢的不准确,但是应该可以落在误差范围之内)。

1
ffmpeg -ss 10 -15 -i test.mp4 -codec copy cut.mp4

FFmpeg 倒放音&加速&减速视频

视频倒放:无音频

1
ffmpeg.exe -i inputfile.mp4 -filter_complex [0:v]reverse[v] -map [v] -preset superfast reversed.mp4

视频倒放:音频不变

1
ffmpeg.exe -i inputfile.mp4 -vf reverse reversed.mp4

音频倒放:视频不变

1
ffmpeg.exe -i inputfile.mp4 -map 0 -c:copy -af "areverse" reversed_audio.mp4

音视频同时倒放

1
ffmpeg.exe -i inputfile.mp4 -vf reverse -af areverse -preset superfast reversed.mp4

视频加速:帧速率变为 2 倍,调整倍速范围(0.25,4)

1
ffmpeg -i inputfile.mp4 -vf setpts=PTS/2 -af atempo=2 output.mp4

视频减速播放

1
ffmpeg -i input.mkv -an -filter:"setpts=0.5*PTS" output.mkv

FFmpeg 命令格式:

ffmpeg -i [输入文件名] [参数选项] -f [格式] [输出文件]
ffmpeg [[options][`-i’ input_file]]… {[options] output_file}…
h264:表示输出的是 h264 的视频裸流
mp4:表示输出的是 mp4 的视频
mpegts:表示 ts 视频流

FFmpeg 参数:

-i 设置输入流
-f 设置输出格式
-ss 开始时间

FFmpeg 视频参数:

-b 设置视频流量,默认为 200Kbit/s
-r 设置帧速率,默认为 25
-s 设置画面的宽与高
-aspect 设置画面的比例
-vn 不处理视频
-vcodec 设置视频编解码器,未设定时则使用与输入流相同的编解码器,一般后面加 copy 表示拷贝。

FFmpeg 音频参数:

-ar 设置采样率
-ac 设置声音的声道数
-acodec 设置声音编解码器,未设定时则使用与输入流相同的编解码器,一般后面加 copy 表示拷贝。
-an 不处理音频


文章版权声明:除非注明,否则均为执刀人的工具库原创文章,转载或复制请以超链接形式并注明出处。

发表评论

快捷回复: 表情:
AddoilApplauseBadlaughBombCoffeeFabulousFacepalmFecesFrownHeyhaInsidiousKeepFightingNoProbPigHeadShockedSinistersmileSlapSocialSweatTolaughWatermelonWittyWowYeahYellowdog
验证码
评论列表 (暂无评论,371人围观)

还没有评论,来说两句吧...

目录[+]

取消
微信二维码
微信二维码
支付宝二维码