代码改变世界

指定Android adb的启动端口

2017-07-12 11:14 by jiayayao, 4673 阅读, 1 推荐, 收藏, 编辑
摘要:串口执行: 一般机器默认是5555为adb端口,但是今天遇到的一台机器以5037为默认端口,开发机器指定5037也连不上,有点莫名其妙,用上述方法改为5555就可以连上了。 阅读全文

H.264编码格式简单分析

2017-06-27 19:08 by jiayayao, 6218 阅读, 0 推荐, 收藏, 编辑
摘要:本文记录一下H.264的编码格式。H.264官方文档:https://github.com/jiayayao/DataSheet/tree/master/encode-decode/h264。 一、H.264编码格式 H.264从层次来看分为两层:视频编码层(VCL, Video Coding La 阅读全文

FLV封装格式分析

2017-06-15 20:26 by jiayayao, 1301 阅读, 0 推荐, 收藏, 编辑
摘要:FLV官方文档:https://github.com/jiayayao/DataSheet/tree/master/media%20format/flv 一、FLV格式 FLV包括文件头(FLV header)和文件体(FLV Body)两部分,其中文件体由一系列的Tag组成。如下图所示: FLV 阅读全文

vlc源码分析(六) 调用OpenMAX硬解码H.265

2017-06-08 20:13 by jiayayao, 7745 阅读, 1 推荐, 收藏, 编辑
摘要:H.265(HEVC)编码格式能够在得到相同编码质量视频的前提下,使用相当于H.264(AVC)一半的存储容量,虽然H.265的算法复杂度比H.264高一个数量级,但是硬件水平在不断提高,因此H.265使用场合逐渐多了起来。好多硬件厂商芯片内部实现了H.265的硬解码。最近调试了vlc-androi 阅读全文

vlc源码分析(五) 流媒体的音视频同步

2017-05-22 19:26 by jiayayao, 7921 阅读, 2 推荐, 收藏, 编辑
摘要:vlc播放流媒体时实现音视频同步,简单来说就是发送方发送的RTP包带有时间戳,接收方根据此时间戳不断校正本地时钟,播放音视频时根据本地时钟进行同步播放。首先了解两个概念:stream clock和system clock。stream clock是流时钟,可以理解为RTP包中的时间戳;system 阅读全文

vlc源码分析(四) 调用libts接收TS流

2017-05-15 20:31 by jiayayao, 4873 阅读, 2 推荐, 收藏, 编辑
摘要:代码分析前,先要了解TS流基本概念:TS流之基本概念。 VLC解析TS流是通过libts库来分离的,libts库使用libdvbpsi库来解TS表。VLC使用模块加载机制来加载libts库,具体调用的文件是ts.c. 1. libts库在加载的时候,会将以下如下两个函数注册下去,当接收到PAT或者P 阅读全文

TS流基本概念

2017-05-15 20:20 by jiayayao, 29724 阅读, 2 推荐, 收藏, 编辑
摘要:在MPEG-2标准中,有两种不同类型的码流输出到信道:一种是节目码流(Program Stream, PS),适用于没有误差产生的媒体存储,如DVD等存储介质;另一种是传送流(Transport stream, TS),适用于有信道噪声产生的传输,目前TS流广泛应用于广播电视中,如机顶盒等。 一、基 阅读全文

vlc源码分析(三) 调用live555接收RTP数据

2017-05-07 12:41 by jiayayao, 5607 阅读, 1 推荐, 收藏, 编辑
摘要:首先了解RTSP/RTP/RTCP相关概念,尤其是了解RTP协议:RTP与RTCP协议介绍(转载)。 vlc使用模块加载机制调用live555,调用live555的文件是live555.cpp。 一、几个重要的类 以下向左箭头(“<-”)为继承关系。 1. RTPInterface RTPInter 阅读全文

vlc-android native调试配置

2017-04-26 20:12 by jiayayao, 2236 阅读, 0 推荐, 收藏, 编辑
摘要:1, 按照官网给出的链接,git clone代码,配置好android sdk,ndk...后运行compile.sh; 2, 出现一个protobuf相关的问题(貌似要求protobuf3),自己去网站下载后安装,即可编译通过; 3, 还是找个能上外网的,或者能FQ的帐号吧,编译过程中会下载好多与 阅读全文

vlc源码分析(二) 播放流程

2017-04-23 13:57 by jiayayao, 10641 阅读, 1 推荐, 收藏, 编辑
摘要:当点击播放文件或者输入要播放的文件后,vlc会执行一系列的流程。 首先需要了解视频以及流媒体处理及播放的流程,由链接中的描述,视频以及流媒体处理时,首先要解协议(http,rtmp,rtsp等),然后是解封装(mp4,mkv,avi等),获得音频码流和视频码流,分别解码后,再根据时间戳进行同步。使用 阅读全文