ffmpeg学习笔记目录

1、命令使用

最开始看一下ffmpeg命令的中文解释,然后ffmpeg的基本用法,日常命令使用中最多的ffmpeg调用x264编码mpeg4中的deblocking的用法x264中输出值含义x264编码之码率控制x264参数介绍之一x264参数介绍之二

2、编译ffmpeg

win7用mingw+msys编译ffmpeg

编译中遇到的文题解决

各个组件下载地址,及编译方法,问题处理

ffmpeg.exe用vs2010编译

ffmpeg库移植vs下所需步奏

ffmpeg编译libxml2

mingw下配置pkg-config

ffmpeg安装gme

3、用ffmpeg的api做一些简单demo

先了解下函数:ffmpeg函数介绍

然后了解下ffmpeg各个结构体:ffmpeg各个结构介绍

这里打算再写一篇文章,来介绍ffmpeg的架构(还没做)。

开始使用api,demuxe和muxer示例:ffmpeg视频合并ffmpeg视频切割

视频编码和色彩空间转换的例子

视频转码,这里准备再写一篇视频编码。

音频转码很多时候需要重采样:用filter重采样采用swr_convert重取样

音频编码和解码也打算单独写2篇例子。

4、在使用api中遇到的一些问题及一些经验

avio_open无法打开中文路径的问题

用ffmpeg转出来的视频,在有些流媒体服务器上部署,客户端需要下载完整个视频才能播放的问题

avcodec_decode_video2少帧问题

AVFrame关于视音频数据存储

av_read_frame读出的视频流数据在AVPacket中的存储

I帧和IDR帧

5、关于时间戳

时间戳问题汇总

视音频pts计算

ffmpeg源码的时间基转换和时间戳比较

6、源码跟踪

用eclipse调试ffmpeg

eclipse调试快捷键总结

ffmpeg.exe跟踪:

ffmpeg编码,函数调用图

open_input_file函数调用图

transcode函数调用图

ffmpeg api函数跟踪:

avformat_open_input

avformat_find_stream_info

avcodec_open2

av_read_frame

avcodec_decode_video2

av_write_frame和av_interleaved_wirte_frame

7、ffmpeg加入自定义的模块

muxer:代码实现加入ffmpeg源码

demuxer:代码实现加入ffmpeg源码

encoder:代码实现加入ffmpeg源码

decoder:代码实现加入ffmpeg源码

时间: 2024-11-03 06:46:37

ffmpeg学习笔记目录的相关文章

Vue学习笔记目录

本文为转载,原文:Vue学习笔记目录 Vue介绍 Vue.js是当下很火的一个JavaScript MVVM库,它是以数据驱动和组件化的思想构建的.相比于Angular.js,Vue.js提供了更加简洁.更易于理解的API,使得我们能够快速地上手并使用Vue.js. 如果你之前已经习惯了用jQuery操作DOM,学习Vue.js时请先抛开手动操作DOM的思维,因为Vue.js是数据驱动的,你无需手动操作DOM.它通过一些特殊的HTML语法,将DOM和数据绑定起来.一旦你创建了绑定,DOM将和数据

Redis学习笔记~目录

redis是一个key-value存储系统.和Memcached类似,它支持存储的value类型相对更多,包括string(字符串).list(链表).set(集合).zset(sorted set --有序集合)和hashs(哈希类型).这些数据类型都 支持push/pop.add/remove及取交集并集和差集及更丰富的操作,而且这些操作都是原子性的.在此基础上,redis支持各种不同方式的排 序.与memcached一样,为了保证效率,数据都是缓存在内存中.区别的是redis会周期性的把更

Hadoop学习笔记目录

Hadoop 运行环境准备 运行环境部署结构介绍 Linux CentOS6.5安装(Hadoop环境配置) Linux 常用远程管理工具介绍 SSH免密码登录配置 Hadoop安装及配置 Hadoop验证-WordCount执行 Hadoop开发工具准备 Hadoop Eclipse Plugin 配置安装及验证 Hadoop Studio 使用 Hadoop简介及应用场景分析 HDSF MapReduce Hive HBase Mahout Zookeeper Avro Sqoop 监控 整

JAVA GUI编程学习笔记目录

1.JAVA之GUI编程概述 2.JAVA之GUI编程布局 3.JAVA之GUI编程Frame窗口 4.JAVA之GUI编程事件监听机制 5.JAVA之GUI编程窗体事件 6.JAVA之GUI编程Action事件 7.JAVA之GUI编程鼠标事件 8.JAVA之GUI编程键盘码查询器 9.JAVA之GUI编程列出指定目录内容 10.JAVA之GUI编程弹出对话框Dialog 11.JAVA之GUI编程菜单 12.JAVA之GUI编程打开与保存文件 13.JAVA之GUI编程将程序打包jar JA

2014年暑假c#学习笔记目录

2014年暑假c#学习笔记 一.C#编程基础 1. c#编程基础之枚举 2. c#编程基础之函数可变参数 3. c#编程基础之字符串基础 4. c#编程基础之字符串函数 5.c#编程基础之ref.out参数 二.C#winform编程 1.C#WinForm基础制作简单计算器 2.C#WinForm基础Email分析器 3.C#WinForm基础累加器 4.C#WinForm基础图片(显示和隐藏) 5.C#WinForm基础登陆失败三次退出系统 6.C#WinForm基础城市选择器 三.c#面向

Linux命令学习笔记目录

Linux命令学习笔记目录 最近正在使用,linux,顺便将用到的命令整理了一下. 一. 文件目录操作命令: 0.linux命令学习笔记(0):man 命令 1.linux命令学习笔记(1):ls命令 2.linux命令学习笔记(2):cd命令 3.linux命令学习笔记(3):pwd命令 4.linux命令学习笔记(4):mkdir命令 5.linux命令学习笔记(5):rm 命令 6.linux命令学习笔记(6):rmdir 命令 7.linux命令学习笔记(7):mv命令 8.linux命

python学习笔记目录

人生苦短,我学python学习笔记目录:week1 python入门 week2 python基础week3 python进阶week4 python高阶week5 python数据结构与算法week6 网络编程week7 数据库技术之入门week8 数据库技术之MySQL和redis和mongodbweek9 前端技术之HTML和CSSweek10 前端技术之JavaScript和DOMweek11 前端框架之jQueryweek12 前端框架之bootstrapweek13 网络框架之入门w

[原创] linux课堂-学习笔记-目录及概况

本学习笔记基于:网易云课堂-linux课堂 课时1Centos 6.4安装讲解46:14 课时2Centos 6.4桌面环境介绍与网络连接04:30 课时3 Linux目录结构介绍及内核与shell分析37:19 课时4 Linux获得帮助_网络配置_合理关机64:23 课时5 Linux文件权限详解45:47 课时6Linux文件权限详解45:47 课时7目录显示个性操作与全局环境变量的使用与注意···43:25 课时8复制与远程复制_文件查找实例_文件内容查看的··57:49 课时9Linu

Caliburn.Micro学习笔记目录——li-peng

Caliburn.Micro学习笔记(一)----引导类和命名匹配规则 Caliburn.Micro学习笔记(二)----Actions Caliburn.Micro学习笔记(三)----事件聚合IEventAggregator和 Ihandle<T> Caliburn.Micro学习笔记(四)----IHandle<T>实现多语言功能 Caliburn.Micro学习笔记(五)----协同IResult