自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

雷霄骅(leixiaohua1020)的专栏

一个广院工科生的视音频技术笔记

原创 视频编码器评测系统:VideoCodecRank

视频编码器领域一直有个比较复杂的问题:mpeg2、divx、xvid、mpeg4、vp8、vp9、x264、openh264、x265等等这一系列编码器到底哪个好?而对于同一种视频编码器,又包括了各种各样的参数配置,这些配置对视频编码器的影响又是怎样的?为了研究这个问题,我和师弟们在课余时间开发了...

2015-07-04 13:49:16 46293 222

原创 我的开源视音频项目汇总

本文汇总一下自己视音频编解码学习方面的开源项目。这些开源项目大体上可以分成专业领域程序,FFmpeg示例程序,FFmpeg移植程序,多媒体项目示例程序,视音频编解码原理学习工程几个类别。

2015-01-13 01:17:34 107060 281

原创 开源实时视频码流分析软件:VideoEye

本文介绍一个自己做的码流分析软件:VideoEye。为什么要起这个名字呢?感觉这个软件的主要功能就是对“视频”进行“分析”。而分析是要用眼睛来看的,因此取了“视频”和“分析”这两个词的英文,名之曰:VideoEye。这个软件是在自己毕业设计软件的基础上改的。可以对本地文件或者互联网视频流进行实时的...

2014-06-26 00:38:22 73662 116

原创 [总结]视音频编解码技术零基础学习方法

一直想把视音频编解码技术做一个简单的总结,可是苦于时间不充裕,一直没能完成。今天有着很大的空闲,终于可以总结一个有关视音频技术的入门教程,可以方便更多的人学习从零开始学习视音频技术。需要注意的是,本文所说的视音频技术,指的是理论层面的视音频技术,并不涉及到编程相关的东西。

2014-06-16 00:12:43 317551 530

原创 [总结]视频质量评价技术零基础学习方法

前段时间略忙,因此一直计划要总结的很多东西都没来得及写,这两天趁着空闲时间写上一篇。以后等时间充裕了再补充一些内容。本文总结一下学习视频质量评价技术的方法。视频质量评价是我研究生阶段主要的工作,包括发表的论文,毕业设计,进行的实验等等。在这一方面在国内做的研究并不是很多,因此我打算总结一下学习的经...

2014-04-21 00:26:25 43852 26

原创 [总结]RTMP流媒体技术零基础学习方法

本文主要总结一些我在学习RTMP流媒体技术过程中积累的经验。也为后来学习RTMP流媒体技术的人们一个参考。本文力图从简到难,循序渐进的介绍RTMP流媒体技术的方方面面,先从应用说起,逐步深化剖析相关工程的源代码。看完本文的话应该会对RTMP流媒体技术有比较完整的了解。 0.背景知识 本章主要介...

2013-11-18 00:10:34 123585 69

原创 [总结]FFMPEG视音频编解码零基础学习方法

在CSDN上的这一段日子,接触到了很多同行业的人,尤其是使用FFMPEG进行视音频编解码的人,有的已经是有多年经验的“大神”,有的是刚开始学习的初学者。在和大家探讨的过程中,我忽然发现了一个问题:在“大神”和初学者之间好像有一个不可逾越的鸿沟。“大神”们水平高超,探讨着深奥的问题;而初学者们还停留...

2013-11-16 00:04:05 799665 808

转载 [投稿] Speex回声消除原理深度解析

本文是音频处理的朋友icoolmedia(QQ:314138065)的投稿。对音频处理有兴趣的朋友可以通过下面的方式与他交流:作者:icoolmedia QQ:314138065 音视频算法讨论QQ群:374737122

2016-04-19 09:44:13 50644 68

转载 [投稿]房间声学原理与Schroeder混响算法实现

本文是音频处理的朋友icoolmedia(QQ:314138065)的投稿。对音频处理有兴趣的朋友可以通过下面的方式与他交流:作者:icoolmedia QQ:314138065 音视频算法讨论QQ群:374737122 原文公式较多,因此直接贴上图片。

2016-03-03 16:38:06 31613 0

转载 [投稿]一个频域语音降噪算法实现及改进方法

本文是音频处理的朋友icoolmedia(QQ:314138065)的投稿。对音频处理有兴趣的朋友可以通过下面的方式与他交流:作者:icoolmedia QQ:314138065 音视频算法讨论QQ群:374737122 原文公式较多,因此直接贴上图片。

2016-03-03 16:34:29 37378 3

原创 最简单的基于FFmpeg的AVfilter的例子-纯净版

有关FFmpeg的avfilter已经写过一个水印叠加的例子《最简单的基于FFmpeg的AVfilter例子(水印叠加)》,本文作为补充再记录一个纯净版的avfilter的例子。此前libavfilter一直是结合着libavcodec等类库的接口函数使用的,因此我一直以为libavfilter库...

2016-02-01 13:55:04 72669 46

原创 视音频数据处理入门:UDP-RTP协议解析

本文介绍网络协议数据的处理程序。网络协议数据在视频播放器中的位置如下所示。本文中的程序是一个UDP/RTP协议流媒体数据解析器。该程序可以分析UDP协议中的RTP 包头中的内容,以及RTP负载中MPEG-TS封装格式的信息。通过修改该程序可以实现不同的UDP/RTP协议数据处理功能。原理MPEG-...

2016-01-31 21:39:37 95500 37

原创 视音频数据处理入门:FLV封装格式解析

前两篇文章介绍了音频码流处理程序和视频码流处理程序,本文介绍将他们打包到一起后的数据——封装格式数据的处理程序。封装格式数据在视频播放器中的位置如下所示。本文中的程序是一个FLV封装格式解析程序。该程序可以从FLV中分析得到它的基本单元Tag,并且可以简单解析Tag首部的字段。通过修改该程序可以实...

2016-01-31 18:57:10 80672 9

原创 视音频数据处理入门:AAC音频码流解析

本文继续上一篇文章的内容,介绍一个音频码流处理程序。音频码流在视频播放器中的位置如下所示。本文中的程序是一个AAC码流解析程序。该程序可以从AAC码流中分析得到它的基本单元ADTS frame,并且可以简单解析ADTS frame首部的字段。通过修改该程序可以实现不同的AAC码流处理功能。原理AA...

2016-01-31 11:55:51 80699 40

原创 视音频数据处理入门:H.264视频码流解析

前两篇文章介绍的YUV/RGB处理程序以及PCM处理程序都属于视音频原始数据的处理程序。从本文开始介绍视音频码流的处理程序。本文介绍的程序是视频码流处理程序。视频码流在视频播放器中的位置如下所示。本文中的程序是一个H.264码流解析程序。该程序可以从H.264码流中分析得到它的基本单元NALU,并...

2016-01-31 00:19:50 143284 59

原创 视音频数据处理入门:PCM音频采样数据处理

上一篇文章记录了RGB/YUV视频像素数据的处理方法,本文继续上一篇文章的内容,记录PCM音频采样数据的处理方法。音频采样数据在视频播放器的解码流程中的位置如下图所示。本文分别介绍如下几个PCM音频采样数据处理函数:  分离PCM16LE双声道音频采样数据的左声道和右声道  将PCM16LE双声道...

2016-01-29 23:32:13 108811 61

原创 视音频数据处理入门:RGB、YUV像素数据处理

有段时间没有写博客了,这两天写起博客来竟然感觉有些兴奋,仿佛找回了原来的感觉。前一阵子在梳理以前文章的时候,发现自己虽然总结了各种视音频应用程序,却还缺少一个适合无视音频背景人员学习的“最基础”的程序。因此抽时间将以前写过的代码整理成了一个小项目。

2016-01-29 17:01:12 165878 135

原创 修改了一个YUV/RGB播放器

最近在学习过程中查看YUV/RGB像素数据的时候,发现找不到一个合适的播放器。主流的YUV播放器大多只支持YUV格式播放,却不支持RGB格式数据播放。而我正好需要查看RGB像素数据。在Sourceforge上找到了一个比较好用的既支持YUV又支持RGB的播放器,但是发现有一些小毛病,于是把这个播放...

2016-01-06 00:21:26 44209 14

转载 [投稿]Speex回声消除代码分析

本文是音频处理的朋友icoolmedia(QQ:314138065)的投稿。对音频处理有兴趣的朋友可以通过下面的方式与他交流:作者:icoolmedia QQ:314138065 音视频算法讨论QQ群:374737122 先说明下,这里的代码流程是修改过的Speex流程,但与Speex代码差异不大...

2015-12-03 18:47:20 29964 1

原创 CSDN《老友记》简记

上周参加了CSDN主办的SDCC 2015 (中国软件开发者大会) 中的《老友记》活动。《老友记》中云集了CSDN员工、社区专家、合作伙伴等各种IT行业的朋友。这次活动是我从2013年开始在CSDN写博客之后第一次参加线下活动,认识了很多未曾谋面的网络上的朋友,感觉很有纪念意义。昨天晚上在微信群里...

2015-11-28 15:47:05 32794 24

原创 HEVC官方软件HM源代码简单分析-编码器TAppEncoder

上一篇文章总结了HEVC官方参考软件HM中的视频解码器TAppDecoder的结构,本文继续分析HM中的视频编码器TAppEncoder。函数调用关系图HM中的HEVC视频编码器TAppEncoder的函数调用关系图如下所示。单击查看更清晰的大图下面解释一下图中关键标记的含义。函数背景色函数在图中...

2015-11-23 22:46:49 40295 15

原创 HEVC官方软件HM源代码简单分析-解码器TAppDecoder

本文记录HEVC官方参考软件HM的源代码结构。HM相比于JM来说,采用了面向对象的编程方法,因而结构相对更加清晰。HM包含了视频解码器TAppDecoder和视频编码器TAppEncoder。本文记录视频解码器TAppDecoder的结构。函数调用关系图HM中的HEVC视频解码器TAppDecod...

2015-11-23 13:49:44 38023 4

原创 美国见闻(下)

前一篇文章记录了11月1-4号在美国开会的见闻,这一篇文章再记录一下5-8号在美国游览的见闻。11月5日 今天准备启程到西海岸的另一个城市——洛杉矶逛逛。从Sea-tac International Airport出发,经过3个小时左右的飞行,到达Los Angeles International...

2015-11-18 19:14:24 27898 9

原创 美国见闻(上)

前几天参加了微软在美国西雅图举办的2015年度MVP Global Summit(MVP全球峰会),并且顺道在美国游览了几天,在此记录一下自己的所见所闻。 今年4月份的时候获得了微软的MVP奖项。微软MVP获奖证书样子如下。  微软MVP这个奖项提供了一系列参加会议进行学习交流的机会,MVP峰会只...

2015-11-18 19:12:02 35523 25

原创 H.264官方软件JM源代码简单分析-编码器lencod

上一篇文章总结了H.264官方参考软件JM中的视频解码器ldecod的结构,本文继续分析JM中的视频编码器lencod。函数调用关系图JM中的H.264视频编码器lencod的函数调用关系图如下所示。

2015-11-18 14:56:04 33821 10

原创 H.264官方软件JM源代码简单分析-解码器ldecod

最近看了一下H.264官方参考软件JM的源代码,在这里总结一下它的结构。JM编解码H.264的速度相对于FFmpeg来说是非常慢的,但是它的代码写得清晰易懂,更适合做学术方面的研究。JM包含了视频解码器ldecod和视频编码器lencod。本文记录视频解码器ldecod的结构。函数调用关系图JM中...

2015-11-17 20:07:41 35831 0

转载 [投稿]谱减法语音降噪原理

本文是音频处理的朋友icoolmedia(QQ:314138065)的投稿。各位做视音频技术朋友如果好的原创技术文章并希望通过我的博客分享给大家,也欢迎投稿到我的邮箱:leixiaohua1020@126.com,我会选择内容合适的文章注明作者及联系方式后进行发布。希望通过这种方式帮助大家结交更多...

2015-08-04 14:57:22 46162 14

原创 最简单的基于FFmpeg的移动端例子:Windows Phone HelloWorld

本文记录Windows Phone平台下基于FFmpeg的HelloWorld程序。该示例C语言的源代码来自于《最简单的基于FFMPEG的Helloworld程序》。相关的概念就不再重复记录了。 由于在FFmpeg移动端开发方面只有Android和IOS的实战经验,所以我一开始的时候只做了Andr...

2015-08-01 22:25:48 17817 11

原创 最简单的基于FFmpeg的移动端例子附件:IOS自带播放器

前几篇文章记录的都是IOS下基于FFmpeg的多媒体程序。本文记录一个IOS下自带的视频播放器。相比于移植FFmpeg来说,IOS自带的多媒体框架播放视频要简单很多——只需要调用几个接口就可以了。源代码项目的源代码位于ViewController.m文件中,内容如下所示。

2015-08-01 17:03:47 19996 3

原创 最简单的基于FFmpeg的移动端例子:IOS 视频转码器

本文记录IOS平台下基于FFmpeg的视频转码器。该转码器实际上移植自ffmpeg工程中的ffmpeg.c源代码。有关ffmpeg.c的源代码可以参考文章《ffmpeg.c函数结构简单分析(画图)》,在这里就不重复记录了。源代码项目的目录结构如图所示。下列C语言文件拷贝自FFmpeg源代码:cmd...

2015-08-01 16:34:20 23218 13

原创 最简单的基于FFmpeg的移动端例子:IOS 推流器

本文记录IOS平台下基于FFmpeg的推流器。该示例C语言的源代码来自于《最简单的基于FFMPEG的推流器》。相关的概念就不再重复记录了。源代码项目的目录结构如图所示。C代码位于ViewController.m文件中,内容如下所示。

2015-07-29 12:57:35 33534 20

原创 最简单的基于FFmpeg的移动端例子:IOS 视频解码器

本文记录IOS平台下基于FFmpeg的视频解码器。该示例C语言的源代码来自于《最简单的基于FFMPEG+SDL的视频播放器》。相关的概念就不再重复记录了。源代码项目的目录结构如图所示。C代码位于ViewController.m文件中,内容如下所示。

2015-07-28 19:02:45 30441 25

原创 最简单的基于FFmpeg的移动端例子:IOS HelloWorld

本文记录IOS平台下基于FFmpeg的HelloWorld程序。该示例C语言的源代码来自于《最简单的基于FFMPEG的Helloworld程序》。相关的概念就不再重复记录了。IOS程序使用FFmpeg类库的说明IOS应用程序使用FFmpeg类库的流程如下所示。1. 编译FFmpeg类库编译IOS的...

2015-07-27 20:18:17 35190 21

原创 《基于 FFmpeg + SDL 的视频播放器的制作》课程的视频

这两天开始带广播电视工程大二的暑假小学期的课程设计了。本次小学期课程内容为《基于 FFmpeg + SDL 的视频播放器的制作》,其中主要讲述了视音频开发的入门知识。由于感觉本课程的内容不但适合本科生,而且也比较适合无视音频基础的开发者入门使用,所以在讲课的同时也录制了一部分内容并上传到了网上,方...

2015-07-26 15:00:56 75629 169

原创 最简单的基于FFmpeg的移动端例子附件:SDL Android HelloWorld

本文记录一个安卓平台下SDL的例子。该例子读取并显示了一张BMP图片,通过该例子可以了解SDL在安卓平台下的使用。本文中使用的SDL版本为2.0。Android程序SDL2类库使用说明简单记录一下Android程序使用SDL2类库的方法。这部分的信息可以参考SDL2源代码目录中的README-an...

2015-07-25 23:02:55 20817 26

原创 最简单的基于FFmpeg的移动端例子附件:Android 自带播放器

前几篇文章记录的都是安卓平台下基于FFmpeg的多媒体程序。作为对比,本文记录一个基于安卓自带多媒体框架OpenCore的视频播放器。安卓自带的多媒体框架的使用方法相对移植FFmpeg来说简单太多了,只需要调用几个接口函数就能控制视频的播放。不再过多记录它的使用方法。源代码项目的目录结构如图所示。...

2015-07-25 20:00:30 27011 18

原创 最简单的基于FFmpeg的移动端例子:Android 视频转码器

本文记录一个安卓平台下基于FFmpeg的视频转码器。该转码器实际上移植自ffmpeg工程中的ffmpeg.c源代码。有关ffmpeg.c的源代码可以参考文章《ffmpeg.c函数结构简单分析(画图)》,在这里就不重复记录了。源代码项目的目录结构如图所示。Java源代码位于src目录,而C代码位于j...

2015-07-25 17:10:54 74754 74

原创 最简单的基于FFmpeg的移动端例子:Android 推流器

本文记录一个安卓平台下基于FFmpeg的视频推流器。该推流器C语言的源代码来自于《最简单的基于FFMPEG的推流器》。相关的概念就不再重复记录了。源代码项目的目录结构如图所示。Java源代码位于src目录,而C代码位于jni目录。 Android程序Java端代码位于src\com\leixiao...

2015-07-25 14:10:50 46528 73

原创 最简单的基于FFmpeg的移动端例子:Android 视频解码器-单个库版

本文记录另一个安卓平台下基于FFmpeg的视频解码器。与前一篇文章记录的解码器不同,本文记录的解码器不再使用libavcodec.so、libavformat.so等类库,而只使用了一个类库——libffmpeg.so。该视频解码器C语言的源代码来自于《最简单的基于FFMPEG+SDL的视频播放器...

2015-07-25 11:42:31 23323 26

原创 最简单的基于FFmpeg的移动端例子:Android 视频解码器

本文记录一个安卓平台下基于FFmpeg的视频解码器。该视频解码器C语言的源代码来自于《100行代码实现最简单的基于FFMPEG+SDL的视频播放器》。相关的概念就不再重复记录了。源代码项目的目录结构如图所示。Java源代码位于src目录,而C代码位于jni目录。Android程序Java端代码位于...

2015-07-24 19:02:29 47292 37

提示
确定要删除当前文章?
取消 删除