浅析基于视频直播技术
摘要:Apache具有高度的模块化特性,该特性实现了Apache的灵活性和可扩展性,而且开发者可以利用该特性很容易地添加第三方功能模块,通过模块开发人员可以添加任何功能。在Apache服务器的基础上,通过向Apache服务器增加一个功能模块,可使Apache具有了流式媒体服务器的功能,能向客户端提供实时的视频数据。
关键词:Internet;多媒体;视频;流式媒体技术
1。Apache的主要特征
可以运行上所有计算机平台;支持的HTTP1。1协议;简单而强有力的基于文件的配置;支持通用网关接口CGI;支持虚拟主机;支持http;集成Perl脚本编程语言;集成的代理服务器;县有可定制的服务器日志;支持服务器端包命令(SSI);支持安全SOCket层(SSL);用户会话过程的跟踪能力;支持FastCGI;支持JavaServlets。
编写服务器是非常简单的,仅仅需要监听合适的端口,建立连接,发送数据。编写这样的服务器和客户端的收发一般总是相辅相成地发展的,两者的诞生标志着WWW的开始在九十年代浏览器、Web服务器、HTML和HTTP协议都得到了快速的发展。随后服务器变为由NCSA开发,相应的也变为NCSAWeb服务器。浏览器MMosaic变为NetscapeNavigator。NCSA目前仍然可以得到,虽然它不再被维护和继续开发,但仍然可以免费下载其源代码。其就是著名的Web服务器Apache的前身。
但是要进行这样的联系也需要一个客户端、一个协议和一个网络环境。但是当Internet不断发展,Web服务器需要更多的功能以满足客户端对更多动态内容的需求。Apache己经发展出扩展模块方式来满足这种需求。但是当Web服务成为很多商务应用都必须面对和采用的技术时,就出现了很多不同Web服务器以满足这些不同的需求。可伸缩性,可靠性,速度和高级动态功能都是Web服务器应该具有的关键因素,特别是在电子商务应用环境中。易于配置和管理对于新手来说也同样重要。
2。Apache的基本结构
Apache有非常好的跨平台性。为了实现这一目标和简化模块编写者的负担,Apache完成了许多基本的功能如IO,内存分配等,这些接口都是与具体平台无关的。还有一些很有用的例如:hashtable,array有一个基本点,它尽可能的使用简单的结构和算法,提高了它的稳定性。
在UNIX系统上,Apache采用了多进程模型,Apache的主配置文件为纯文本格式的httpd。conf,随着Apache版本的发展,其他一些配置文件则逐渐消亡,趋向于使用单一的配置文件httpd。conf来存放所有的配置指令,如客户访问信息、记录认证信息和虚拟服务器等等。Apache配置选项采用的是指令模式,配置指令设定各种参数的值,例如:DocumentRoot设置服务器Web页面的根目录。你也可以灵活地设置多个基于IP或基于域名的虚拟Web服务器,这些Web虚拟服务器可以各自定义独立的DocumentRoot配置指令。而LoadModule指令则用来指定加载不同的模块来实现对Apache服务器功能的扩充。这些新功能大多是提供服务器端对脚本技术的支持,比如Perl,PHP等。Apache结合使用ApacheJServ可以实现对Javaservlets及JSP的支持。
Apache是山模块组成,其中httpcore。c是最根本的,一个最小Apache编译只包含这一个模块。你可以用httpd1可以列出Apache被编译进了哪些模块。动态模块是需要在配制文件中定义的。在Redhat中,只有httpcore。c被编译进去了,其余的都被编译成了so。可以被Apache动态加载。Redhat中的Apache是比较特殊的,标准的Apache只有一个配制文件httpd。conf,其他的文件都是空的。
下面是在配制文件中装载模块的命令:
LoadModule
ClearkloduleList
AddModule
SetHandler
LoadModule是用于动态加载模块的。CIearModuleList是删除Apache中的模块列表。AddModule是将模块加入到列表中去。上面命令是用于重新构造模块列表,模块在列表中的顺序代表了其处理时的优先级,后面的优先级高。SetHandler用将某个清求和模块连接起来,例如将对实时视频的请求与实时视频模块连接起来,则所有的实时视频的请求的处理都会由这个实时视频模块来处理。
Apache将对一个客户端的请求按以下步骤处理:
URI文件名的转换;用户ID检查;用户进入检查;进入检查;判断所请求的对象的类型;修正;真在将应答发送给客户;对请求作日志。
对每个步骤Apache内核都会激活模块相应的处理部分,判断模块是否处理了相应的步骤。模块对上述步骤的处理一般会是下面情况:
对这个步骤进行处理,同时返回OK表示这个步骤已经被正确处理了;。拒绝处理,同时返回DECLINED表示
这个步骤没有被处理。Apache内核将在同样的状态下调用其它模块对这个请求进行处理;通过返回一个HTTP错误代码,表示发生了一个错误。这将打破正常的处理步骤,中断对客户端请求的继续处理,对错误进行日志处理。
大部分的步骤会在第一个对它进行了正确处理的模块之后退出,但对于如日志、修正和认证步骤所有的模块都会被调用进行处理,除非在此之中模块返回了一个错误。模块可以声明处理所有类型的请求,但是对于处理通配符的模块只有在Apache内核调用了其它处理模块没有发现能够进行更精确的处理模块之后才有机会被调用。每个处理模块都是一个函数,这个函数只有一个为requestrec结构的参数。
Apache本身只负责内存分配、IO、进程管理和模块管理等,它通过调用模块提供的接口函数完成配制命令的处理和用户请求的实际处理。其中的核心模块httpcore。c提供了最基本的命令,每一个模块通常都会有自己的配制命令。模块可以参与上述的八个步骤。每一个模块提供一个structmodule其中定义了大量函数指针和结构指针,通过structmodule告诉Apache该模块所支持的命令和参与的步骤。
3。Apache模块的编写
也许在Apache模块中最重要的结构就是module了,这个结构定义在httpconfig。h中所以一般所有的模块程序中最开头的两句就是下面两句了:
includeltttpd。h
includehttpconfig。h
其中httpd。h必须出现在所有的Apache程序中。
结构module在Apache内核和模块提供了一个接口,使得Apache内核和模块无缝连接在了一起。在结构module中包括了一系列的函数指针,就是通过在Apache的配制文件httpd。conf中加入下面这句话,使Apache在启动时加载模块realtime。dll的。
LoadModulerealtimemodulemymodulesrealtimerealtime。dll
第一项STANDARDMODULE。STUFF必须出现在所有模块中,它初始化了一些基本的结构单元如版本一号和模块名等,Apache内核通过这些来管理模块。初始化在内核读取了配置信息后和在未产生任何子进程时调用。创建目录配置、合并目录配置,服务器配置、合并服务器配置,命令表是用于模块来从Apache配置文件读取模块自己的配置信息,在模块结构中提供这些单元使得Apache模块使用起来非常灵活。
每个处理模块函数只有一个为requestrec结构的参数,这个为requestrec结构的参数对应了个来自客户端对服务端的请求,一般对整个请求都只有一个为requestrec结构的参数。在requesrec中包含了请求的所有信息,在请求被Apache内核处理时会被释放:在requestrec中有一些足用字符串的信息如它的URI、文件名、内容类型和内容编码等。大部分的,equestrec信息都是通过来自客户端的HTTP请求得来的。
realtimeHandlers模块是实时视频模块的核心部分,所有对实时视频数据的请求都在本模块中进行处理。在模块中所有的处理都是采用Apache内核所提供的API函数。在本模块中首先向客户端发送标准的HTTP响应,然后进入主循环。在主循环中首先等待视频数据可用,一旦数据可用就向客户端发送视频数据,并更新Apache的状态,使其它模块可得到Apache的实时信息、如总共向客户端发送了多少视频数据等以便进行统计。
4。基于Apache的流式媒体系统的总体框架
ernet的快速发展,Internet已经无所不在,网络现场直播已经从实验阶段走向了实用阶段。各式各样的社会活动,都可以借助网上现场直播的方式传遍全世界,如新闻发布会、体育比赛、商贸展览、商业宣传、远程会议、远程看护开学典礼、校友聚会、周年庆典、结婚庆典等等。我们可以应客户的要求把活动现场的音频或视频信号经压缩、送到多媒体服务器上,在Internet上供广大网友或授权特定人群就近收听或收看。
所谓流式媒体技术,简单的解释就是采用流技术来传播多媒体资源。那么,什么是流技术呢?我们平常会见到很多的流:水流、汽流、车流等,它们一个共同的特征就是连续性是一个接着一个。我们把这样的思想用到在互联网上传播影音文件上来,就出现了所谓的流式媒体技术。
曾经,我们为了在网上欣赏一段声音或者电影片段,需要等待漫长的下载过程。流式媒体技术的出现,给互联网带来勃勃生机,让我们在互联网上传输和播放声音、影像己经变得非常方便。简单地说,它采用边传边播放的思想,无需等到文件全部下载就可以欣赏其中的乐趣。
本系统可以实现很多的应用。例如可应用于下列场合:
互联网直播;网站视音频服务;宽带M视频点播;远程教学;远程单向视频会议;远程监控。
在本系统中主要包括下面这些部分:
节目源:节目源可以是录像机、VCD机、录音机或者是摄像机、电视台的影像节目。
数据捕获和编码:由MPEG1压缩卡组成,安装在一台PC机编码工作站上,负责把实时视频信号数字化成MPEG1格式,送到Apache服务器一上,同时以文件的形式存放到服务器上。
实时服务器:实时视频服务器采用的是Apache服务器加上实时视频服务模块:Apache服务器是因特网上主流的服务器,上面已经有了很多成熟的技术了,对于系统其他功能的扩充如用户管理等就很方便了,使本系统具有了很大的优势。
视频分流服务器:视频分流服务器采用的是Apache服务器加上分流器模块。分流技术是用来在服务器之间传输直播数据的一种技术。它降低了对服务器性能的要求,对网络的负担,提高了系统的整体性能,大大的提高了系统所能驱动的客户端的数量。
客户:客户使用普通的多媒体PC机,通过拨号或者专线入网,可以通过WWW浏览方式,查询并点播本系统提供的视频服务。在系统中客户端只需要浏览器如IE就够了,不需要安装其它软件,就可以浏览到实时的视频信息,大大的方便了客户端的使用,特别对电脑不太熟悉的用户来说特别方便。
在整个系统中采用了分流技术(Splitting),分流技术是用来在服务器之间传输直播数据的。使得客户端可以就近访问视频服务器,获得更好的访问质量。分流技术在整个系统中起到很重要的作用,它使整个系统大大的提高了整体的性能,大人的提岛了系统所能NX动的客户端的数量,在没有分流技术的情况下,所有的客户端都连接到同一个视频服务器上,因此对服务器的性能的要求很高,对服务器的负担很重:在采用了分流技术之后,系统共有了分布式处理的功能,户端可以就近访问视频服务器,不必都集中在个服务器上,人人的减轻了视频服务器的负担,对服务器的性能的要求也可以相对的降低一点。
在采分流技术中,比较重要的是要保证从系统中的住何一个服务器得到的视频数据都要是实时的:在各个服务器之间它们是级连的关系,下一级的视频服务器从上一级的视频服务器中取得实时视频数据,在本地保留一份数据传给下一级的视频服务器和连接到它上的客户。端。各个视频服务器之间采用级连的结构,保证每个个服务器都保留着最新的实时数据。每个客户端不管连接到哪个服务器都能得到同样最新的数据,因此客户端连接到离自己最近的视频服务器上。不必将所有的连接请求都集中到一个服务器身上。降低了对服务器性能的要求。对网络的负担,提高了系统的整体性能。
5。客户端的技术
实时视频数据的接收工作主要是通过Windows的MediaPlayer技术实现的。我们一个Windows的媒体播放器,输入地址:http:127。0。0。1realtime就可以接收到实时视频数据:虽然上面两种方法均能完成流信息的播放,但不足之处是播放是在独立的窗口中进行的。幸运的是MediaPlayer是一个标准的ActiveX控件,我们可以将它作为一个对象直接嵌入到HTML页中去,这样就可以在Web页中直接用Player对象来播放流节目。在Web页中启之入MediaPlayer的方法比较简单。,只要用HTML中的
皮鞋进水湿透了怎么办对于成熟男士来说,一双好皮鞋是必须要有的,而且皮鞋本身也是比较百搭的,可休闲可正式。皮鞋是皮革制成的,所以日常穿着需要特别注意保养,尽量不要在雨水天气穿,如果皮鞋进水了要尽快处……
数学课何时开儿童说了算从2015年秋季起,赤壁市正扬小学做了一次挑战性尝试:对小学课程优化,一、二年级不开数学课,学生从三年级起上数学课,用4年时间学完6年制小学数学内容。赤壁这所学校的实验班,不仅……
言传身教胜一切教育不要对孩子随便说说据美国《赫芬顿邮报》报道,湖南卫视年度大作《爸爸去哪儿》的热播掀起了一股亲子旋风,明星在镜头前与自己孩子的互动展现出不为人知的一面,让观众们眼前一亮。据说该剧的播出为年轻夫妻抚……
年清明全国都下雨吗清明节是中国的传统节日之一,由于每每这时人们都有三天假期,因而大部分人都有出行计划、什么上坟祭祖的、回家探亲的、出门旅游的等等,正是这样所以大家对于清明节的天气都尤为关注,下面……
国内大滑翔胜地跟着小编的步伐了解八大滑翔圣地操作方法01:hr一、北京蟒山滑翔专业基地鸟瞰古城皇陵。北京是中国境内滑翔伞运动比较发达的地区,伞友众多,也因此在北京周边开发了许多适……
怎么给家里挑选一款优质安全的门锁在给家里进行装修的时候,除了美观以外,还要特别注意安全的性能,这种情况下给家里挑选一款质优安全的门锁就非常重要了,好的门锁不仅可以保护财产安全,还可以保护人身安全。接下来就给大……
电子游戏的好处你知道aclasstaghrefwiki10343dZgZvwUjxQWeJMk。html电子游戏a有哪些好处吗?一起来看看吧。操作方法01:hr如果你打的是需要用……
如何彻底清除流氓软件快压今天小编要和aclasstaghrefwiki10790IF35ZKy83。html大家a分享的是如何彻底清除流氓软件(快压),希望能够帮助到大家。操作方法01:h……
高德地图红包回家大作战工具材料aclasstaghrefwiki10823I4FHyrb。html高德a地图操作方法01:hr打开高德地图,界面上出现红包的标志,点击即可进入。……
怎么把手机设置成空号如果不想接听别人的aclasstaghrefwiki10469IHtPgav13。html电话a,可以把手机设置成空号,那手机怎么设置成空号呢?下面我来演示一下吧。操作方……
高铁可以上车补票吗随着社会的发展,我国经济实力的提高。高铁、动车等便于出行的交通方式越来越多。高速铁路,就是铁路设计速度高、能让火车高速运行的铁路系统。那么你们知道高铁可以上车补票吗?操作……
磕泡泡啥意思01hr磕泡泡又叫磕炮,源自东北方言唠嗑。该词指的是双方通过语音方式挑逗达到释放性需要的目的,包括聊和性有关的内容、发娇喘语音等。磕泡泡是什么意思磕泡泡又叫磕炮,源……
拼搏的人生才有意义运动场是每位同学展现自己的地方,也是震撼心灵的地方。记得那时我才一年级的时候,学校举办了一场运动会。那时,我们班主任挑了几个在我们班跑步比较快的同学去参加比赛。当然啦,也……
我的拿手好戏池塘边的小路上,知了在声声叫着夏天一支《童年》的曲声和着我的歌声,又一次飘向窗外。每当我写完作业,都会抱着我的尤克里里忘情地弹奏,爸爸就会打趣道:大音乐家又要开音乐会喽,……
读你要说世界上对你最好的人,一是你的亲生父母,其二,就是你的老师了。而作为子女、学生的我们,却有时读不懂老师,家长们的心,而经历了那件事后,我终于读懂了老师的心。今天你来管这……
争做孝顺好儿女中国有句老话,叫百善孝为先。这里说的孝,就是孝顺。孝顺在字典上的解释是尽心奉养父母,顺从父母的意愿。在生活中,孝顺可以是点点滴滴的琐事、是持之以恒的照顾、是默默无声的牵挂。孝顺……
弟子规读书心得字弟子规读书心得600字《弟子规》是国学经典的一部分。下面是最读网小编给大家整理的弟子规读书心得600字,供大家参阅!弟子规读书心得600字篇1《弟子规》是儒家……
我愿做你肩上的一只蝶请君记得,我是你的,肩上一只蝶。只想在你身上,多停留片刻。请不要,不要将我轻轻,挥落。向来不会打理花花草草的我,煞费苦心种下的玫瑰日渐枯萎凋零,而你在我心中播下了爱的种子……
喝水有学问喝什么水最好(1)普通水:井水(泉水)。含有多种矿物质等多种营养元素,比较纯净、卫生,可以饮用。但某些井水由于周围环境被污染而受污染,还有些井水中的某些矿物质,如钙等含量过高,也可影响健康……
空腹喝牛奶的害处有哪些牛奶是一种营养价值非常高的食物,在生活中,大家都非常喜欢在早晨的时候喝牛奶,搭配一些营养早餐吃。不过,一些人因为没有养成良好的饮食习惯,所以会选择在早晨或者是其他时间段空腹的时……
汤泼雪群推荐香囊配方避瘟散汤泼雪群推荐香囊配方:《避瘟散》好奇心曰:遵照祖师爷遇瘟疫定公开配方的祖训,公布配方《避瘟散》,这个是中药香囊配方,去当地药店购买,最好让药店把药粉碎,装入小袋中,……
长寿的重点不是睡觉也不是运动长寿秘诀终于找到了很多人梦想自己能够长寿,但是长寿究竟有什么秘诀呢?医生说,那么梦想着依靠什么药物,保健品,小偏方就能长寿的人,其实是不可能的。下面和360常识网一起来看看吧。在现在的生活……
八珍汤气血双补的做法是什么很多女性朋友在月经期间经常容易出现腹痛的情况,还可能会给我们自身带来内分泌失调的情况,会流失大量的血液,这时候喝一些八珍汤可以有效地帮助我们达到一个调理气血的效果,帮助我们改善……
纯牛奶过期能干什么呢纯牛奶的保质期是非常短的,一般来说只有一个月,过了保质期就不能再使用,否则对于我们身体会产生伤害,这一点一定要引起,我们每个人的关注,当然纯牛奶,也并不是完全没有利用价值的,可……