[特殊字符] FFmpeg 学习笔记

发布于:2025-06-06 ⋅ 阅读:(24) ⋅ 点赞:(0)

一、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

八、扩展资源

  • FFmpeg 官方文档:Documentation

  • FFmpeg 命令查询工具:https://ffmpeg.guide

  • 学习推荐视频:B站搜索“FFmpeg全套教程”或“ffmpeg命令实战”


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

FFmpeg学习笔记 – 菜鸟-创作你的创作


网站公告

今日签到

点亮在社区的每一天
去签到