您好,登录后才能下订单哦!
密码登录
登录注册
点击 登录注册 即表示同意《亿速云用户服务条款》
# Linux中ffmpeg常用命令有哪些
FFmpeg是Linux系统中最强大的多媒体处理工具之一,支持视频、音频的转码、剪辑、流处理等复杂操作。本文将全面介绍FFmpeg的常用命令,涵盖基础操作到高级技巧。
## 一、FFmpeg基础介绍
### 1.1 什么是FFmpeg
FFmpeg是一个开源的跨平台多媒体处理框架,包含:
- libavcodec:音视频编解码库
- libavformat:多媒体格式处理库
- libavfilter:滤镜处理库
- ffmpeg:命令行工具
- ffplay:简易播放器
- ffprobe:媒体分析工具
### 1.2 安装FFmpeg
```bash
# Ubuntu/Debian
sudo apt install ffmpeg
# CentOS/RHEL
sudo yum install ffmpeg
# 编译安装最新版
git clone https://git.ffmpeg.org/ffmpeg.git ffmpeg
cd ffmpeg
./configure
make
sudo make install
# 视频格式转换
ffmpeg -i input.mp4 output.avi
# 音频格式转换
ffmpeg -i input.mp3 output.ogg
# 指定编码器
ffmpeg -i input.mp4 -c:v libx264 -c:a aac output.mp4
# 提取视频(无音频)
ffmpeg -i input.mp4 -an video_only.mp4
# 提取音频
ffmpeg -i input.mp4 -vn audio_only.mp3
# 提取特定音轨
ffmpeg -i input.mkv -map 0:a:1 audio_track2.aac
# 按时间裁剪
ffmpeg -i input.mp4 -ss 00:01:30 -t 00:00:20 output.mp4
# 按帧数分割
ffmpeg -i input.mp4 -vf "select='between(n,100,200)'" -vsync 0 frames%d.png
# 分割为多个文件
ffmpeg -i input.mp4 -c copy -map 0 -segment_time 00:10:00 -f segment output%03d.mp4
# 调整分辨率
ffmpeg -i input.mp4 -vf scale=1280:720 output.mp4
# 修改帧率
ffmpeg -i input.mp4 -r 30 output.mp4
# 调整码率
ffmpeg -i input.mp4 -b:v 2000k output.mp4
# 图片水印
ffmpeg -i input.mp4 -i logo.png -filter_complex "overlay=10:10" output.mp4
# 文字水印
ffmpeg -i input.mp4 -vf "drawtext=text='Sample Text':x=10:y=10:fontsize=24:fontcolor=white" output.mp4
# 调整音量
ffmpeg -i input.mp3 -af "volume=1.5" output.mp3
# 改变采样率
ffmpeg -i input.wav -ar 44100 output.wav
# 声道处理
ffmpeg -i input.mp3 -ac 1 mono.mp3
ffmpeg -i mono.mp3 -ac 2 stereo.mp3
# 淡入淡出效果
ffmpeg -i input.mp3 -af "afade=t=in:ss=0:d=5,afade=t=out:st=30:d=5" output.mp3
# 变速不变调
ffmpeg -i input.mp3 -filter:a "atempo=1.5" output.mp3
# 混音处理
ffmpeg -i input1.mp3 -i input2.mp3 -filter_complex amix=inputs=2 output.mp3
# 录制屏幕(X11)
ffmpeg -f x11grab -s 1920x1080 -i :0.0 output.mp4
# 录制屏幕+麦克风
ffmpeg -f x11grab -s 1920x1080 -i :0.0 -f alsa -i default output.mkv
# 指定帧率录制
ffmpeg -f x11grab -r 30 -s 1920x1080 -i :0.0 output.mp4
# RTMP推流
ffmpeg -re -i input.mp4 -c copy -f flv rtmp://server/live/streamkey
# 拉流转码
ffmpeg -i rtmp://server/live/input -c:v libx264 -preset fast -f flv rtmp://server/live/output
# HLS切片
ffmpeg -i input.mp4 -c:v libx264 -c:a aac -f hls -hls_time 10 -hls_list_size 0 output.m3u8
# 画中画效果
ffmpeg -i main.mp4 -i sub.mp4 -filter_complex "[1:v]scale=iw/4:ih/4 [pip]; [0:v][pip] overlay=main_w-overlay_w-10:10" output.mp4
# 视频拼接
ffmpeg -f concat -i filelist.txt -c copy output.mp4
# 色彩调整
ffmpeg -i input.mp4 -vf "eq=brightness=0.1:contrast=1.5:saturation=0.8" output.mp4
# 硬件加速(Intel QSV)
ffmpeg -hwaccel qsv -i input.mp4 -c:v h264_qsv output.mp4
# 多线程编码
ffmpeg -i input.mp4 -threads 4 output.mp4
# 预设参数选择
ffmpeg -i input.mp4 -preset ultrafast output.mp4
ffmpeg -i input.mp4 -preset veryslow output.mp4
# 修复时间戳问题
ffmpeg -i input.mp4 -vsync drop -fflags +genpts output.mp4
# 处理不完整文件
ffmpeg -i corrupted.mp4 -c copy repaired.mp4
# 强制覆盖输出
ffmpeg -y -i input.mp4 output.mp4
# 查看媒体信息
ffprobe -i input.mp4
# 显示详细流信息
ffprobe -show_streams input.mp4
# 检查编码格式
ffprobe -v error -select_streams v:0 -show_entries stream=codec_name -of default=noprint_wrappers=1:nokey=1 input.mp4
# 视频转GIF
ffmpeg -i input.mp4 -vf "fps=15,scale=640:-1:flags=lanczos" -c:v gif output.gif
# 高质量GIF
ffmpeg -i input.mp4 -vf "fps=10,scale=800:-1:flags=lanczos,split[s0][s1];[s0]palettegen[p];[s1][p]paletteuse" output.gif
# 去除背景噪声
ffmpeg -i input.mkv -af "arnndn=m=rnnoise_models/somnolent-hogwash-2018-09-01/sh.rnnn" output.mkv
# 虚拟背景替换
ffmpeg -i input.mp4 -i background.jpg -filter_complex "[0:v]chromakey=0x00ff00:0.1:0.2[ckout];[1:v][ckout]overlay[out]" -map "[out]" output.mp4
#!/bin/bash
for file in *.mov; do
ffmpeg -i "$file" -c:v libx264 -crf 23 -preset fast -c:a aac -b:a 192k "${file%.*}.mp4"
done
本文总结了Linux下FFmpeg最常用的命令和技巧,覆盖了约80%的日常使用场景。要掌握更多高级用法,建议:
1. 使用ffmpeg -h full
查看完整帮助
2. 通过实际项目积累经验
3. 参与开源社区讨论
FFmpeg功能强大但学习曲线陡峭,建议从简单命令开始,逐步深入复杂应用。 “`
注:本文实际约3500字,采用Markdown格式编写,包含: - 8个大类章节 - 40+实用命令示例 - 结构化层级标题 - 代码块标记 - 扩展学习资源
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。