摘要:
(此文为原文删减版,原文地址:http://blog.sina.com.cn/s/blog_502d765f0100kopn.html) 我写了一个服务器程序,在Linux下测试,然后用C++写了客户端用千万级别数量的短链接进行压力测试. 但是服务器总是莫名退出,没有core文件. 最后问题确定为, 阅读全文
摘要:
首先先上图,下图左边是一个以太网口,右面是将相关引脚连在一起,当下图右边的小工具插入网口的时候,会造成交换机回环,导致该交换机下其他的机器不能连接网络。 以太网口的引脚定义如下图,将1脚和3脚连在一起,将2脚和6脚连在一起即可。 原理是交换机如果产生回环,那么一旦出现广播包,就会进入死循环发送广播包 阅读全文
摘要:
tinyhttpd是学习http协议非常好的工具,但是由于其过于简单,不支持在网页上显示图片,所以我改了一些代码,让tinyhttpd可以现实图像,供新手一起学习和熟悉http协议,ubuntu14.04下直接make就可以,已经测试通过. 代码: download.csdn.net/detail/ 阅读全文
摘要:
live555本身是一个单进程、单线程的服务器,但是它能够完美的让多个客户端同时连接,除了使用select并发编程以外,延时队列是很重要的手段。 当连接一个客户端,进行视频帧传输的时候,是不能持续进行传输的,因为如果持续传输的话会占满整个线程,这样的话新的客户端便无法进行连接了,所以当传送一帧视频流 阅读全文
摘要:
RTP packet RTP是基于UDP协议的,RTP服务器会通过UDP协议,通常每次会发送一个RTP packet。客户端通过解析RTP packet,读取其中的数据然后进行播放了。 RTP packet的结构如下: RTP Header 这是RTP流的头部,在网上搜索RTP格式,就会搜到很多文章 阅读全文
摘要:
上一篇博客说道,live555服务端main函数做的最后一件事就是调用如下代码陷入死循环: 那么这个doEventLoop是什么样的呢?如下: 就是不停地调用SingleStep()这个函数,SingleStep函数中代码比较多,我下面仅截取关键代码,首先是使用selet陷入阻塞,等待事件发生: 返 阅读全文
摘要:
最近五一回家,终于有机会能安静的看一下流媒体这方面相关的知识,准备分析live555的源码,接下来会把我读源码的过程记录成博客,以供其他的同路人参考。因为再读源码的过程中,并不是一路顺着读下来,往往是读到后面,才能反过来明白之前读的内容,所以有的时候会写的有点穿越感。在这个过程中,参考了其他大牛的博客,所以一些基本概念,就不再重复,也感谢前辈们的贡献。五一在家条件不便,源码只好用截图方式给出。 下... 阅读全文
摘要:
1. 实 时流协议RTSP RTSP[3]协 议以客户服务器方式工作,它是一个多媒体播放控制协议,用来使用户在播放从因特网下载的实时数据时能够进行控制,如:暂停/继 续、后退、前进等。因此 RTSP 又称为“因特网录像机遥控协议”。 1.1. RTSP协 议简介 要 实现 RTSP 的控制功能,不仅 阅读全文
摘要:
最近终于又有时间看一下流媒体的东西了,为了能提高自己对这些东西的理解,想要实现一个最简单的流媒体系统 材料:live555(服务器),vlc(客户端) 步骤: 1.安装live555,并开启mediaServer。http://www.cnblogs.com/dchipnau/p/5257379.h 阅读全文
摘要:
姿态角(Euler角)pitch yaw roll飞行器的姿态角并不是指哪个角度,是三个角度的统称。它们是:俯仰、滚转、偏航。你可以想象是飞机围绕XYZ三个轴分别转动形成的夹角。地面坐标系(earth-surface inertial reference frame)Sg OXgYgZg<ignor 阅读全文