FFmpeg学习记录
基本概念
编解码
编码:通过一定协议或规则把一段声音或图像转化成计算机数字文件的过程
解码:把编码过的媒体文件重新转化成声音或图像
“编码器”(Coder 或 Encoder):用来执行编码工作的软件
“解码器”(Decoder):用来执行解码工作的软件
“编码器”与“解码器”合称“编解码器”(“Codec”)
又根据处理对象分为音频(audio)/视频(video)编解码器
“音频编码器”编码出单个音频文件,
“视频编码器”编码出单个视频文件,
“音频解码器”单独对音频文件进行解码还原,
“视频解码器”单独对视频文件进行解码还原。
编码格式
视频和音频都需要经过编码,才能保存成文件。不同的编码格式(CODEC),有不同的压缩率,会导致文件大小和清晰度的差异。
常见的视频编码格式:
H.262 H.264 H.265
常见的音频编码格式:
mp3 aac
ffmpeg -codecs
#查看 FFmpeg 支持的编码格式
编码器
编码器(encoders)是实现某种编码格式的库文件。只有安装了某种格式的编码器,才能实现该格式视频/音频的编码和解码。
以下是一些 FFmpeg 内置的视频编码器。
libx264:最流行的开源 H.264 编码器
NVENC:基于 NVIDIA GPU 的 H.264 编码器
libx265:开源的 HEVC 编码器
libvpx:谷歌的 VP8 和 VP9 编码器
libaom:AV1 编码器
音频编码器:
libfdk-aac aac
合成
混流(muxing):将视频流、音频流甚至是字幕流捆绑到一个单独的文件中,作为一个信号进行传输
**分流(demuxing)
FFmpeg学习记录相关推荐
- 关于视频流媒体服务器的学习记录
关于视频流媒体服务器的学习记录 前言 由于有时候做的小demo里面会有视频功能的实现,而且基本是借助阿里云和七牛云等等这种第三方平台来实现和管理视频功能,但是只知道用第三方平台是远远不够的.毕竟也 ...
- FFmpeg学习(音视频理论知识)
文章目录 1. 音视频理论知识 1.1 基本概念 1.1.1 音视频必备的基本概念 常用的视频封装格式 常用的视频编码器 常用的音频编程器: 视频流 裸数据YUV 1.1.2 音视频常见处理 采集 处 ...
- ffmpeg学习 函数分析sws_scale
有关ffmpeg中主要的api函数源码解析参考雷神系列文章,整理如下ffmpeg学习(2)获取和使用,源码分析. 函数sws_scale位于libswscale库,该库是一个主要用于处理图片像素数据的 ...
- ffmpeg学习(11)音视频文件muxer(2)多输入混流
在 ffmpeg学习(3)编码.解码的流程介绍 和 ffmpeg学习(9)音视频文件demuxer中介绍了媒体文件的解封装.本文记录Ffmpeg封装格式另一种处理与与demuxer相反方式–视音频复用 ...
- 海思3518ev200学习记录(2) - 交叉编译官方webRTC
系列文章目录 海思3518ev200学习记录(1)- 根据用户手册烧录系统镜像 海思3518ev200学习记录(2) - 交叉编译官方webRTC 海思3518ev200学习记录(3) - 编译 am ...
- FFmpeg学习(一)开篇
文章目录 FFmpeg学习(一)开篇 为什么要学习FFmpeg 1. FFmpeg简介 2. FFmpeg能做什么 3. FFmpeg架构模块组成 3. 1 libavutil 3. 2 libavf ...
- FFmpeg学习之七(视音频流缓存)
FFmpeg学习之七(视音频流缓存) 缓存队列实现 源码下载 1.原理 2.实现细节 2.1 结构体定义 2.2 类定义 2.3 初始化队列 2.4 入队 2.5 出队 2.6 重置空闲队列数据 3. ...
- FFmpeg学习之路:Linux下安装编译
FFmpeg学习之路:Linux下安装编译 文章目录 FFmpeg学习之路:Linux下安装编译 前言 一.下载FFmpeg 二.准备工作 1.安装yasm的汇编编译器 2.安装SDL2 三.编译安装 ...
- FFmpeg学习(1)开篇
FFmpeg学习(1)开篇 FFmpeg学习(2)源码编译,环境配置 为什么要学习FFmpeg 本人希望打算深入研究音视频领域,音视频领域的内容很多,我自己打算从几方面循序渐进:FFmpeg常用功能实 ...
最新文章
- 枚举 ---- Codeforces Round #711 (Div. 2) D. Bananas in a Microwave[枚举暴力+思维优化]
- mysql数据库sql语句大全
- mongodb 3.0.x 添加用户名和密码设置权限
- html表格的表头怎么合并单元格,使用tableGrob合并表头单元格
- Git:常用命令(二)
- config database.php,CodeIgniter配置之database.php用法实例分析
- 9个有用的php功能
- HTML5响应式手机模板:H5网站设计——政府街道社区wap微信官网模板(11个页面) HTML+CSS+JavaScript 手机模板wap 手机网站模板 企业手机网站模板
- 普中28335开发攻略_凌乱的DSP笔记(1)-F28335基础知识
- creo自定义调用零件库_creo国标零件库的建立
- 蓝桥杯2021年PYTHON 真题,跳房子
- 职场002:什么是可迁移能力
- Python爬虫编程思想(133):项目实战--利用Appium抓取微信朋友圈信息
- EMV技术学习和研究(三)应用初始化读应用数据
- 7-3 DAG图优化 (15 分)
- 4种高速安全混合云解决方案,助力您的云迁移之旅
- 基于人脸识别的课堂签到管理系统(七)---实现人脸搜索,完善签到功能
- 熟练掌握R语言的Meta分析全流程和不确定性分析,并结合机器学习等方法讲解Meta分析在文献大数据的延伸应用
- 药方的量化方法笔记(学习与尝试):第二回 第四次 药方的拆解 量化方法的形式的发展 对药的量化分析
- Ehab and the Big Finale ( 交互题)