- 博客(17)
- 资源 (141)
- 收藏
- 关注

原创 视频编码器评测系统:VideoCodecRank
视频编码器领域一直有个比较复杂的问题:mpeg2、divx、xvid、mpeg4、vp8、vp9、x264、openh264、x265等等这一系列编码器到底哪个好?而对于同一种视频编码器,又包括了各种各样的参数配置,这些配置对视频编码器的影响又是怎样的?为了研究这个问题,我和师弟们在课余时间开发了一个软件系统,专门用于评价视频编码器的性能。
2015-07-04 13:49:16
65111
283
原创 最简单的基于FFmpeg的移动端例子:IOS 推流器
本文记录IOS平台下基于FFmpeg的推流器。该示例C语言的源代码来自于《最简单的基于FFMPEG的推流器》。相关的概念就不再重复记录了。源代码项目的目录结构如图所示。C代码位于ViewController.m文件中,内容如下所示。
2015-07-29 12:57:35
38708
21
原创 最简单的基于FFmpeg的移动端例子:IOS 视频解码器
本文记录IOS平台下基于FFmpeg的视频解码器。该示例C语言的源代码来自于《最简单的基于FFMPEG+SDL的视频播放器》。相关的概念就不再重复记录了。源代码项目的目录结构如图所示。C代码位于ViewController.m文件中,内容如下所示。
2015-07-28 19:02:45
35057
6
原创 最简单的基于FFmpeg的移动端例子:IOS HelloWorld
本文记录IOS平台下基于FFmpeg的HelloWorld程序。该示例C语言的源代码来自于《最简单的基于FFMPEG的Helloworld程序》。相关的概念就不再重复记录了。IOS程序使用FFmpeg类库的说明IOS应用程序使用FFmpeg类库的流程如下所示。1. 编译FFmpeg类库编译IOS的FFmpeg类库需要支持5种架构:armv7、armv7s、arm64、i386、x86_64。其中前
2015-07-27 20:18:17
40170
22
原创 《基于 FFmpeg + SDL 的视频播放器的制作》课程的视频
这两天开始带广播电视工程大二的暑假小学期的课程设计了。本次小学期课程内容为《基于 FFmpeg + SDL 的视频播放器的制作》,其中主要讲述了视音频开发的入门知识。由于感觉本课程的内容不但适合本科生,而且也比较适合无视音频基础的开发者入门使用,所以在讲课的同时也录制了一部分内容并上传到了网上,方便新手学习FFmpeg的开发。
2015-07-26 15:00:56
102080
195
原创 最简单的基于FFmpeg的移动端例子附件:SDL Android HelloWorld
本文记录一个安卓平台下SDL的例子。该例子读取并显示了一张BMP图片,通过该例子可以了解SDL在安卓平台下的使用。本文中使用的SDL版本为2.0。Android程序SDL2类库使用说明简单记录一下Android程序使用SDL2类库的方法。这部分的信息可以参考SDL2源代码目录中的README-android.txt文件。SDL2使用的步骤可以分为以下步骤:(1)配置Android工程a) 新建工程
2015-07-25 23:02:55
24540
27
原创 最简单的基于FFmpeg的移动端例子附件:Android 自带播放器
前几篇文章记录的都是安卓平台下基于FFmpeg的多媒体程序。作为对比,本文记录一个基于安卓自带多媒体框架OpenCore的视频播放器。安卓自带的多媒体框架的使用方法相对移植FFmpeg来说简单太多了,只需要调用几个接口函数就能控制视频的播放。不再过多记录它的使用方法。源代码项目的目录结构如图所示。Java源代码位于src目录。Android程序Java端代码位于src\com\leixiaohua
2015-07-25 20:00:30
31622
8
原创 最简单的基于FFmpeg的移动端例子:Android 视频转码器
本文记录一个安卓平台下基于FFmpeg的视频转码器。该转码器实际上移植自ffmpeg工程中的ffmpeg.c源代码。有关ffmpeg.c的源代码可以参考文章《ffmpeg.c函数结构简单分析(画图)》,在这里就不重复记录了。源代码项目的目录结构如图所示。Java源代码位于src目录,而C代码位于jni目录。Android程序Java端代码位于src\com\leixiaohua1020\sffmp
2015-07-25 17:10:54
79834
75
原创 最简单的基于FFmpeg的移动端例子:Android 推流器
本文记录一个安卓平台下基于FFmpeg的视频推流器。该推流器C语言的源代码来自于《最简单的基于FFMPEG的推流器》。相关的概念就不再重复记录了。源代码项目的目录结构如图所示。Java源代码位于src目录,而C代码位于jni目录。 Android程序Java端代码位于src\com\leixiaohua1020\sffmpegandroidstreamer\MainActivity.java,如下
2015-07-25 14:10:50
55404
74
原创 最简单的基于FFmpeg的移动端例子:Android 视频解码器-单个库版
本文记录另一个安卓平台下基于FFmpeg的视频解码器。与前一篇文章记录的解码器不同,本文记录的解码器不再使用libavcodec.so、libavformat.so等类库,而只使用了一个类库——libffmpeg.so。该视频解码器C语言的源代码来自于《最简单的基于FFMPEG+SDL的视频播放器》。相关的概念就不再重复记录了。FFmpeg类库的打包记录一下FFmpeg类库打包的方
2015-07-25 11:42:31
27959
8
原创 最简单的基于FFmpeg的移动端例子:Android 视频解码器
本文记录一个安卓平台下基于FFmpeg的视频解码器。该视频解码器C语言的源代码来自于《100行代码实现最简单的基于FFMPEG+SDL的视频播放器》。相关的概念就不再重复记录了。源代码项目的目录结构如图所示。Java源代码位于src目录,而C代码位于jni目录。Android程序Java端代码位于src\com\leixiaohua1020\sffmpegandroiddecoder\MainAc
2015-07-24 19:02:29
55272
42
原创 最简单的基于FFmpeg的移动端例子:Android HelloWorld
从本文开始打算记录一系列FFmpeg在Android/IOS开发的示例程序。前面几篇文章记录FFmpeg安卓端开发的例子,后面几篇文章记录FFmpeg IOS端开发的例子。这些例子中FFmpeg相关的代码源自于《FFmpeg示例合集》中的程序。本文记录第一个程序:安卓平台下基于FFmpeg的HelloWorld程序。Android程序FFmpeg类库使用说明Android应用程序使用FFmpeg类
2015-07-23 20:09:22
117281
85
原创 最简单的基于FFmpeg的AVUtil例子 (AVLog, AVOption等)
本文的示例程序记录了FFmpeg的libavutil中几种工具函数的使用方法:AVLog:日志输出AVOption (AVClass):选项设置AVDictionary:键值对存储ParseUtil:字符串解析几个libavutil的工具AVLogAVLog是FFmpeg的日志输出工具。在FFmpeg中所有的日志输出不是通过printf()函数而是通过av_log()函数。av_log()会最终调
2015-07-18 15:53:43
19810
原创 最简单的基于FFMPEG的推流器附件:收流器
出于对《最简单的基于FFmpeg的推流器》的补充,本文记录一个最简单的基于FFmpeg的收流器。收流器和推流器的作用正好相反:推流器用于将本地文件以流媒体的形式发送出去,而收流器用于将流媒体内容保存为本地文件。 本文记录的推流器可以将RTMP流媒体保存成为一个本地的FLV文件。由于FFmpeg本身支持很多的流媒体协议和封装格式,所以也支持其它的封装格式和流媒体协议。源代码/** * 最简单的基于
2015-07-18 08:47:14
35060
6
原创 最简单的基于FFMPEG的Helloworld程序
本文记录一个基于FFmpeg的HelloWorld程序。该程序可以打印出FFmpeg类库的基本信息。使用该程序通常可以验证FFmpeg是否正确的安装配置。
2015-07-17 10:43:41
37240
16
原创 最简单的基于FFMPEG+SDL的音频播放器:拆分-解码器和播放器
本文补充记录《最简单的基于FFMPEG+SDL的音频播放器》中的两个例子:FFmpeg音频解码器和SDL音频采样数据播放器。这两个部分是从音频播放器中拆分出来的两个例子。FFmpeg音频解码器实现了视频数据到PCM采样数据的解码,而SDL音频采样数据播放器实现了PCM数据到音频设备的播放。简而言之,原先的FFmpeg+SDL音频播放器实现了:音频数据->PCM->音频设备FFmpeg音频解码器实现
2015-07-17 09:31:10
23694
7
原创 最简单的基于FFMPEG+SDL的视频播放器:拆分-解码器和播放器
本文补充记录《最简单的基于FFMPEG+SDL的视频播放器》中的两个例子:FFmpeg视频解码器和SDL像素数据播放器。这两个部分是从视频播放器中拆分出来的两个例子。FFmpeg视频解码器实现了视频数据到YUV数据的解码,而SDL像素数据播放器实现了YUV数据的显示。简而言之,原先的FFmpeg+SDL视频播放器实现了:视频数据->YUV->显示器FFmpeg视频解码器实现了:视频数据->YUVS
2015-07-16 21:57:56
30402
12
最简单的基于FFmpeg的图像编码器 1.1
2015-02-13
最简单的视音频播放示例
2014-10-18
最简单的视频编码器示例
2014-12-21
最简单的基于FFmpeg的封装格式处理 1.2
2015-02-13
最简单的基于FFmpeg的封装格式处理的例子 1.1
2014-12-21
最简单的基于FFmpeg的编码器 1.1
2015-01-03
最简单的基于FFmpeg的内存读写的例子
2014-10-05
最简单的基于FFmpeg的libswscale的教程
2014-12-23
最简单的视音频播放示例 1.1
2014-12-21
最简单的基于FFMPEG+SDL的视频播放器 2.3
2015-01-03
最简单的基于DirectShow的示例
2015-01-10
最简单的基于FFmpeg的编码器 1.2
2015-02-13
最简单的基于FFMPEG的音频编码器 1.1
2015-02-13
最简单的基于FFMPEG+SDL的音频播放器 2.1
2015-02-13
最简单的基于libRTMP的示例
2014-12-23
最简单的基于libVLC的例子
2015-01-08
最简单的基于FFmpeg的封装格式处理的例子
2014-10-06
最简单的基于FFMPEG的AVDevice的例子 1.1
2015-01-09
最简单的基于FFMPEG+SDL的视频播放器 2.2
2014-10-04
最简单的基于FFmpeg的AVFilter例子 1.2
2016-02-01
最简单的基于FFMPEG+SDL的视频播放器 2.5
2015-07-22
视音频数据处理入门
2016-01-29
最简单的基于FFMPEG+SDL的视频播放器-最终版
2015-02-12
最简单的基于FFMPEG+SDL的音频播放器 2.2
2015-07-22
最简单的Flash流媒体例子
2015-02-25
最简单的基于FFmpeg的AVFilter例子(叠加水印) 1.1
2015-02-13
最简单的基于FFMPEG+SDL的视频播放器 2.4
2015-02-13
最简单的基于FFmpeg的libswscale的教程 1.1
2015-02-13
传媒大学广播电视工程系小学期课程 - 基于FFmpeg+SDL的视频播放器的制作
2015-07-26
QAM调制与解调仿真程序
2015-02-21
最简单的基于FFmpeg的内存读写的例子 1.1
2015-02-13
最简单的基于FFMPEG的AVDevice的例子 1.2
2015-02-13
TIandSI 3.0 windows
2015-05-30
最简单的基于FFmpeg的AVUtil例子 (AVLog, AVOption等)
2015-07-22
最简单的基于FFmpeg的推流器(以推送RTMP为例) 1.1
2015-02-13
最简单的基于FFmpeg的推流器 1.2
2015-07-22
最简单的基于FFmpeg的移动端例子
2015-07-22
TIandSI 3.0
2015-05-30
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人