- 博客(31)
- 资源 (5)
- 收藏
- 关注
转载 h264码率设定建议
设置视频码率的必要性 在视频会议应用中,视频质量和网络带宽占用是矛盾的,通常情况下视频流占用的带宽越高则视频质量也越高;如要求高质量的视频效果,那么需要的网络带宽也越大;解决这一矛盾的钥匙当然是视频编解码技术。评判一种视频编解码技术的优劣,是比较在相同的带宽条件下,哪个视频质量更好;在相同的视频质量条件下,哪个占用的网络带宽更少。 是不是视频码率越高,质量越
2016-03-24 20:49:46 4681 1
转载 主流开源编解码器Xvid,x264,ffmpeg 性能对比(转)
Xvid是基于MPEG4协议的编解码器,x264是基于H.264协议的编码器,ffmpeg集合了各种音频,视频编解码协议,通过设置参数可以完成基于MPEG4,H.264等协议的编解码,现在将其对比结果罗列如下:1.软件版本: Xvid:1.2.1 x264:无 ffmpeg:0.52. 视频样本 foreman.ci
2016-03-24 20:47:22 4027
原创 x264_param_default_preset()源码分析
h264编码原理复杂,参数众多。为了方便使用无论x264还是其他编码的实现框架,都封装了几种现有的编码模型,只需要根据编码速度的要求和视频质量的要求选择模型,并修改部分视频参数即可编码。模型的选择就是通过x264_param_default_preset()实现。int x264_param_default_preset( x264_param_t *param, const ch
2016-03-24 20:40:38 3786 2
原创 x264_param_default()源码分析;
/**************************************************************************** * x264_param_default: ****************************************************************************/void x264_param_d
2016-03-24 20:39:17 841
原创 x264编码示例
码率控制:ffmpeg/x264 码率控制 分析ffmpeg编码:ffmpeg 编码示例x264编码定义三个接口。调用流程图:一 初始化 x264_param_t param; x264_param_default_preset(¶m, "superfast", "zerolatency");//根据prese
2016-03-24 20:37:44 1988
原创 ffmpeg/x264 码率控制 分析
ffmpeg编码h264流参看:ffmpeg编码示例x264编码h264流:x264编码示例有效影响视频码率的参数有:一:间接影响1.关键帧间隔x264ffmpeg说明命令行字段命令行字段max-keyint
2016-03-24 20:30:20 8729
原创 ffmpeg 编码示例
ffmpeg 自身有h264的解码模块。编码却需要打包入其他编码库。具体效率分析参看:主流开源编解码器Xvid,x264,ffmpeg 性能对比(转)实现编码定义了四个函数。一:帧添加结束后flush,将未输出的avpacket写入调用flush原因分析:ffmpeg /x264视频流编解码末尾丢帧问题分析和解决int vflush_encoder(AV
2016-03-24 20:26:08 3148
原创 ffmpeg /x264视频流编解码末尾丢帧问题分析和解决
一:问题int avcodec_encode_video2(AVCodecContext * avctx,AVPacket * avpkt,const AVFrame * frame,int *
2016-03-24 20:18:14 6407 1
原创 ffmpeg 解码流程
定义三个函数处理解码h2641.编码前初始化,返回视频宽高int* decode_init(char * in_filename){ avcodec_register_all(); av_register_all(); decode_frame = av_frame_alloc(); AVPacket pkt; //获取各种上下文
2016-03-24 20:12:16 1137
原创 soundtouch 变声使用和算法
soundtouch 源码下载地址编译完成之后$soundstretch --helpThis program is subject to (L)GPL license. Run "soundstretch -license" formore information.This application processes WAV audio files b
2016-03-24 19:39:32 15941 2
原创 native c回调 java 中 自带参数 jclass和jobject的区别
做三次测试。(1) jniclass内写成静态变量和公共java方法。修改静态变量后,native层该量也跟着修改,传送参数为jclass。jniinterface packet:class JniClass{ static int count = 0; public void print() {
2016-03-24 19:18:23 2511
原创 java方法签名中参数和返回类型字母含义
java中每个方法都有唯一的签名。在jni利用反射机制调用时候经常用到。以下为方法签名中,参数和返回类型字母含义。
2016-03-24 19:15:21 736
转载 java NIO 和阻塞I/O的区别
1. 阻塞I/O通信模型 假如现在你对阻塞I/O已有了一定了解,我们知道阻塞I/O在调用InputStream.read()方法时是阻塞的,它会一直等到数据到来时(或超时)才会返回;同样,在调用ServerSocket.accept()方法时,也会一直阻塞到有客户端连接才会返回,每个客户端连接过来后,服务端都会启动一个线程去处理该客户端的请求。阻塞I/O的通信模型示意图如下:
2016-03-24 19:11:06 121
原创 System.currentTimeMillis() 和sleep 存在误差原因与解决方案
System.currentTimeMillis() 与sleep()存在误差。精度跟系统相关,10ms-15ms为常见误差,多媒体操作多用 System.nanoTime() 返回纳秒值。即用 System.nanoTime() /1000000L 替换 System.currentTimeMillis() 参考jdk文档:在指定的毫
2016-03-24 19:06:29 3435
原创 针对android&ios yuv旋转、镜像、格式转换、裁剪 算法实现
移动端录像在yuv数据上存在如下问题: 1.无论android还是ios都不能直接从摄像头取出颜色空间为i420的数据,所以在编码前需要进行格式转换。2.而且由于所取图像得分辨率必须是摄像头所提供分辨率中得一组,所以有可能需要裁剪。3.另外由于1)想让无论用户哪个方向拿手机所录的视频内容永远“头朝上”, 2)摄像头默认返回图像为横屏图像(宽大于长)所以需要旋转。4.前置摄
2016-03-16 11:47:57 11328 6
原创 atom 快捷键
用了几天atom,感觉功能挺全面,界面也不错,相比vim和subltext更好用点。整理一下快捷键。 ViewCtrl + \ 打开关闭目录,焦点会集中到目录上F11 全屏打开或关闭ctrl +,
2016-02-14 14:48:43 1124
原创 ffmpeg 使用滤镜
ffmpeg 中滤镜的实现其实并不高明,但是功能强大,先给出过滤镜的代码,再翻译我认为有的玩的滤镜。一帧通过滤镜的函数:int Filter_One_Frame(FilterArgs *filter_args,AVFrame *frame, AVFrame *filt_frame,const char * filter_descr){ int ret; avc
2015-10-09 16:00:36 6525 1
原创 Android & IOS视频录制技术方案
屡次想经营一个技术博客,总因为各种理由推脱。这次下定决心开写,不为自我营销,不为扩大社交,只为了督促自己学习。近几个月定时更新两条线,一个是短视频处理技术,一个是《算法导论》笔记,也借机温故知新。精力有限而且学习也不能贪多,所以每周仅各一篇。警告诸多网站:原创博客,未经本人允许不得转载。移动端视频录制的技术方案,我所能想到并且尝试过的,有如下几种:方案一: 用系统开发sdk
2015-08-30 18:04:45 5227 6
原创 android 图像处理(黑白,模糊,浮雕,圆角,镜像,底片,油画,灰白,加旧,哈哈镜,放大镜)
图片处理,模糊,镜像,底片,哈哈镜,放大镜,灰白,黑白,加旧等
2014-05-06 12:24:20 4450 1
原创 android mock location
现在软件市场上有很多可以改变手机地理位置的软件,更改后打开微信就可以随意定位,甚至前几年有依靠这个技术打广告为生的小型公司。一获取地理位置的方法获取地理位置的方法一般分为两种。1)GPS24颗卫星定位全球(图片来自维基百科)给出详解地址:http://zh.wikipedia.org/wiki/GPS;但是向卫星对请求信号强度的要求比较高,很多专门的硬件设备有时都达不到,所
2014-01-25 17:28:44 6131
原创 android listview
android listview 是很常用的组件。如果列表项过于多或者需要从网络上读取内容的话大多app都将其做成动态加载的。下拉刷新或者上拉刷新。如图::原来listview本身提供添加删除footerview和headerview的方法,而且可以添加多个:voidaddFooterView(View v)Add a fixed view to a
2014-01-15 21:50:09 2185
原创 android 实现按键精灵
程序经常需要调试,需要程序自动按键,或者某些繁琐操作,比如游戏外挂,需要按键精灵来完成。android 提供给开发者发送模拟按键的类Instrumentation:public classInstrumentationextends Objectjava.lang.Object ↳android.app.Instr
2014-01-07 15:51:51 8980 9
原创 android apk版本更新
ios的软件版本更新必须要通过苹果的服务器,而android 却不需要,开发商可以在软件本身嵌套下载安装新版本的功能,对于此是否是个优点暂且不谈(个人感觉还是ios那样更负责人些,用户体验更好点),只将一下实现步骤。android区分软件是通过包名,也就是所如果两个软件的包名完全相同,系统就会认为是同一款软件,如果已经安装了,又要安装,系统则认为是在更新版本而不是安装新软件。为了避免软件之间的
2014-01-07 15:31:34 1646 1
原创 android 控制震动强度
android 控制手机震动的类为Vibrator 他所提供的方法只有四个想要控制手机的震动强度,无疑就只能使用vibrate(long[] parttern,int repeat)方法了,查看这个方法的详解:Vibrate with a given pattern.Pass in an array of ints that are the durations for
2014-01-07 13:40:46 15535 8
原创 android 的推送
先来将一下ios的推送:iOS 在系统级别有一个推送服务程序使用 5223 端口。使用这个端口的协议源于 Jabber 后来发展为 XMPP ,被用于 Gtalk 等 IM 软件中。所以, iOS 的推送,可以不严谨的理解为:苹果服务器朝手机后台挂的一个 IM 服务程序发送的消息。然后,系统根据该 IM 消息识别告诉哪个 Apps 具体发生了什么事。然后,系统分别通知这些
2013-11-09 11:15:02 1059
原创 android DOM 解析 网络上xml文档
解析xml文档在很多时候都要用到,比如像音乐播放器的网络歌曲列表,应用软件的下载列表等等。想要更新时只需要更改服务器上的xml文档即可,然后客户端读取固定的xml来显示相应的列表,先给出xml文档 http://alga7.com/pic/1.jpg 10.3 a1 http://alga7.com/pic/2.jpg
2013-11-09 10:54:52 1234
原创 android google map
做地图导航开发,忽然间发现百度和搜狗的地图不能显示国外。如图:(搜索日本只显示如此的一坨……)google map:除此之外,google还提供3d地图开发,camera间的切换动画,算了,不打广告了。不过申请key的步骤要比国内的地图麻烦一点,大意是,根据你的签名和工程的包名按照SHA-1加密传给google,google再由此生成你所对应的key。给出链接https://d
2013-11-09 09:54:34 1193
原创 android ViewPager 替代 Gallery 实现手势切换
在论坛博客上看到很多人实现3D的切换图片效果大多是用的Gallery,加入倒影,加入倾斜角,而且有很多都是实现的特别好的。但是自己测试时发现This class was deprecated in API level 16.其实还有很多组件可以实现手势切换,或者可以完全自己编写来控制imageview的切换效果,但是当看到android api上推荐的viewpager后发现其的确是个好东西。
2013-10-27 11:32:48 3313
原创 android音频通信
这是前一段时间遇到的问题了, 想用android手机的音频口发送消息,消息内容可以是字符串,可以是命令,甚至可以是文件。由于智能手机的普及,今后在工业领域可能会推广,所以在这里分享一下。现在开始:一(语文是硬伤,标题想不出来):本例只实现了发送字符串的功能(用的是方波标记),而且界面布局很简单,贴图:点击【send】将会发送出一段噪音,噪音的内容是用你所输入的字符串编码过来
2013-09-22 14:10:47 2303 7
soundtouch变声之后效果
2016-03-24
android音频发射器,audiotrack方波,音频通信
2013-08-21
android音频发射器,android音频通信
2013-08-21
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人