写在文章前面:ffmpeg是一个开源的编解码框架,拥有很强大的功能.但是对于如果使用其来做开发呈现着严重两极分化,大神们讨论着高深的问题,大多数像我这样的小白连门都进不去.最近无意间领会了如何入门,现在写下这个系列文章<零基础学习视频解码>用来帮大家提供入门基础.博主的开发机器是基于Ubuntu 14.04 64位的,所以这个系列的文章都是在Ubuntu下完成的. 一.安装SDL C语言没有图形库,其中SDL比较小巧,并且是开源的,适合入门者学习.另外安装ffmpeg的时候会检测是否安装SDL…
截止今天,<零基础学习视频解码系列文章>.<零基础学习在Android进行SDL开发系列文章>以及<零基础学习视频解码之android篇>系列文章基本算是告一段落了.就像[原]零基础学习视频解码之安装ffmpeg 文章写在前面的一样,ffmpeg是一个开源的编解码框架,拥有很强大的功能.但是对于如果使用其来做开发呈现着严重两极分化,大神们讨论着高深的问题,大多数像我这样的小白连门都进不去.所以在这三个系列的文章写完我感觉自己也算是入视频解码的门了,本人能力有限,也存在的…
在正式开始解码练习前先了解下关于FFmpeg中比较重要的函数以及数据结构. 1. 数据结构:  (1) AVFormatContext  AVFormatContext是一个贯穿始终的数据结构,很多函数都要用到它作为参数.FFmpeg代码中对这个数据结构的注释是:format I/O context 此结构包含了一个视频流的格式内容.其中存有了AVInputFormat(or AVOutputFormat同一时间AVFormatContext内只能存在其中一个),和AVStream.AVPack…
现在,我们要添加一些功能,当你看不能倒带的电影,是不是很烦? 那么函数av_seek_frame功能看起来是多么赏心悦目. 我们将让左,右箭头来回走在影片中通过一个小的向上和向下箭头很多,其中“三多一少”是10秒,“很多”为60秒.因此,我们需要设置我们的主循环,用来捕获击键.然而,当我们得到一个按键,就不能直接称之为函数av_seek_frame.我们所要做的是在我们的主解码循环中,decode_thread循环做相应的处理. 为了检测按键,我们先来看看,看看我们得到了一个SDL_KEYDOW…
[原]零基础学习SDL开发之移植SDL2.0到Android [原]零基础学习SDL开发之在Android使用SDL2.0显示BMP图 [原]零基础学习SDL开发之在Android使用SDL2.0显示BMP叠加图 [原]零基础学习SDL开发之在Android使用SDL2.0渲染PNG图片 [原]零基础学习SDL开发之在Android使用SDL2.0加载字体 [原]零基础学习在Android进行SDL开发后记…
关于如何移植SDL2.0到安卓上面来参考我的上一篇文章:[原]零基础学习SDL开发之移植SDL2.0到Android 在一篇文章我们主要使用SDL2.0来加载一张BMP图来渲染显示. 博主的开发环境:Ubuntu 14.04 64位,Eclipse + CDT + ADT+NDK 博主曾经自己使用NDK编译出了libSDL2.so,然后使用共享库的方式来调用libSDL2中的函数,结果发现SDL\src\core\android\SDL_android.c 这个jni函数写的实在是不够自己另外做…
关于如何移植在android上使用SDL,可以参考[原]零基础学习SDL开发之移植SDL2.0到Android 和 [原]零基础学习SDL开发之在Android使用SDL2.0显示BMP图 . 在一篇文章我们主要使用SDL2.0来加载一张BMP图来渲染显示,同时叠加一张图作为背景图. 博主的开发环境:Ubuntu 14.04 64位,Eclipse + CDT + ADT+NDK 在前面两篇文章我们知道了如何移植SDL2.0到android上面来,并且可以在Android上面来显示一张图片,这篇…
http://www.cnblogs.com/tanlon/p/3879081.html 在正式开始解码练习前先了解下关于FFmpeg中比较重要的函数以及数据结构. 1. 数据结构:  (1) AVFormatContext  AVFormatContext是一个贯穿始终的数据结构,很多函数都要用到它作为参数.FFmpeg代码中对这个数据结构的注释是:format I/O context 此结构包含了一个视频流的格式内容.其中存有了AVInputFormat(or AVOutputFormat同…
在[原]SDL开发教程我们知道了如何在pc下使用SDL进行开发,在android上面是否一样可以使用呢?答案是肯定的. 下面我们进行移植SDL到Android,这里都是基于SDL最新版进行移植的,在Eclipse中编译. 开发环境:Ubuntu 14.04 64位,Eclipse + CDT + ADT,NDK 一.到官网下载http://www.libsdl.org/hg.php 下载2.0的源码也可以通过hg来clone最新的源码 hg clone http://hg.libsdl.org/…
本着学习交流记录的目的编写了这个系列文章,主要用来记录如何从零开始学习SDL开发的过程,在这个过程中遇到了很多问题,差点就放弃了.首先是SDL的Android移植的时候遇到了比较坑的是SDL移植到Android的JNI文件编写比较坑,刚开始想着如何将SDL编译成动态共享库,在别的地方直接调用该动态共享库,结果发现死活崩溃在SDL_Init()这个函数,最后发现SDL的JNI文件直接使用SDLActivity的函数,并且JNI采用静态注册的方式.直接在别的地方调用该动态库就跪了,博主能力又有限,又…