当然可以!下面是一份**《FFmpeg 学习笔记》**,内容包括常用命令、基础概念、实践技巧,适合初学者入门或进阶者查阅参考。


🎬 FFmpeg 学习笔记


一、FFmpeg 简介

  • FFmpeg 是一个开源跨平台的视频和音频处理工具,支持录制、转换、流处理等功能。
  • 官网:https://ffmpeg.org
  • 安装命令(macOS):brew install ffmpeg

二、基本命令结构

ffmpeg -i 输入文件 [参数] 输出文件

三、常用命令大全

1. 查看文件信息

ffmpeg -i video.mp4

2. 视频转码(如 mp4 -> avi)

ffmpeg -i input.mp4 output.avi

3. 提取音频

ffmpeg -i video.mp4 -vn -acodec copy audio.aac

4. 提取视频(去掉音频)

ffmpeg -i input.mp4 -an output_no_audio.mp4

5. 转换为GIF动图

ffmpeg -i input.mp4 -t 3 -ss 00:00:02 -vf "fps=10,scale=320:-1" output.gif

6. 截取视频片段

ffmpeg -i input.mp4 -ss 00:01:00 -to 00:01:30 -c copy output_clip.mp4

四、高级功能示例

1. 合并音视频

ffmpeg -i video.mp4 -i audio.aac -c:v copy -c:a aac output.mp4

2. 添加水印

ffmpeg -i input.mp4 -i logo.png -filter_complex "overlay=10:10" output.mp4

3. 合并多个视频

# 先创建文件列表
echo "file 'a.mp4'" > filelist.txt
echo "file 'b.mp4'" >> filelist.txt
ffmpeg -f concat -safe 0 -i filelist.txt -c copy merged.mp4

4. 旋转视频(顺时针90度)

ffmpeg -i input.mp4 -vf "transpose=1" output.mp4

5. 添加字幕(srt)

ffmpeg -i input.mp4 -vf subtitles=sub.srt output.mp4

五、常见参数速查

参数说明
-ss指定起始时间
-t指定持续时长
-vf视频过滤器
-af音频过滤器
-c:v视频编码器
-c:a音频编码器
-r帧率
-b:v视频比特率
-s分辨率(如 1280x720

六、实践技巧与优化

  • 使用 -preset ultrafast 可加速压缩速度(编码质量降低)
  • 使用 -crf 23 控制输出质量(范围 0-51,越小越清晰)
  • 音视频同步问题?试试 -async 1 或 -fflags +genpts

七、常见问题 FAQ

问题解决方案
合并后音画不同步使用 -fflags +genpts -r 25
gif 文件太大加上 fps=10,scale=320:-1:flags=lanczos
视频无法播放指定编码器 -c:v libx264 -c:a aac

八、扩展资源


如果你希望我把这份笔记整理成 PDF、Markdown 或 Word 格式,或者按模块出一系列“每日学习卡片”,也可以告诉我,我来整理。你还想深入哪部分?比如视频压缩、直播推流、滤镜特效等?