【实用工具】FFmpeg常用的命令

前言

FFmpeg是一个强大的多媒体处理工具,可以用于处理音频、视频和图像。

命令格式

bash 复制代码
ffmpeg {1} {2} -i {3} {4} {5}

上面命令中,五个部分的参数依次如下。

bash 复制代码
1.全局参数
2.输入文件参数
3.输入文件
4.输出文件参数
5.输出文件

常见命令行参数

bash 复制代码
-c:指定编码器
-c copy:直接复制,不经过重新编码(这样比较快)
-c:v:指定视频编码器
-c:a:指定音频编码器
-i:指定输入文件
-an:去除音频流
-vn: 去除视频流
-preset:指定输出的视频质量,会影响文件的生成速度,有以下几个可用的值 ultrafast, superfast, veryfast, faster, fast, medium, slow, slower, veryslow。
-y:不经过确认,输出时直接覆盖同名文件。

常用命令

  • 查看文件源信息
bash 复制代码
ffmpeg -i input.mp4 -hide_banner
  • 转码视频格式
bash 复制代码
ffmpeg -i input.mp4 -c:v libx264 -c:a aac output.mp4
  • 调整视频大小
bash 复制代码
ffmpeg -i input.mp4 -vf scale=640:480 output.mp4
  • 提取音频
bash 复制代码
ffmpeg -i input.mp4 -ss 00:01:00 -to 00:02:30 -c:v copy -c:a copy output.mp4
  • 合并视频和音频
bash 复制代码
ffmpeg -i video.mp4 -i audio.aac -c:v copy -c:a aac -strict experimental output.mp4
  • 添加水印
bash 复制代码
ffmpeg -i input.mp4 -i watermark.png -filter_complex "overlay=10:10" output.mp4
  • 提取视频帧
bash 复制代码
ffmpeg -i input.mp4 -vf "select=eq(n\,100)" -vframes 1 output.jpg
  • 改变音频音量
bash 复制代码
ffmpeg -i input.mp3 -filter:a "volume=2.0" output.mp3
  • 从视频中提取图片
bash 复制代码
ffmpeg -i video.mp4 -r 1 -f image2 image-%3d.png
  • 为音频增加封面图片

把音频变成视频,全程使用一张图片(比如专辑封面)

bash 复制代码
ffmpeg -loop 1 -i image.jpg -i audio.wav -c:v libx264 -c:a aac -strict experimental -b:a 192k -shortest output.mp4
  • 为视频增加字幕
bash 复制代码
ffmpeg -i video.mp4 -i subtitles.srt -c:v copy -c:a copy -preset veryfast -c:s mov_text -map 0 -map 1 output.mp4
  • 添加音轨

将外部音频加入视频,比如添加背景音乐或旁白

bash 复制代码
ffmpeg \
-i input.aac -i input.mp4 \
output.mp4
  • 获取视频总帧数
bash 复制代码
ffprobe -v error -count_frames -select_streams v:0 -show_entries stream=nb_frames -of default=nokey=1:noprint_wrappers=1 gemfield.mp4
  • 实时流媒体传输

FFmpeg可以通过网络将音视频流传输到远程设备或进行直播。例如,将摄像头捕捉到的视频流传输到远程服务器。

bash 复制代码
 ffmpeg -f dshow -i video="Camera" -c:v libx264 -preset ultrafast -tune zerolatency -f mpegts udp://192.168.0.1:1234

其中,-f参数指定输入格式,dshow表示使用DirectShow来捕捉视频;-i参数指定输入设备,video="Camera"表示使用摄像头作为输入;-c:v参数指定视频编码器,libx264表示使用H.264编码;-preset和-tune参数用于优化实时传输的性能;-f mpegts表示输出为MPEG-TS格式;udp://192.168.0.1:1234是远程服务器的地址

参考链接:

30分钟带你入门,20个 FFmpeg操作命令,包你学会 - 知乎

FFmpeg 视频处理入门教程 - 阮一峰的网络日志

FFmpeg教程(超级详细版) - 掘金

FFmpeg 实用命令 --- FFmpeg 教程 文档

FFmpeg的使用指南:从入门到精通 |21xrx.com

相关推荐
luoyayun3619 小时前
Qt + FFmpeg 实战:音频静音段检测
qt·ffmpeg·音视频·静音段检测
小鹿研究点东西2 天前
直播带货长视频AI自动剪辑开播:一场直播如何反复利用?
ffmpeg·自动化·音视频·语音识别
luoyayun3612 天前
Qt + FFmpeg 实战:获取音视频文件基础属性、流信息和元数据
qt·ffmpeg·音视频·元数据·获取音视频文件属性
Rudon滨海渔村2 天前
ffmpeg裁剪视频黑屏、不准时等处理方式 - ffmpeg基本操作
ffmpeg·音视频
The Sheep 20233 天前
ffmpeg速成
ffmpeg
街灯L3 天前
【Ubuntu】使用ffmpeg解析m3u8网页视频
ubuntu·ffmpeg·音视频
烟雨江南7854 天前
特高压输电线路带电作业直升机吊篮与强电磁感应放电:基于“灵声智库”空间自适应滤波与声纹授权的离线语音控制指令方案
人工智能·ffmpeg·webrtc·语音识别·ai质检
AJi4 天前
H264码率控制
ffmpeg
换个昵称都难5 天前
webrtc voice engine 介绍(新版webrtc)
ffmpeg·音视频·webrtc
小鹿软件办公6 天前
巧用 Adobe Audition 中置声道提取,轻松分离人声与背景音乐
adobe·ffmpeg·简鹿人声分离