📄 linux下的实时流媒体编程.html
字号:
<html xmlns:fo="http://www.w3.org/1999/XSL/Format"><head><title>Linux下的实时流媒体编程</title><meta name="TITLE" content="Linux下的实时流媒体编程"><meta name="zone" content="Linux"><!-- Linux--><meta name="KEYWORDS" content="Linux, 实时流媒体编程"><meta name="ABSTRACT" content="流媒体指的是在网络中使用流技术传输的连续时基媒体,其特点是在播放前不需要下载整个文件,而是采用边下载边播放的方式,它是视频会议、IP电话等应用场合的技术基础。RTP是进行实时流媒体传输的标准协议和关键技术,本文介绍如何在Linux下利用JRTPLIB进行实时流媒体编程。"><meta name="DESCRIPTION" content="流媒体指的是在网络中使用流技术传输的连续时基媒体,其特点是在播放前不需要下载整个文件,而是采用边下载边播放的方式,它是视频会议、IP电话等应用场合的技术基础。RTP是进行实时流媒体传输的标准协议和关键技术,本文介绍如何在Linux下利用JRTPLIB进行实时流媒体编程。"><meta name="DC.DATE" scheme="iso8601" content="2004-1-13"><meta name="LASTUPDATE" content="2004-1-13"><!--- common meta part for all zones --><meta http-equiv="Content-Type" content="text/html; charset=gb2312"><meta name="dWCategory" content="papers_html"><meta name="OWNER" content="/developerWorks/cn/cncontent.nsf/cn_dW_feedback"><meta name="source" content="V11"><meta name="charset" content="GB2312"><meta name="DC.LANGUAGE" scheme="rfc1766" content="zh-cn"><meta name="IBM.COUNTRY" content="cn"><meta name="SECURITY" content="Public"><meta name="FORMAT" content="text/xhtml"><meta name="COPYRIGHT" content="Copyright (c) 2002 by IBM Corporation"><meta name="ROBOTS" content="index,follow"><meta name="DOCUMENTCOUNTRYCODE" value="cn"><meta name="DOCUMENTLANGUAGECODE" value="zh"><meta http-equiv="PICS-Label" content="(PICS-1.1 "http://www.rsac.org/ratingsv01.html" l gen true comment "RSACi North America Server" by "webmaster@mail.software.ibm.com" for "http://www.ibm.com/software" on "1997.08.13T17:59-0800" r (n 0 s 0 v 0 l 0))"><meta http-equiv="Expires" content="0"><script language="JavaScript" src="Linux%E4%B8%8B%E7%9A%84%E5%AE%9E%E6%97%B6%E6%B5%81%E5%AA%92%E4%BD%93%E7%BC%96%E7%A8%8B_files/style.js" type="text/javascript"></script><link rel="stylesheet" href="Linux%E4%B8%8B%E7%9A%84%E5%AE%9E%E6%97%B6%E6%B5%81%E5%AA%92%E4%BD%93%E7%BC%96%E7%A8%8B_files/ln1.css" type="text/css"><script language="JavaScript" src="Linux%E4%B8%8B%E7%9A%84%E5%AE%9E%E6%97%B6%E6%B5%81%E5%AA%92%E4%BD%93%E7%BC%96%E7%A8%8B_files/spinbox.js" type="text/javascript"></script></head><body leftmargin="2" topmargin="2" bgcolor="#ffffff" marginheight="2" marginwidth="2"><!-- MASTHEAD--><a id="main" name="main"></a><table border="0" cellpadding="0" cellspacing="0" width="100%"> <tbody><tr><td class="tbgc" width="160"><a href="http://www-900.ibm.com/developerWorks/cn/cgi-bin/click.cgi?url=www.ibm.com/cn/&origin=dwheader"><img src="Linux%E4%B8%8B%E7%9A%84%E5%AE%9E%E6%97%B6%E6%B5%81%E5%AA%92%E4%BD%93%E7%BC%96%E7%A8%8B_files/ibm-logo.gif" alt="IBM" border="0" height="47" width="160"></a></td><td class="tbg" width="70"><font color="#99ccff" size="2"><b>China</b></font><a href="#main"><img src="Linux%E4%B8%8B%E7%9A%84%E5%AE%9E%E6%97%B6%E6%B5%81%E5%AA%92%E4%BD%93%E7%BC%96%E7%A8%8B_files/c.gif" alt="Skip to main content" border="0" height="1" width="70"></a></td><td class="tbgc" align="right" valign="top" width="100%"><input name="searchType" value="1" type="hidden"> <input value="dWChina" name="searchSite" type="hidden"> <input value="zh" name="pageLang" type="hidden"> <input value="gb2312" name="langEncoding" type="hidden"> <table border="0" cellpadding="0" cellspacing="0"> <form method="get" action="http://www-128.ibm.com/developerworks/search/searchResults.jsp" id="form1" name="form1"></form> <tbody><tr><td colspan="7"><img src="Linux%E4%B8%8B%E7%9A%84%E5%AE%9E%E6%97%B6%E6%B5%81%E5%AA%92%E4%BD%93%E7%BC%96%E7%A8%8B_files/c.gif" alt="" border="0" height="4" width="390"></td></tr><tr valign="middle"><td class="dwsearch"><nobr><font color="#ffffff"><b>搜索:</b></font></nobr> </td><td><input class="dwsearch" name="query" size="23" maxlength="100" type="text"></td><td class="dwsearch" valign="middle"> <font color="#ffffff"><b>在</b></font> </td><td class="dwsearch"><select class="dwsearch2" name="searchScope"><option value="dW" selected="selected">dW 全部内容</option><option value="javaZ"> Java 技术</option><option value="linuxZ"> Linux</option><option value="opensrcZ"> 开放源码</option><option value="securityZ"> 安全</option><option value="webservZ"> Web 服务</option><option value="xmlZ"> XML</option><option value="dW">.................</option><option value="dmdd"> DB2</option><option value="wsdd"> WebSphere</option><option value="lotusdd"> Lotus 专题</option><option value="tivolidd"> Tivoli 专题</option><option value="dW">.................</option><option value="all">IBM 全部内容</option></select></td><td><img src="Linux%E4%B8%8B%E7%9A%84%E5%AE%9E%E6%97%B6%E6%B5%81%E5%AA%92%E4%BD%93%E7%BC%96%E7%A8%8B_files/c.gif" alt="" border="0" height="1" width="5"></td><td><input src="Linux%E4%B8%8B%E7%9A%84%E5%AE%9E%E6%97%B6%E6%B5%81%E5%AA%92%E4%BD%93%E7%BC%96%E7%A8%8B_files/search.gif" value="Search" name="Search" alt="Search button" border="0" height="23" type="image" width="64"></td><td valign="top"><img src="Linux%E4%B8%8B%E7%9A%84%E5%AE%9E%E6%97%B6%E6%B5%81%E5%AA%92%E4%BD%93%E7%BC%96%E7%A8%8B_files/c.gif" alt="" border="0" height="1" width="30"></td></tr><tr valign="top"><td> </td><td class="dwsearch"> <font color="#ffffff">只用 + - " " ( )</font></td><td> </td><td> </td><td> </td><td> </td><td> </td></tr> </tbody></table></td></tr><tr><td class="hbg" height="21" width="160"> </td><td colspan="2" class="bbg" height="21" valign="top"> <a class="mainlink" href="http://www-900.ibm.com/developerWorks/cn/cgi-bin/click.cgi?url=www-900.ibm.com/cn/&origin=dwhead">IBM 主页</a><span class="divider"> | </span><a class="mainlink" href="http://www-900.ibm.com/developerWorks/cn/cgi-bin/click.cgi?url=www-900.ibm.com/cn/products/index.shtml&origin=dwhead">产品与服务</a><span class="divider"> | </span><a class="mainlink" href="http://www-900.ibm.com/developerWorks/cn/cgi-bin/click.cgi?url=www-900.ibm.com/cn/support/index.shtml&origin=dwhead">支持与下载</a><span class="divider"> | </span><a class="mainlink" href="http://www-900.ibm.com/developerWorks/cn/cgi-bin/click.cgi?url=www-900.ibm.com/cn/account/index.shtml&origin=dwhead">个性化服务</a></td></tr></tbody></table><!-- Color Bar --><table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr class="hil"><td height="1" width="100%"><img src="Linux%E4%B8%8B%E7%9A%84%E5%AE%9E%E6%97%B6%E6%B5%81%E5%AA%92%E4%BD%93%E7%BC%96%E7%A8%8B_files/c.gif" alt="" height="1" width="592"></td></tr><tr class="dwr1"><td height="2" width="100%"><img src="Linux%E4%B8%8B%E7%9A%84%E5%AE%9E%E6%97%B6%E6%B5%81%E5%AA%92%E4%BD%93%E7%BC%96%E7%A8%8B_files/c.gif" alt="" height="2" width="592"></td></tr><tr class="dwg3"><td height="1" width="100%"><img src="Linux%E4%B8%8B%E7%9A%84%E5%AE%9E%E6%97%B6%E6%B5%81%E5%AA%92%E4%BD%93%E7%BC%96%E7%A8%8B_files/c.gif" alt="" height="1" width="592"></td></tr><tr class="bbg"><td height="1" width="100%"><img src="Linux%E4%B8%8B%E7%9A%84%E5%AE%9E%E6%97%B6%E6%B5%81%E5%AA%92%E4%BD%93%E7%BC%96%E7%A8%8B_files/c.gif" alt="" height="1" width="592"></td></tr><tr class="hil"><td height="1" width="100%"><img src="Linux%E4%B8%8B%E7%9A%84%E5%AE%9E%E6%97%B6%E6%B5%81%E5%AA%92%E4%BD%93%E7%BC%96%E7%A8%8B_files/c.gif" alt="" height="1" width="592"></td></tr></tbody></table><!-- Breadcrumb Trail --><table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr valign="top"><!-- RIGHT GUTTER --><td width="5"><img src="Linux%E4%B8%8B%E7%9A%84%E5%AE%9E%E6%97%B6%E6%B5%81%E5%AA%92%E4%BD%93%E7%BC%96%E7%A8%8B_files/c.gif" alt="" border="0" height="1" width="5"></td><td width="100%"><table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr valign="top"><td width="100%"><img src="Linux%E4%B8%8B%E7%9A%84%E5%AE%9E%E6%97%B6%E6%B5%81%E5%AA%92%E4%BD%93%E7%BC%96%E7%A8%8B_files/c.gif" alt="" border="0" height="4" width="2"><br><b><a href="http://www-900.ibm.com/developerWorks/cn/index.shtml">developerWorks 中国网站</a> : <a href="http://www-900.ibm.com/developerWorks/cn/linux/index.shtml">Linux</a> :<a href="http://www-900.ibm.com/developerWorks/cn/cnpapers.nsf/linux-papers-bynewest?OpenView&Count=500"> 所有的文章 </a> </b></td><td align="right" width="136"><a href="http://www-900.ibm.com/developerWorks/cn/index.shtml"><img src="Linux%E4%B8%8B%E7%9A%84%E5%AE%9E%E6%97%B6%E6%B5%81%E5%AA%92%E4%BD%93%E7%BC%96%E7%A8%8B_files/dwlogo-small.gif" alt="developerWorks 中国网站" border="0" height="24" width="136"></a></td><td width="5"><img src="Linux%E4%B8%8B%E7%9A%84%E5%AE%9E%E6%97%B6%E6%B5%81%E5%AA%92%E4%BD%93%E7%BC%96%E7%A8%8B_files/c.gif" alt="" border="0" height="1" width="5"></td></tr></tbody></table></td></tr></tbody></table><!-- End Breadcrumb Trail --><!-- Title Area--><table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr valign="top"><td colspan="5"><img alt="" src="Linux%E4%B8%8B%E7%9A%84%E5%AE%9E%E6%97%B6%E6%B5%81%E5%AA%92%E4%BD%93%E7%BC%96%E7%A8%8B_files/c.gif" border="0" height="15" width="5"></td></tr><tr valign="top"><!-- Title--><td width="2"><img alt="" src="Linux%E4%B8%8B%E7%9A%84%E5%AE%9E%E6%97%B6%E6%B5%81%E5%AA%92%E4%BD%93%E7%BC%96%E7%A8%8B_files/c.gif" border="0" height="1" width="2"></td><td><!-- <span class="astitle">[Series title]: </span>--><span class="atitle">Linux下的实时流媒体编程</span></td><td width="8"><img alt="" src="Linux%E4%B8%8B%E7%9A%84%E5%AE%9E%E6%97%B6%E6%B5%81%E5%AA%92%E4%BD%93%E7%BC%96%E7%A8%8B_files/c.gif" border="0" height="1" width="8"></td><td align="right" valign="bottom" width="180"></td><td width="6"><img alt="" src="Linux%E4%B8%8B%E7%9A%84%E5%AE%9E%E6%97%B6%E6%B5%81%E5%AA%92%E4%BD%93%E7%BC%96%E7%A8%8B_files/c.gif" border="0" height="1" width="6"></td></tr><!-- Black line separator--><tr valign="top"><td colspan="5" bgcolor="#000000"><img alt="" src="Linux%E4%B8%8B%E7%9A%84%E5%AE%9E%E6%97%B6%E6%B5%81%E5%AA%92%E4%BD%93%E7%BC%96%E7%A8%8B_files/c.gif" border="0" height="1" width="100"></td></tr><tr valign="top"><td colspan="5" bgcolor="#ffffff"><img alt="" src="Linux%E4%B8%8B%E7%9A%84%E5%AE%9E%E6%97%B6%E6%B5%81%E5%AA%92%E4%BD%93%E7%BC%96%E7%A8%8B_files/c.gif" border="0" height="8" width="100"></td></tr></tbody></table><!-- END HEADER AREA and START BODY AREA--><table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr valign="top"><!-- LEFT GUTTER--><td width="5"><img alt="" src="Linux%E4%B8%8B%E7%9A%84%E5%AE%9E%E6%97%B6%E6%B5%81%E5%AA%92%E4%BD%93%E7%BC%96%E7%A8%8B_files/c.gif" border="0" height="1" width="5"></td><!-- START CENTER COLUMN--><td width="100%"><table align="right" border="0" cellpadding="0" cellspacing="0" width="168"><tbody><tr><!-- Sidebar Gutter--><td width="8"><img alt="" src="Linux%E4%B8%8B%E7%9A%84%E5%AE%9E%E6%97%B6%E6%B5%81%E5%AA%92%E4%BD%93%E7%BC%96%E7%A8%8B_files/c.gif" height="21" width="5"></td><td width="160"><!-- Start TOC--><table border="0" cellpadding="0" cellspacing="0" width="160"><tbody><tr><td bgcolor="#000000" height="1" width="160"><img alt="" src="Linux%E4%B8%8B%E7%9A%84%E5%AE%9E%E6%97%B6%E6%B5%81%E5%AA%92%E4%BD%93%E7%BC%96%E7%A8%8B_files/c.gif" height="1" width="160"></td></tr><tr><td align="center" background="Linux%E4%B8%8B%E7%9A%84%E5%AE%9E%E6%97%B6%E6%B5%81%E5%AA%92%E4%BD%93%E7%BC%96%E7%A8%8B_files/bg-gold.gif" height="5"><b>内容:</b></td></tr><tr><td bgcolor="#666666" height="1" width="160"><img alt="" src="Linux%E4%B8%8B%E7%9A%84%E5%AE%9E%E6%97%B6%E6%B5%81%E5%AA%92%E4%BD%93%E7%BC%96%E7%A8%8B_files/c.gif" height="1" width="160"></td></tr><tr><td align="right"><table border="0" cellpadding="3" cellspacing="0" width="98%"><tbody><tr><td><a href="#0">一、流媒体简介</a></td></tr><tr><td><a href="#1">二、流媒体协议</a></td></tr><tr><td><a href="#2">三、流媒体编程</a></td></tr><tr><td><a href="#3">四、小结</a></td></tr><tr><td><a href="#4">五、参考资源</a></td></tr><tr><td><a href="#author1">关于作者</a></td></tr></tbody></table></td></tr></tbody></table><!-- End TOC--><!-- Start Related Content Area--><!--
<table border="0" cellpadding="0" cellspacing="0" width="160">
<tr><td bgcolor="#000000" height="1" width="160"><img alt="" height="1" src="/developerWorks/cn/i/c.gif" width="160" /></td></tr>
<tr><td align="center" background="/developerWorks/cn/i/bg-gold.gif" height="5"><b>相关内容:</b></td></tr>
<tr><td bgcolor="#666666" height="1" width="160"><img alt="" height="1" src="/developerWorks/cn/i/c.gif" width="160" /></td></tr>
<tr><td align="right">
<table border="0" cellpadding="3" cellspacing="0" width="98%">
<tr><td><a href="#1">介绍</a></td></tr>
<tr><td><a href="#1">介绍</a></td></tr></table></td></tr></table>
--><!-- End TOC--><!-- Start Related Content Area--><table border="0" cellpadding="0" cellspacing="0" width="160"><tbody><tr><td bgcolor="#000000" height="1" width="160"><img alt="" src="Linux%E4%B8%8B%E7%9A%84%E5%AE%9E%E6%97%B6%E6%B5%81%E5%AA%92%E4%BD%93%E7%BC%96%E7%A8%8B_files/c.gif" height="1" width="160"></td></tr><tr><td align="center" background="Linux%E4%B8%8B%E7%9A%84%E5%AE%9E%E6%97%B6%E6%B5%81%E5%AA%92%E4%BD%93%E7%BC%96%E7%A8%8B_files/bg-gold.gif" height="5"><a class="nav" href="http://www-900.ibm.com/developerWorks/cn/linux/index.shtml"><b>在 Linux 专区还有:</b></a></td></tr><tr><td bgcolor="#666666" height="1" width="160"><img alt="" src="Linux%E4%B8%8B%E7%9A%84%E5%AE%9E%E6%97%B6%E6%B5%81%E5%AA%92%E4%BD%93%E7%BC%96%E7%A8%8B_files/c.gif" height="1" width="160"></td></tr><tr><td align="right"><table border="0" cellpadding="3" cellspacing="0" width="98%"><tbody><tr><td><a href="http://www-900.ibm.com/developerWorks/cn/cnedu.nsf/linux-onlinecourse-bytitle?OpenView&Count=500">教程</a></td></tr><tr><td><a href="http://www-900.ibm.com/developerWorks/cn/cgi-bin/click.cgi?url=http://www-106.ibm.com/developerworks/views/linux/tools.jsp&origin=l">工具与产品</a></td></tr><tr><td><a href="http://www-900.ibm.com/developerWorks/cn/cgi-bin/click.cgi?url=http://www-106.ibm.com/developerworks/views/linux/code.jsp&origin=l">代码与组件</a></td></tr><tr><td><a href="http://www-900.ibm.com/developerWorks/cn/cgi-bin/click.cgi?url=http://www-106.ibm.com/developerworks/views/linux/projects.jsp&origin=l">项目</a></td></tr><tr><td><a href="http://www-900.ibm.com/developerWorks/cn/cnpapers.nsf/linux-papers-bynewest?OpenView&Count=500">文章</a></td></tr></tbody></table></td></tr></tbody></table><!-- End Related dW Content Area--><table border="0" cellpadding="0" cellspacing="0" width="160"><tbody><tr><td colspan="2" bgcolor="#000000" height="2" width="150"><img alt="" src="Linux%E4%B8%8B%E7%9A%84%E5%AE%9E%E6%97%B6%E6%B5%81%E5%AA%92%E4%BD%93%E7%BC%96%E7%A8%8B_files/c.gif" height="2" width="160"></td></tr><tr><td colspan="2" bgcolor="#ffffff" height="2" width="150"><img alt="" src="Linux%E4%B8%8B%E7%9A%84%E5%AE%9E%E6%97%B6%E6%B5%81%E5%AA%92%E4%BD%93%E7%BC%96%E7%A8%8B_files/c.gif" height="2" width="160"></td></tr></tbody></table><!-- END STANDARD SIDEBAR AREA--></td></tr></tbody></table><span class="atitle2"></span><!-- author info begin--><p><a href="#authorname">肖文鹏</a> (<a href="mailto:xiaowp@263.net">xiaowp@263.net</a>)<br>北京理工大学计算机系,硕士研究生<br> 2004 年 2 月</p><!-- author inof end--><blockquote>流媒体指的是在网络中使用流技术传输的连续时基媒体,其特点是在播放前不需要下载整个文件,而是采用边下载边播放的方式,它是视频会议、IP电话等应用场合的技术基础。RTP是进行实时流媒体传输的标准协议和关键技术,本文介绍如何在Linux下利用JRTPLIB进行实时流媒体编程。</blockquote><p><a name="0"><span class="atitle2">一、流媒体简介</span></a></p><p>随着Internet的日益普及,在网络上传输的数据已经不再局限于文字和图形,而是逐渐向声音和视频等多媒体格式过渡。目前在网络上传输音频/视频(Audio/Video,简称A/V)等多媒体文件时,基本上只有下载和流式传输两种选择。通常说来,A/V文件占据的存储空间都比较大,在带宽受限的网络环境中下载可能要耗费数分钟甚至数小时,所以这种处理方法的延迟很大。如果换用流式传输的话,声音、影像、动画等多媒体文件将由专门的流媒体服务器负责向用户连续、实时地发送,这样用户可以不必等到整个文件全部下载完毕,而只需要经过几秒钟的启动延时就可以了,当这些多媒体数据在客户机上播放时,文件的剩余部分将继续从流媒体服务器下载。</p>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -