Live555 是一个为流媒体提供解决方案的跨平台的C++开源项目,它实现了对标准流媒体传输协议如RTP/RTCP、RTSP、SIP等的支持。Live555实现了对多种音视频编码格式的音视频数据的流化、接收和处理等支持,包括MPEG、H.263+、DV、JPEG视频和多种音频编码。同时由于良好的设计,Live555非常容易扩展对其他格式的支持。目前,Live555已经被用于多款播放器的流媒体播放功能的实现,如VLC(VideoLan)、MPlayer。下面介绍Live555的基本使用方法。

编译

编译方法:

./genMakefiles <os-platform>

如在Linux 下解压Live555后进入目录:

#./genMakefiles linux

#Make

使用

1)进入mediaServer目录启动服务器:

[root@localhost mediaServer]# cd mediaServer]

[root@localhost mediaServer]# ./live555MediaServer

LIVE555 Media Server

version 0.5 (LIVE555 Streaming Media library version 2010.07.29).

Play streams from this server using the URL

rtsp://192.168.1.120/<filename>

where <filename> is a file present in the current directory.

Each file's type is inferred from its name suffix:

".aac" => an AAC Audio (ADTS format) file

".amr" => an AMR Audio file

".m4e" => a MPEG-4 Video Elementary Stream file

".dv" => a DV Video file

".mp3" => a MPEG-1 or 2 Audio file

".mpg" => a MPEG-1 or 2 Program Stream (audio+video) file

".ts" => a MPEG Transport Stream file

(a ".tsx" index file - if present - provides server 'trick play' support)

".wav" => a WAV Audio file

See http://www.live555.com/mediaServer/ for additional documentation.

2)进入testProgs使用客户端工具播放mp3

[root@localhost testProgs]# ./openRTSP rtsp://192.168.1.120/1.mp3

Opening connection to 192.168.1.120, port 554...

...remote connection opened

Sending request: OPTIONS rtsp://192.168.1.120/1.mp3 RTSP/1.0

CSeq: 2

User-Agent: ./openRTSP (LIVE555 Streaming Media v2010.07.29)

Received 152 new bytes of response data.

Received a complete OPTIONS response:

RTSP/1.0 200 OK

CSeq: 2

Date: Sun, Aug 01 2010 05:17:32 GMT

Public: OPTIONS, DESCRIBE, SETUP, TEARDOWN, PLAY, PAUSE, GET_PARAMETER, SET_PARAMETER

Sending request: DESCRIBE rtsp://192.168.1.120/1.mp3 RTSP/1.0

CSeq: 3

User-Agent: ./openRTSP (LIVE555 Streaming Media v2010.07.29)

Accept: application/sdp

Received 547 new bytes of response data.

Received a complete DESCRIBE response:

RTSP/1.0 200 OK

CSeq: 3

Date: Sun, Aug 01 2010 05:17:32 GMT

Content-Base: rtsp://192.168.1.120/1.mp3/

Content-Type: application/sdp

Content-Length: 387

v=0

o=- 1280639653739259 1 IN IP4 192.168.1.120

s=MPEG-1 or 2 Audio, streamed by the LIVE555 Media Server

i=1.mp3

t=0 0

a=tool:LIVE555 Streaming Media v2010.07.29

a=type:broadcast

a=control:*

a=range:npt=0-219.555

a=x-qt-text-nam:MPEG-1 or 2 Audio, streamed by the LIVE555 Media Server

a=x-qt-text-inf:1.mp3

m=audio 0 RTP/AVP 14

c=IN IP4 0.0.0.0

b=AS:128

a=control:track1

Opened URL "rtsp://192.168.1.120/1.mp3", returning a SDP description:

v=0

o=- 1280639653739259 1 IN IP4 192.168.1.120

s=MPEG-1 or 2 Audio, streamed by the LIVE555 Media Server

i=1.mp3

t=0 0

a=tool:LIVE555 Streaming Media v2010.07.29

a=type:broadcast

a=control:*

a=range:npt=0-219.555

a=x-qt-text-nam:MPEG-1 or 2 Audio, streamed by the LIVE555 Media Server

a=x-qt-text-inf:1.mp3

m=audio 0 RTP/AVP 14

c=IN IP4 0.0.0.0

b=AS:128

a=control:track1

Created receiver for "audio/MPA" subsession (client ports 32772-32773)

Sending request: SETUP rtsp://192.168.1.120/1.mp3/track1 RTSP/1.0

CSeq: 4

User-Agent: ./openRTSP (LIVE555 Streaming Media v2010.07.29)

Transport: RTP/AVP;unicast;client_port=32772-32773

Received 205 new bytes of response data.

Received a complete SETUP response:

RTSP/1.0 200 OK

CSeq: 4

Date: Sun, Aug 01 2010 05:17:32 GMT

Transport: RTP/AVP;unicast;destination=192.168.1.120;source=192.168.1.120;client_port=32772-32773;server_port=6970-6971

Session: 624DAEF4

Setup "audio/MPA" subsession (client ports 32772-32773)

Created output file: "audio-MPA-1"

Sending request: PLAY rtsp://192.168.1.120/1.mp3/ RTSP/1.0

CSeq: 5

User-Agent: ./openRTSP (LIVE555 Streaming Media v2010.07.29)

Session: 624DAEF4

Range: npt=0.000-219.555

Received 188 new bytes of response data.

Received a complete PLAY response:

RTSP/1.0 200 OK

CSeq: 5

Date: Sun, Aug 01 2010 05:17:33 GMT

Range: npt=0.000-219.555

Session: 624DAEF4

RTP-Info: url=rtsp://192.168.1.120/1.mp3/track1;seq=38835;rtptime=1769974566

Started playing session

Receiving streamed data (for up to 224.555000 seconds)...

Sending request: TEARDOWN rtsp://192.168.1.120/1.mp3/ RTSP/1.0

CSeq: 6

User-Agent: ./openRTSP (LIVE555 Streaming Media v2010.07.29)

Session: 624DAEF4

Received 65 new bytes of response data.

Received a complete TEARDOWN response:

RTSP/1.0 200 OK

CSeq: 6

Date: Sun, Aug 01 2010 05:21:17 GMT

live555的使用相关推荐

  1. live555学习笔记2-基础类

    二 基础类 讲几个重要的基础类: BasicUsageEnvironment和UsageEnvironment中的类都是用于整个系统的基础功能类.比如UsageEnvironment代表了整个系统运行 ...

  2. 海思3559A上编译LIVE555源码操作步骤

    1. 从http://www.live555.com/liveMedia/public/ 下载live.2019.06.28.tar.gz,并解压缩: 2. 生成静态库,拷贝一份config.arml ...

  3. LIVE555中RTSP客户端接收媒体流分析及测试代码

    LIVE555中testProgs目录下的testRTSPClient.cpp代码用于测试接收RTSP URL指定的媒体流,向服务器端发送的命令包括:DESCRIBE.SETUP.PLAY.TERAD ...

  4. LIVE555简介及在Windows上通过VS2013编译操作步骤

    LIVE555是使用开放标准协议(RTP/RTCP, RTSP, SIP)形成的一组用于多媒体流C++库.这些库支持的平台包括Unix(包括Linux和Mac OS X).Windows和QNX(以及 ...

  5. 【Live555】live555源码详解(九):ServerMediaSession、ServerMediaSubsession、live555MediaServer

    [Live555]live555源码详解系列笔记 继承协作关系图 下面红色表示本博客将要介绍的三个类所在的位置: ServerMediaSession.ServerMediaSubsession.Dy ...

  6. 【Live555】live555源码详解系列笔记

    [Live555]liveMedia下载.配置.编译.安装.基本概念 [Live555]live555源码详解(一):BasicUsageEnvironment.UsageEnvironment [L ...

  7. 【Live555】live555源码详解(八):testRTSPClient

    [Live555]live555源码详解系列笔记 继承协作关系图 下面红色表示本博客将要介绍的testRTSPClient实现的三个类所在的位置: ourRTSPClient.StreamClient ...

  8. 【Live555】live555源码详解(七):GenericMediaServer、RTSPServer、RTSPClient

    [Live555]live555源码详解系列笔记 继承协作关系图 下面红色表示本博客将要介绍的三个类所在的位置: GenericMediaServer.RTSPServer.RTSPClient 14 ...

  9. 【Live555】live555源码详解(六):FramedSource、RTPSource、RTPSink

    [Live555]live555源码详解系列笔记 继承协作关系图 下面红色表示本博客将要介绍的三个类所在的位置: FramedSource.RTPSource.RTPSink 11.FramedSou ...

  10. 【Live555】live555源码详解(五):MediaSource、MediaSink、MediaSession、MediaSubsession

    [Live555]live555源码详解系列笔记 继承协作关系图 下面红色表示本博客将要介绍的四个类所在的位置: MediaSource.MediaSink.MediaSession.MediaSub ...

最新文章

  1. objective-C 中使用@Class和 #import区别
  2. 使用HMTL5 API监控前端性能
  3. python 石头剪刀布,Python石头剪刀布完整代码
  4. 富文本编辑器 java_HtmlBox富文本编辑器的使用
  5. 【记录】我在浙江省机器人大赛的第一天
  6. ole db 访问接口 sqlncli 无法启动分布式事务_分布式事务,看这篇就够了
  7. 2022年全球差旅费管理系统行业分析报告
  8. 华为HCIP认证考试简介
  9. 最大流的Ford-Fulkerson 标号法
  10. Win7安全模式启动卡在Classpnp.sys
  11. 基于STM32F103的直流电机调速系统
  12. php++内购续期订阅,appstore:内购项目之自动续期订阅
  13. 软件测试面试题:你的测试职业发展是什么?
  14. html移动端注册流程,登录和注册移动端.html
  15. 苹果xr截屏怎么截_原来苹果手机可实现长截屏!学到了,以后不用羡慕别人手机了...
  16. 寻找《幸福派》和《不文集》
  17. R语言ggplot画世界地图并根据条件给国家上色
  18. 阿里妈妈站长全国群英会SEO演讲PPT下载
  19. 信息学奥赛一本通 2036:【例5.3】开关门
  20. 关于B2C电子商务顾客忠诚度影响因素的问卷调查

热门文章

  1. 基于PLC S-200 3×4 12车位立体车库组态王设计。 可实现12车位自由存取车
  2. 杰里之测试盒使用说明篇
  3. 8种方案,保证缓存和数据库的最终一致性
  4. 【无标题】一些比较好的书桌和书架设计
  5. 全国大学生软件测试大赛【嵌入式测试个人赛】【练习题分析】
  6. 三星笔记本安装ubuntu10.04解决背景亮度不能调节问题
  7. MQ消息中间件技术浅析
  8. WM有约(三):下一次是什么时候?
  9. 台式计算机的配置清单表格,台式电脑配置清单60种.doc
  10. 没有显卡怎么使用anaconda配置tensorflow深度学习环境