代码改变世界

TS流基本概念

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

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

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

vlc-android native调试配置

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

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

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

vlc源码分析(一) RTSP会话流程

2017-04-19 22:14 by Shdjgrwjdbd, 7506 阅读, 0 推荐, 收藏,
摘要:可以先了解一下RTSP/RTP/RTCP的概念与区别:RTP与RTCP协议介绍(转载)。 在调试vlc-android时,熟悉了RTSP的会话流程。C表示RTSP客户端,S表示RTSP服务端: 第一步:查询服务器端可用方法 1.C->S:OPTIONrequest //询问S有哪些方法可用 1.S- 阅读全文

《STL源码剖析》要点摘抄

2017-03-14 22:45 by Shdjgrwjdbd, 657 阅读, 0 推荐, 收藏,
摘要:1. STL的空间配置器 SGI STL设计了双层级配置器,第一级配置器直接使用malloc()、free(),第二级配置器则视情况采用不同的策略:当配置区块超过128bytes时,视为“足够大”,便调用第一级配置器;当配置区块小于128bytes时,视为“过小”,为降低额外负担,便采用复杂的mem 阅读全文

C++11之std::future和std::promise

2017-03-10 20:41 by Shdjgrwjdbd, 9132 阅读, 2 推荐, 收藏,
摘要:为什么C++11引入std::future和std::promise?C++11创建了线程以后,我们不能直接从thread.join()得到结果,必须定义一个变量,在线程执行时,对这个变量赋值,然后执行join(),过程相对繁琐。 thread库提供了future用来访问异步操作的结果。std::p 阅读全文

为什么C++11引入了std::ref?

2017-03-09 20:50 by Shdjgrwjdbd, 29910 阅读, 5 推荐, 收藏,
摘要:C++本身有引用(&),为什么C++11又引入了std::ref? 主要是考虑函数式编程(如std::bind)在使用时,是对参数直接拷贝,而不是引用。如下例子: 上述代码在执行std::bind后,在函数f()中n1的值仍然是1,n2和n3改成了修改的值。说明std::bind使用的是参数的拷贝而 阅读全文

使用Android的OpenGL编写视频播放器

2017-03-07 20:35 by Shdjgrwjdbd, 6688 阅读, 0 推荐, 收藏,
摘要:Android自身有MediaPlayer播放器,为什么还要使用OpenGL?因为使用OpenGL可以实现更多的效果,比如对视频翻转一定角度,加任意特效,多视频合并播放等,类似“激萌”的APP应该就是这样做的;相比之下,直接调用MediaPlayer的功能就少太多了。 OpenGL ES剔除了Ope 阅读全文

FFMpeg笔记(二) 使用FFmpeg对视频进行编解码的一般流程

2017-03-05 18:18 by Shdjgrwjdbd, 3432 阅读, 0 推荐, 收藏,
摘要:1. 编码: 1.对编码资源的初始化 2.编码 2. 解码: 1.对解码资源的初始化 2.解码 阅读全文