WolfcsTech


  • 首页

  • 分类

  • 归档

  • 标签

  • 关于

  • 公益 404

live555 源码分析: SETUP 的处理

发表于 2017-09-05 | 分类于 live555 | | 阅读次数:

SETUP 请求在 RTSP 的整个工作流程中,用于建立流媒体会话。本文分析 live555 对 SETUP 请求的处理。

阅读全文 »

live555 源码分析: DESCRIBE 的处理

发表于 2017-09-04 | 分类于 live555 | | 阅读次数:

前面在 live555 源码分析:RTSPServer 中分析了 live555 中处理 RTSP 请求的大体流程,并分析了处理起来没有那么复杂的一些方法,如 OPTIONS,GET_PARAMETER,SET_PARAMETER 等。篇幅所限,没有分析最为重要的 DESCRIBE,SETUP 和 PLAY 这些方法的处理。

阅读全文 »

live555 源码分析:RTSPServer

发表于 2017-09-03 | 分类于 live555 | | 阅读次数:

live555 使用 RTSP/RTP/RTCP 协议来实现流媒体的传输,其中使用 RTSP 来建立流媒体会话,并对流媒体会话进行控制。在 live555 中,通过类 RTSPServerSupportingHTTPStreaming::RTSPClientConnectionSupportingHTTPStreaming 来处理 RTSP 请求。客户端发送过来的请求在其父类 GenericMediaServer::ClientConnection 的 incomingRequestHandler(void*, int /*mask*/) 函数中接收,并在其父类 RTSPServer::RTSPClientConnection 的函数 handleRequestBytes() 中处理。

阅读全文 »

Wireshark 抓包分析 RTSP/RTP/RTCP 基本工作过程

发表于 2017-09-01 | 分类于 live555 | | 阅读次数:

整体而言,RTSP 通常工作于可靠的传输协议 TCP 之上,就像 HTTP 那样,用于发起/结束流媒体传输,交换流媒体元信息。RTP 通常工作于 UDP 之上,用于传输实际的流媒体数据,其中的载荷格式因具体流媒体类型的不同而不同,通常有专门的 RFC 规范对其进行定义,如 H.264 编码格式视频数据的载荷格式在 RFC 6184, RTP Payload Format for H.264 Video 中定义,其它流媒体数据类型有其它的规范进行定义。RTCP 同样通常工作于 UDP 之上,用于对 RTP 进行控制,流媒体数据的收发端在传输过程中相互发送 RTCP 数据包,将自己这一端检测到的 QoS 等信息传递给对方,使用 RTP/RTCP 协议的应用程序,利用这些信息对收发过程进行控制。RTP 和 RTCP 在传输过程中,工作于不同的端口上。

阅读全文 »

live555 源码分析:MediaSever

发表于 2017-08-31 | 分类于 live555 | | 阅读次数:

位于 live555 项目 mediaServer 目录下的是 “LIVE555 Media Server”,它是一个完整的 RTSP 服务器应用程序。它可以把多种媒体文件转为流,提供给请求者。

阅读全文 »

live555 源码分析:基础设施

发表于 2017-08-30 | 分类于 live555 | | 阅读次数:

live555 由多个模块组成,其中 UsageEnvironment 、 BasicUsageEnvironment 和 groupsock 分别提供了事件循环,输入输出,基本的数据结构,以及网络 IO 等功能,它们可以看作 live555 的基础设施。对于 live555 的源码分析,就从这些基础设施,基本的数据结构开始。

阅读全文 »

live555 源码分析:简介

发表于 2017-08-28 | 分类于 live555 | | 阅读次数:

live555 是一个 C++ 开发的流媒体项目,它主要由几个用于多媒体流的库组成,其官方网站地址为 http://www.live555.com/。live555 使用开放的标准协议 (RTP/RTCP,RTSP,SIP),方便与其它标准的流媒体组件互操作。这些库可以为 Unix-like(包括 Linux 和 Mac OS X),Windows,和 QNX (及其它 POSIX 兼容系统)等系统进行编译,它们可以被用于构建流媒体应用。除了库之外,live555 还包含了两个流媒体应用程序 “LIVE555 Media Server“ 和 “LIVE555 Proxy Server“,它们都是 RTSP 服务器应用程序。

阅读全文 »

使用 ortp 发送原始 H.264 码流

发表于 2017-08-24 | 分类于 音视频开发 | | 阅读次数:

oRTP 是一个 RTP (Real-time Transport Protocol (RFC 3550)) 协议的库实现,它完全以 C 语言来实现,因此方便应用于各种不同的平台。本文分享用 oRTP 发送,以 Android 的 MediaCodec 编码出来的原始 H.264 码流,又称裸流的方法。

阅读全文 »

原始 H.264 码流播放

发表于 2017-08-23 | 分类于 音视频开发 | | 阅读次数:

我们平时遇到的视频文件各式各样,五花八门。通常它们会根据格式的不同,而有着不同的扩展名,比如 avi,rmvb,mkv,mp4 等等等。这些格式代表的都是 封装格式。

阅读全文 »

H.264 视频的 RTP 载荷格式

发表于 2017-08-18 | 分类于 音视频开发 | | 阅读次数:

本文是 IETF 的规范 RFC 6184 的一部分的翻译,该规范 地址。翻译这份文档,主要是为了编写一段用 RTP 传输 H.264 流的代码。本想在网上找一些文章完成任务了事的,但由于个人之前音视频编解码相关的知识比较匮乏,网上找的文章大都没有办法把我的问题讲的很详细很明确,所以就找来了这份 IETF 的规范来学习。

阅读全文 »
1…91011…21
Han Pengfei

Han Pengfei

207 日志
19 分类
30 标签
GitHub 豆瓣 知乎 E-Mail
Links
  • Android Developers
  • Android Open Source Project
  • 蚂蚁网
© 2016.09.16 — 2020 Han Pengfei
由 Hexo 强力驱动
|
主题 — NexT.Mist v6.0.3