当前位置: 首页 > web >正文

[特殊字符] 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

八、扩展资源

  • FFmpeg 官方文档:Documentation

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

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


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

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

http://www.xdnf.cn/news/11991.html

相关文章:

  • python做题日记(12)
  • 打卡Day44
  • Python 解释器安装全攻略(适用于 Linux / Windows / macOS)
  • 【PmHub面试篇】PmHub 整合 TransmittableThreadLocal(TTL)缓存用户数据面试专题解析
  • MySQL 5.6 Root密码修改完整流程
  • video-audio-extractor:视频转换为音频
  • Spring Boot应用开发实战
  • el-amap-bezier-curve运用及线弧度设置
  • 圣杯布局和双飞翼布局
  • Linux容器篇、第一章docker命令总结表
  • 【仿生】硬件缺失,与组装调试,皮肤问题
  • 第七十三篇 从电影院售票到停车场计数:生活场景解析Java原子类精髓
  • 如何搭建Z-Blog PHP版本:详细指南
  • pytorch 与 张量的处理
  • Neo4j 监控全解析:原理、技术、技巧与最佳实践
  • Neo4j 认证与授权:原理、技术与最佳实践深度解析
  • Elasticsearch中的语义搜索(Semantic Search)介绍
  • Axure 下拉框联动
  • Hive终极性能优化指南:从原理到实战
  • MySql安装、卸载(保姆级流程)
  • MCP客户端Client开发流程
  • python第42天打卡
  • html2canvas v1.0.0-alpha.12版本文本重叠问题修复
  • 基于LangChain构建高效RAG问答系统:向量检索与LLM集成实战
  • 泛微E8多行文本(textarea)赋值
  • 法律AI的“幻觉”治理:大模型如何重塑司法公正与效率
  • 基于 ShardingSphere + Seata 的最终一致性事务完整示例实现
  • nlohmann/json简介及使用
  • kubespere使用中遇到的问题
  • Elasticsearch的审计日志(Audit Logging)介绍