Month: December 2014

mac

iTerm 2 + home brew,mac上公认最好用的终端iTerm 2配合brew install

转-音视频基础知识-AND-Codec初始化及Omx组件创建

移动开发者的音视频基础知识 https://mp.weixin.qq.com/s/HjSdmAsHuvixCH_EWdvk3Q 原创 恋猫de小郭 GSYTech 2020-01-07 08:25 收录于话题#Android 巴士站18个内容 作为移动开发者,大多数时候会需要接触到音视频相关的开发,而其实严格意义上我也并不是专职的音视频开发工程师,只是在 2016 因为业务需要接触到音视频相关的领域,而开源的 GSYVideoPlayer 恰好火起来之后,为了解决系列问题成了“半桶水”的音视频开发工程师。 2016至今 在维护 GSYVideoPlayer 的这几年里,我发现很多开发者对于音视频领域相关的基本概念还是不清楚,所以我也经常可以收获这样的 issue: “为什么 xxx 可以播而 GSY 不能播?” “我两个视频都是 mp4 为什么其中一个播放不了?” “为什么缓冲过的视频 seek 完还要重新请求数据?” “为什么播放有黑边?” “····” 而这些其实都是音视频开发过程中的常识性问题,所以本篇将通过基本概念、常见问题、应用场景来科普音视频开发的基础知识。 基本概念 首先,如下图所示是一个 .MOV 的视频文件,可以看到更多信息栏里编码器有 AAC 、HEVC,而这个就是视频的音频编码和视频编码,而 MOV 其实就是封装协议,这其实就是我们接下来要介绍的基本概念。 一般情况下,视频流从加载都准备播放是需要经过解协议、解封装、解编码这样的过程,其中协议指的就是流媒体协议;封装是的是视频的封装格式;编码又分为视频编码和音频编码。 协议一般有 HTTP 、RTSP、RTMP 等,我们就最常见的就是 HTTP 网络协议,而 RTSP 和 RTMP 一般用于直播流或支持带有控制信令的常见,比如远程监控。 视频封装协议指的是我们常见的 MP4 、AVI 、RMVB 、MKV、TS、FLV 等常见后缀格式,它们所表示的就是多媒体的封装协议,就是在传输过程中把音频和视频打包都一起的封装,所以播放前是需要把这部分内容解开,提取出对应音频编码和视频编码。 所以如果以后有人问你,你是视频编码是什么,专业的你不能再回答 “我的视频编码是 MP4” 这样的回复哟。 音频编码 音频编码指的是音频数据的编码方式,常见的如:MP3、 PCM、WAV、AAC、AC-3 等,因为音频的原始数据大小一般不适合直接传入,比如原始大小一般可以按照采样率 * 声道数 * 样本格式 去计算,假设前面那个 MOV 的音频采样率是 44100 、样本格式是 16 bit 、单声道、24 秒,那么它原始音频大小应该是 44100 * 16 * 1 * 24 / 8 ≈ …

转-音视频基础知识-AND-Codec初始化及Omx组件创建 Read More »

转android的Interpolator

http://www.cnblogs.com/mengdd/p/3346003.html http://my.oschina.net/banxi/blog/135633 http://www.wolframalpha.com/input/?i=%28-x-1%29*%28x%29%28-1%3Cx%3C%3D0%29

转-android同步Mutex和Condition

Android提供了两个封装好的同步类,它们是Mutex和Condition。这是重量级的同步技术,一般内核都会有对应的支持。另外,OS还提供了简单的原子操作,这些也算是同步技术中的一种。下面分别来介绍这三种东西。 http://blog.csdn.net/tjy1985/article/details/7227474