- 博客(9)
- 资源 (2)
- 收藏
- 关注
转载 基于FFMPEG的封装格式转换器
简介本文介绍一个基于FFMPEG的封装格式转换器。所谓的封装格式转换,就是在AVI,FLV,MKV,MP4这些格式之间转换(对应.avi,.flv,.mkv,.mp4文件)。需要注意的是,本程序并不进行视音频的编码和解码工作。而是直接将视音频压缩码流从一种封装格式文件中获取出来然后打包成另外一种封装格式的文件。传统的转码程序工作原理如下图所示:上图例举了一个举例:FLV(视
2016-10-14 15:38:44 4580 13
原创 AOP编程
1. AOP简介AOP: Aspect Oriented Programming 面向切面编程。 面向切面编程(也叫面向方面):Aspect Oriented Programming(AOP),是目前软件开发中的一个热点。利用AOP可以对业务逻辑的各个部分进行隔离,从而使得业务逻辑各部分之间的耦合度降低,提高程序的可重用性,同时提高了开发的效率。 AOP是OOP的延续,是(Aspe
2016-10-13 13:49:18 806
原创 组件化架构剖析
组件化架构的由来随着移动互联网的不断发展,很多程序代码量和业务越来越多,现有架构已经不适合公司业务的发展速度了,很多都面临着重构的问题。在公司项目开发中,如果项目比较小,普通的单工程+MVC架构就可以满足大多数需求了。但是像淘宝、蘑菇街、微信这样的大型项目,原有的单工程架构就不足以满足架构需求了。就拿淘宝来说,淘宝在13年开启的“All in 无线”战略中,就将阿里系大多数
2016-10-10 18:03:55 9639 1
转载 YUV编码为HEVC(H.265)
流程下面附上一张FFmpeg编码视频的流程图。通过该流程,不仅可以编码H.264/H.265的码流,而且可以编码MPEG4/MPEG2/VP9/VP8等多种码流。实际上使用FFmpeg编码视频的方式都是一样的。图中蓝色背景的函数是实际输出数据的函数。浅绿色的函数是视频编码的函数。简单介绍一下流程中各个函数的意义av_register_all():注册FFmpeg所有编解码器
2016-10-09 18:40:52 4526
原创 YUV420P的像素数据编码为H.264的压缩编码数据
本文介绍一个最简单的基于FFMPEG的视频编码器。该编码器实现了YUV420P的像素数据编码为H.264的压缩编码数据。编码器代码十分简单,但是每一行代码都很重要,适合好好研究一下。弄清楚了本代码也就基本弄清楚了FFMPEG的编码流程。下面附一张使用FFmpeg编码视频的流程图。使用该流程,不仅可以编码H.264的视频,而且可以编码MPEG4/MPEG2/VP8等等各种FFmp
2016-10-09 18:20:03 3836
转载 PCM音频采样数据编码为AAC的压缩编码数据
本文介绍一个最简单的基于FFMPEG的音频编码器。该编码器实现了PCM音频采样数据编码为AAC的压缩编码数据。编码器代码十分简单,但是每一行代码都很重要。通过看本编码器的源代码,可以了解FFMPEG音频编码的流程。下面附一张使用FFmpeg编码音频的流程图。使用该流程,不仅可以编码AAC的音频,而且可以编码MP3,MP2等等各种FFmpeg支持的音频。图中蓝色背景的函数是实际输
2016-10-09 17:43:12 7710 11
转载 YUV420P像素数据编码为JPEG图片
本文的编码器实现了YUV420P的数据编码为JPEG图片。本着简单的原则,代码基本上精简到了极限。使用了2014年5月6号编译的最新的FFMPEG类库。程序很简单,打开工程后直接运行即可将YUV数据编码为JPEG。本程序十分灵活,可以根据需要修改成编码各种图像格式的编码器,比如PNG,GIF等等。平台使用VC2010。 * 本程序实现了YUV420P像素数据编码为JPEG图
2016-10-09 16:43:17 4484 14
原创 AVPacket
在此不再详述,其中AVPacket是存储压缩编码数据相关信息的结构体。本文将会详细分析一下该结构体里重要变量的含义和作用。typedef struct AVPacket { /** * Presentation timestamp in AVStream->time_base units; the time at which * the d
2016-10-09 14:55:26 1354
原创 AVIOContext
在此不再详述,其中AVIOContext是FFMPEG管理输入输出数据的结构体。本文将会详细分析一下该结构体里每个变量的含义和作用。* Bytestream IO Context. * New fields can be added to the end with minor version bumps. * Removal, reordering and change
2016-10-09 14:40:52 536
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人