
多媒体--流媒体应用
山西茄子
多媒体工程师,从事ffmpeg,gstreamer,视频编码,deepstream等开发,做做笔记。
展开
-
live555--消息循环
TaskScheduler用于事件调度。类的框架如下:消息循环如下:void BasicTaskScheduler0::doEventLoop(char* watchVariable) { // Repeatedly loop, handling readble sockets and timed events: while (1) { if (watchVari原创 2012-09-21 10:49:30 · 978 阅读 · 0 评论 -
TeamTalk服务器的学习1
login_server1 login_server在整个TT的架构中,可以简单的理解为一个负载均衡的作用,在login_server中,同样在内存中维护了所有的msg_server的地址以及其目前的负载情况。route_server1 route_server 在整个tt中的作用是一个消息转发的地方,其在内存中维护了全局用户信息。当有多个msg_server的时候,route转载 2015-03-10 09:46:54 · 1797 阅读 · 0 评论 -
live555之数据结构
DelayQueue首先看这两个的定义class DelayQueueEntry {{ ... DelayQueueEntry* fNext;//后一个对象 DelayQueueEntry* fPrev;//前一个对象}class DelayQueue: public DelayQueueEntry { ... virtual ~DelayQueue()原创 2014-03-24 16:15:24 · 1069 阅读 · 0 评论 -
HelixServer的搭建
Helix.server(也就是REAL服务器)的开源版本,RM媒体流服务器,支持RTSP协议,支持RM,RMVB,MP3等格式,即便是商业用,也能应付的来。HelixServer安装 网上找个破解版(如:HelixServer 9.0.2.794),一直点“下一步”,即可完成安装。 “Helix Server”会在后台执行,PC启动后,服务会自动开启。HelixSer转载 2015-05-07 11:34:19 · 1372 阅读 · 1 评论 -
DDS,EasyDarwin部署
1 EasyDarwin和Darwin Streaming Server区别 EasyDarwin是在Apple开源流媒体服务器Darwin Streaming Server(v6.0.3)基础上进行开发和维护的免费开源、高效、易扩展的面向企业级的流媒体平台框架,开始于2013年,遵循 Apple开源License,为了敏捷流媒体服务器开发和简化企业流媒体应用开发而诞生的。 E原创 2015-05-27 13:24:58 · 4570 阅读 · 1 评论 -
H264码流的打包发送(以live555为例)
H.264 视频 RTP 负载格式1. 网络抽象层单元类型 (NALU)NALU 头由一个字节组成, 它的语法如下: +---------------+ |0|1|2|3|4|5|6|7| +-+-+-+-+-+-+-+-+ |F|NRI| Type | +---------------+F: 1 个比特.原创 2012-08-14 11:01:28 · 5052 阅读 · 1 评论 -
DSS源码分析
简介 Darwin Streaming Server(简称DSS)是QuickTime Streaming Server开放式源代码的版本,同时支持FreeBSD、Linux、Solaris、Windows NT和Windows 2000等多个操作系统,是当前所有同类产品中支持平台最多的一个。DSS源代码完全采用标准C++语言写成,编程风格非常优秀,每个C++类都对应着一对和类同名的.h转载 2015-07-15 11:30:55 · 4018 阅读 · 0 评论 -
hls插入广告
最近在做hls插广告。发现正片与广告分辨率不一样时,有些手机浏览器播放有问题。以后插广告(480x270插1920x1080)为例。不加#EXT-X-DISCONTINUITY时。UC 广告画面显示一半。360 过度有花屏。QQ 播放广告崩溃。加上 #EXT-X-DISCONTINUITY时。UC 广告画面显示一半。360 不播广告(disc原创 2016-07-25 14:14:35 · 1637 阅读 · 0 评论 -
TeamTalk--消息服务器的轮训
先看如下几个函数。void CMsgConn::OnConnect(net_handle_thandle){ m_handle = handle; m_login_time = get_tick_count(); g_msg_conn_map.insert(make_pair(handle,this)); ne原创 2015-03-18 10:54:47 · 2613 阅读 · 0 评论 -
TeamTalk--登陆服务器的分析
登陆服务器启动会执行如下语句:1 main函数介绍int main(intargc, char* argv[]){CStrExplode client_listen_ip_list(client_listen_ip,';'); for (uint32_ti = 0; i client_listen_ip_list.GetItemCnt();原创 2015-03-20 12:58:01 · 2938 阅读 · 0 评论 -
TeamTalk服务器
1 简介TeamTalk是一套开源的企业办公即时通讯软件,作为整套系统的组成部分之一,TTServer为TeamTalk 客户端提供用户登录,消息转发及存储等基础服务。TTServer主要包含了以下几种服务器:LoginServer (C++): 登录服务器,分配一个负载小的MsgServer给客户端使用MsgServer (C++): 消息服务器,提供客户端大部分信令处理功能,转载 2015-02-17 10:07:50 · 3537 阅读 · 0 评论 -
live555--WRtspSvr例子
类结构如下:RTSPServer Server类RTSPClientSession 客户会话类BasicTaskScheduler 用于select模型的SOCKET集的轮循ServerMediaSession 媒体会话集类ServerMediaSubsession 媒体会话类class WAVAudioFileServerMediaSubsession : pub原创 2012-08-21 20:17:00 · 1174 阅读 · 0 评论 -
传输的问题
1.由于网络丢包,收到的码流不全,解码后会有花屏,怎么办?海康DVR等设备都是以回调的方式给出码流,看来对码流已经做了处理;以前开发的一个SDK,使用live555接收,live555给的码流也是已经组好的。估计有两个思路,一个是包的重发,一个是图像处理。2.码流的帧率还可以(15fps),但是解码后的图像看起来很卡?原创 2012-07-19 09:56:55 · 1240 阅读 · 2 评论 -
jrtplib--代码笔记
jrtplib是封装的音视频传输库,实现了RTP,RTCP协议,使用UDP传输。1 类结构版本类 RTPLibraryVersion错误码结构体 RTPErrorInfo内存管理类,作为RTPMemoryObject的成员变量 class RTPMemoryManager五种RTCP数据包的类○SR:发送者报告,描述作为活跃发送者成员的发送和接收统计数字; ○RR:接原创 2012-07-18 16:07:17 · 1327 阅读 · 0 评论 -
分析jrtplib收发RTCP包
1 创建在RTPUDPv4Transmitter::Create(里有rtcpsock = socket(PF_INET,SOCK_DGRAM,0);rtcpsock即为首发rtcp包的SOCKET。2 发包在RTPUDPv4Transmitter有pollthread = RTPNew(GetMemoryManager(),RTPMEM_TYPE_CLASS_RTPPOLLT原创 2014-05-16 15:45:32 · 5853 阅读 · 1 评论 -
live555发送H264
H264VideoRTPSink继承关系:H264VideoRTPSink->VideoRTPSink->MultiFramedRTPSink->RTPSink->MediaSink。原创 2013-10-18 10:31:25 · 7073 阅读 · 1 评论 -
live555--socket
准备用live555发送h264,在调试如下代码时一直出错。Boolean socketJoinGroup(UsageEnvironment& env, int socket,netAddressBits groupAddress){...if (setsockopt(socket, IPPROTO_IP, IP_ADD_MEMBERSHIP, (const char*)&原创 2013-04-20 21:04:18 · 1157 阅读 · 0 评论 -
短视频
UGC与PGCUGC(User Generated Content,用户原创内容)短视频自媒体。PGC(Platform Generated Content,专业内容生产)。转载 2017-05-08 13:18:05 · 547 阅读 · 1 评论