摘要: 引言 每一个C++库的使用都是从开发环境的配置开始的,其实每个库的配置过程都是大同小异,总结下来有下面几个步骤: 下载库文件,这里假定是已经预先编译完成的。 配置库文件的包含目录(include)和库目录(lib) 配置库文件的动态链接库(dll),这一步是很多人容易忽略的。上面配置好包含目录和库目 阅读全文
posted @ 2016-09-23 21:34 laughingQing 阅读(923) 评论(0) 推荐(0) 编辑
摘要: 在前面的学习中,视频和音频的播放是分开进行的。这主要是为了学习的方便,经过一段时间的学习,对FFmpeg的也有了一定的了解,本文就介绍了如何使用多线程同时播放音频和视频(未实现同步),并对前面的学习的代码进行了重构,便于后面的扩展。本文主要有以下几个方面的内容: 多线程播放视音频的整体流程 多线程队 阅读全文
posted @ 2016-09-23 21:33 laughingQing 阅读(1602) 评论(0) 推荐(0) 编辑
摘要: 在上一篇文章中,视频和音频是各自独立播放的,并不同步。本文主要描述了如何以音频的播放时长为基准,将视频同步到音频上以实现视音频的同步播放的。主要有以下几个方面的内容 视音频同步的简单介绍 DTS 和 PTS 计算视频中Frame的显示时间 获取Audio clock(audio的播放时长) 将视频同 阅读全文
posted @ 2016-09-23 21:33 laughingQing 阅读(2240) 评论(0) 推荐(0) 编辑
摘要: 前段时间,在学习试用FFmpeg播放音频的时候总是有杂音,网上的很多教程是基于之前版本的FFmpeg的,而新的FFmepg3中audio增加了平面(planar)格式,而SDL播放音频是不支持平面格式的,所以通过FFmpeg解码出来的数据不能直接发送到SDL进行播放,需要进行一个格式转换。通过网上一 阅读全文
posted @ 2016-09-23 21:28 laughingQing 阅读(911) 评论(0) 推荐(0) 编辑
摘要: 本文主要从以下几个方面对AVPacket做解析: AVPacket在FFmpeg中的作用 字段说明 AVPacket中的内存管理 AVPacket相关函数的说明 结合AVPacket队列说明下AVPacket在传递过程中数据缓存的管理 查了一些资料,发现FFmpeg的版本更新还是挺快,而且有很多AP 阅读全文
posted @ 2016-09-23 21:24 laughingQing 阅读(765) 评论(0) 推荐(0) 编辑
摘要: 参考dranger tutorial,本文将介绍如何使用FFmpeg解码音频数据,并使用SDL将解码后的数据输出。本文主要包含以下几方面的内容: 关于播放音频的需要的一些基础知识介绍 使用SDL2播放音频 数据队列 音频格式的转换 dranger tutorial确实入门FFmpeg比较好的教程,虽 阅读全文
posted @ 2016-09-23 21:16 laughingQing 阅读(705) 评论(0) 推荐(0) 编辑
摘要: 在上一篇文章中,对FFmpeg的视频解码过程做了一个总结。由于才接触FFmpeg,还是挺陌生的,这里就解码过程再做一个总结。本文的总结分为以下两个部分: 数据读取,主要关注在解码过程中所用到的FFmpeg中的结构体。 解码过程中所调用的函数 在学习的过程主要参考的是dranger tutorial, 阅读全文
posted @ 2016-09-23 21:10 laughingQing 阅读(473) 评论(0) 推荐(0) 编辑
摘要: 在视频解码前,先了解以下几个基本的概念: 编解码器(CODEC):能够进行视频和音频压缩(CO)与解压缩(DEC),是视频编解码的核心部分。 容器/多媒体文件(Container/File):没有了解视频的编解码之前,总是错误的认为平常下载的电影的文件的后缀(avi,mkv,rmvb等)就是视频的编 阅读全文
posted @ 2016-09-23 21:04 laughingQing 阅读(690) 评论(0) 推荐(0) 编辑
摘要: git checkout -b newlocal origin/q01v31source build/envsetup.shlunch msm8916_32-usermake -j4 make -j4 2>&1 | tee build.txt android编译命令的话,把/usr/lib/jvm/ 阅读全文
posted @ 2016-09-23 19:42 laughingQing 阅读(2066) 评论(0) 推荐(0) 编辑