摘要: 应用层 RTSP、SDP; 传输层RTP、TCP、UDP; 网络层 IPSDP(1)SDP(Session Description Protocol)是服务器端生成的描述媒体文件的编码信息以及所在服务器的链接等信息的文件,客户端通过它来设置播放软件的参数。SDP只是一种用于会话描述的协议,它并不是一种传输协议,只是用于在不同传输协议之间传递消息的通知协议,其主要目的是解决多媒体会话通知、邀请和另外一些媒体会话的初始化工作。(2) SDP内容包括:会话名称和目的、会话持续时间、媒体类(音频、视频等)、传输协议(RTP/UDP/IP,H.320等)、媒体编码格式(MPEG4、H.263、H.264 阅读全文
posted @ 2013-01-22 10:45 little_star 阅读(1487) 评论(0) 推荐(1) 编辑
摘要: 基本步骤:添加各种android.mk文件和一个av,mk文件,修改Makefile文件,去掉libavutil/libm.h中的静态方法。编写config.sh文件,最后去掉生成的config.h中的一个restrict.一、./config.sh:.....command not found 这是由于不同的编码格式导致的,windows下的换行符与linux的不同,直接将其都装换为unix格式即可。如果还不行,最笨但是绝对可行的办法就是:在自己的编译环境中一行一行的敲上去。二、错误:.../arm-linux-androideabi-gcc is unable to create an e 阅读全文
posted @ 2013-01-17 18:56 little_star 阅读(1130) 评论(0) 推荐(0) 编辑
摘要: 工程里用的ffmpeg是别人已经编译好的,不知道版本号,所以今天来自己编译。以前用cygwin+NDK编译时总是碰到各种奇奇怪怪的问题,这次换一种新的思路——直接在Eclipse下用NDK编译!一、我们打开eclipse,右击工程,选择properties/Builders/New_Builder(1),设置如下这样就设置好eclipse中NDK的编译环境了。二、ffmpeg源文件的增添修改 1、在ffmpeg源目录下创建config.sh文件 2、在libavformat等中加上Android.mk文件 这些都和在cywin下移植是一样的。可参考http://blog.csdn.net/pe 阅读全文
posted @ 2013-01-15 12:59 little_star 阅读(480) 评论(0) 推荐(0) 编辑
摘要: AVCodecContext 这是一个描述编解码器上下文的数据结构,包含了众多编解码器需要的参数信息 如 果是单纯使用libavcodec,这部分信息需要调用者进行初始化;如果是使用整个FFMPEG库,这部分信息在调用 av_open_input_file和av_find_stream_info的过程中根据文件的头信息及媒体流内的头部信息完成初始化。其中几个主要 域的释义如下: extradata/extradata_size: 这个buffer中存放了解码器可能会用到的额外信息,在av_read_frame中填充。一般来说,首先,某种具体格式的demuxer在读取格式头 信息的时候会填充ex 阅读全文
posted @ 2013-01-14 13:34 little_star 阅读(376) 评论(0) 推荐(0) 编辑
摘要: 转自:http://yumiao.blog.sohu.com/150583176.html,尊重原创!如何从AVFrame::data[0]里获取RGB24数据,又如何从中获取YUYV422数据提出问题:我用img_convert转换了解码后的图象为RGB24,确保转换是正确的,取出数据来播放还是不正常。我又转为YUYV422,还是不正常。 反正就是数据没取对。我是从AVFrame::data[0]直接把数据Copy过来显示,要么图象只显示到上半窗口,要么重复了几个播放图象,怎么弄都不正确请问,怎么取这两种格式的图象数据啊?解答问题从AVFrame::data[0]里获取RGB24 或者 YU 阅读全文
posted @ 2013-01-09 15:25 little_star 阅读(3793) 评论(0) 推荐(0) 编辑
摘要: 转自:http://ranlic.iteye.com/blog/1313735,尊重原创!在学习Graphics中遇到位图(Bitmap)中getPixels()方法,对该方法的用法大体理解,但对其中的stride参数却不明白具体的用法以及用意,经过一番折腾后,有些明了,现记述过程如下: 行文有些详细,请赶时间的同学直接跳到红字总结处查看!! getPixels()方法的用处为获取位图(Bitmap)中的根据方法参数所决定的像素值(颜色值),存入类型为int的pixels数组中,至于从RGB转换为int数值的算法是什么,暂时不知,存疑!! Android英文SDK中有关getPixels(.. 阅读全文
posted @ 2013-01-08 22:08 little_star 阅读(730) 评论(0) 推荐(0) 编辑
摘要: 转自:http://blog.sina.com.cn/s/blog_025270e901014z3p.html,尊重原创我们在JNI中处理得到的BMP图片Raw数据,我们应该如何转换为Bitmap呢?1 由于得到的数据是unsigned char *类型的数据,而对于Bitmap的类来说,其类方法里面:publicstaticBitmap createBitmap(intcolors[],intoffset,intstride,intwidth,intheight, Config config)要求传入的是int *数据,这里我们就需要将unsigned char *数据转换为RGB的int值 阅读全文
posted @ 2013-01-04 20:06 little_star 阅读(825) 评论(0) 推荐(0) 编辑
摘要: 结构继承关系public class Bitmap extends Object implements Parcelable java.lang.Objectandroid.graphics.Bitmap内部类 enum Bitmap.CompressFormat 详细说明位图的压缩格式 enum Bitmap.Config 位图的结构常量Int DENSITY_NONE 标志着该位图是以未知的像素密度创建的参见 getDensity()setDensity(int)公共方法boolean compress(Bitmap.CompressFormat format, int qual... 阅读全文
posted @ 2012-12-25 16:51 little_star 阅读(688) 评论(0) 推荐(0) 编辑
摘要: 转自:http://hongqiang.iteye.com/blog/1630857,尊重原创26.如果后台的Activity由于某原因被系统回收了,如何在被系统回收之前保存当前状态?当你的程序中某一个Activity A 在运行时中,主动或被动地运行另一个新的Activity B 这个时候A会执行Java代码public void onSaveInstanceState(Bundle outState) { super.onSaveInstanceState(outState); outState.putLong("id", 1234567890);}B 完成以后又会来找 阅读全文
posted @ 2012-12-24 17:23 little_star 阅读(212) 评论(0) 推荐(0) 编辑
摘要: 转自:http://blog.csdn.net/dajian790626/article/details/7859960,尊重原创。Android中的Looper类,是用来封装消息循环和消息队列的一个类,用于在android线程中进行消息处理。handler其实可以看做是一个工具类,用来向消息队列中插入消息的。 (1) Looper类用来为一个线程开启一个消息循环。 默认情况下android中新诞生的线程是没有开启消息循环的。(主线程除外,主线程系统会自动为其创建Looper对象,开启消息循环。) Looper对象通过MessageQueue来存放消息和事件。一个线程只能有一个Looper.. 阅读全文
posted @ 2012-12-24 17:20 little_star 阅读(185) 评论(0) 推荐(0) 编辑