学习TaskThread主要有三个类要关注:
TaskTreadPool: 任务线程池
TaskThread:任务线程
Task: 任务
1. TaskThreadPool
Darwin运行着一个或者多个任务(Task)线程,并将他们统一在线程池TaskThreadPool中管理。任务线程从事件线程中接收RTSP和RTP请求,然后把请求传递到恰当的服务器模块进行处理,把数据包发送...
在项目开发过程中遇到一个问题,play之后,不能推送rtp数据包,跟踪代码调试发现,在获取H264视频数据,封包,发送,这条循环的链断开了,导致该问题的原因是:
在H264VideoStreamFramer.cpp中
unsigned H264VideoStreamParser::parse()
{
#if DEBUG_SHOWCHN
printf("Parser() chn:...
分类:
其他好文 时间:
2015-01-27 18:37:34
阅读次数:
358
首先说下我的原因是因为配置中set nocompatible " be iMproved, requiredfiletype off " required" set the runtime path to include Vundle and initializeset rtp+=~/.vim/bu...
分类:
其他好文 时间:
2015-01-24 23:57:30
阅读次数:
229
https://github.com/whtang/GoRTPGoRTP实现了修改RTP数据包的头部和内容的一些重要的函数。而大多数只处理RTP数据包的负载和时间戳。RTP数据分组分组模块实现了一个允许漏接的缓冲机制,这样能够减少内存的动态分配请求。尽管不是必要的但还是建议使用FreePacket(...
分类:
其他好文 时间:
2015-01-24 21:19:24
阅读次数:
230
1. H264视频的RTP封包[c-sharp]view plaincopystaticinth264_parse(Track *tr, uint8_t *data, size_t len){ h264_priv *priv = tr->private_data;// double nal_time...
分类:
其他好文 时间:
2015-01-24 10:11:40
阅读次数:
471
目录(?)[-]第1章RTP概述RTP是什么RTP的应用环境相关概念流媒体第2章RTP详解RTP的协议层次传输层的子层应用层的一部分RTP的封装RTCP的封装RTP的会话过程第3章相关的协议实时流协议RTSP资源预定协议RSVP第4章常见的疑问怎样重组乱序的数据包怎样获得数据包的时序声音和图像怎么同...
分类:
其他好文 时间:
2015-01-24 10:09:36
阅读次数:
259
Status of This Memo This document specifies an Internet standards track protocol for the Internet community, and requests discussion and suggestions f...
分类:
其他好文 时间:
2015-01-24 10:08:33
阅读次数:
210
网络抽象层单元类型 (NALU):NALU头由一个字节组成,它的语法如下: +---------------+ |0|1|2|3|4|5|6|7| +-+-+-+-+-+-+-+-+ |F|NRI| Type | +---------------+F: 1个比特. forbidden_zero_bi...
分类:
其他好文 时间:
2015-01-24 10:05:53
阅读次数:
183
我之前编译了jrtplib 3.9.1,并且在项目中使用,结果发现在用这个库时,程序体积有增加了300多K,感觉实在是有点笨重,我无法就是用来发送rtp包而已。想想还是自己重新实现一个简单的类用用拉倒了,所以有了下面的代码。头文件:[cpp]view plaincopy/*!@brief简单rtp库...
分类:
编程语言 时间:
2015-01-24 10:05:00
阅读次数:
243
RTSP数据流简介:
RTSP_HEADER + RTP_HEADER + 1、视频:NALU_HEADER(type*) + FU_HEADER
2、音频: + 音频数据;
RTSP_HEADER payloadLen = RTSP_HEADER后的包长度;
dollar = 36(0x...
分类:
其他好文 时间:
2015-01-21 11:37:26
阅读次数:
146