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—VS2010/VS2013 下live555编译、使用及测试(转载)

    Ⅰ live555简介 Live555 是一个为流媒体提供解决方案的跨平台的C++开源项目,它实现了对标准流媒体传输协议如RTP/RTCP.RTSP.SIP等 的支持.Live555实现了对多种音视频 ...

  2. 40 网络相关函数(八)——live555源码阅读(四)网络

    40 网络相关函数(八)——live555源码阅读(四)网络 40 网络相关函数(八)——live555源码阅读(四)网络 简介 15)writeSocket向套接口写数据 TTL的概念 函数send ...

  3. 39 网络相关函数(七)——live555源码阅读(四)网络

    39 网络相关函数(七)——live555源码阅读(四)网络 39 网络相关函数(七)——live555源码阅读(四)网络 简介 14)readSocket从套接口读取数据 recv/recvfrom ...

  4. 38 网络相关函数(六)——live555源码阅读(四)网络

    38 网络相关函数(六)——live555源码阅读(四)网络 38 网络相关函数(六)——live555源码阅读(四)网络 简介 12)makeSocketNonBlocking和makeSocket ...

  5. 37 网络相关函数(五)——live555源码阅读(四)网络

    37 网络相关函数(五)——live555源码阅读(四)网络 37 网络相关函数(五)——live555源码阅读(四)网络 简介 10)MAKE_SOCKADDR_IN构建sockaddr_in结构体 ...

  6. 36 网络相关函数(四)——live555源码阅读(四)网络

    36 网络相关函数(四)——live555源码阅读(四)网络 36 网络相关函数(四)——live555源码阅读(四)网络 简介 7)createSocket创建socket方法 8)closeSoc ...

  7. 35 网络相关函数(三)——live555源码阅读(四)网络

    35 网络相关函数(三)——live555源码阅读(四)网络 35 网络相关函数(三)——live555源码阅读(四)网络 简介 5)NoReuse不重用地址类 6)initializeWinsock ...

  8. 34 网络相关函数(二)——live555源码阅读(四)网络

    34 网络相关函数(二)——live555源码阅读(四)网络 34 网络相关函数(二)——live555源码阅读(四)网络 2)socketErr 套接口错误 3)groupsockPriv函数 4) ...

  9. 33 网络相关函数(一)——live555源码阅读(四)网络

    33 网络相关函数(一)——live555源码阅读(四)网络 33 网络相关函数(一)——live555源码阅读(四)网络 简介 1)IsMulticastAddress多播(组播)地址判断函数 多播 ...

随机推荐

  1. word 转 pdf,c#代码

    通过使用 C# 控制 office 软件 com 组件转 pdf 1 word 转 pdf 方案二:可以使用 netoffice 进行转换 参考文档:https://netoffice.io/docu ...

  2. Python3基础 yield 在无返回值的函数中的简单示例

             Python : 3.7.3          OS : Ubuntu 18.04.2 LTS         IDE : pycharm-community-2019.1.3    ...

  3. 数据分析入门——pandas之DataFrame数据丢失

    一.数据丢失分类 1)nd中分为两种:None和np.nan(NaN) 其中,None是python中的对象,是一个object:而nan是一个float类型 两种不同的类型,运算速度也是不同的 2) ...

  4. 查询、下载GWAS目录数据的R包(gwasrapidd)

    目前GWAS方向发了很多文献,但是并没有一个很完善的R包对这些文献的数据进行汇总. 接下来推荐的这个是最新发表的GWAS数据汇总R包​.看了一下功能齐全,但是数据不是收录的很齐全​. 下面具体讲一下. ...

  5. [LeetCode] 689. Maximum Sum of 3 Non-Overlapping Subarrays 三个非重叠子数组的最大和

    In a given array nums of positive integers, find three non-overlapping subarrays with maximum sum. E ...

  6. 错误:net::ERR_BLOCKED_BY_CLIENT

    提示net::ERR_BLOCKED_BY_CLIENT错误 解决办法: 当我们查看浏览器第三方插件的时候,就会看到插件中存在“广告过滤插件”,其实,报错的原因就是第三方广告过滤插件在捣鬼, 当你关闭 ...

  7. 【C/C++开发】TinyXml操作(含源码下载)

    前言 TinyXML是一个开源的解析XML的解析库,能够用于C++,能够在Windows或Linux中编译,使用TinyXML进行C++ XML解析,使用简单,容易上手. 这个解析库的模型通过解析XM ...

  8. 【Luogu P2765】魔术球问题

    Luogu P2765 一开始看到这道题完全想不到怎么做,绞尽脑汁也想不到怎么去构造这个网络流模型. 于是查看了多篇题解--学习了多篇题解的讲解,终于找到了思路. 本文参考了洛谷 这一道题的题意并不难 ...

  9. java-统计一段句子中各单词出现的次数

    问题:统计一段句子中各单词出现的次数. 思路: 1.使用split方法将文章进行分割,我们这里以空格.逗号和句点为分隔符,然后存到一个字符串数组中. 2.创建一个hashMap集合,key是字符串类型 ...

  10. 将本机电脑作为自己的网站服务器--基于XAMPP在本地建立wordPress网站

    "我不敢说自己从未担心害怕过. 实际上我希望少一点担心害怕,因为它让我分心,让我的神经系统备受煎熬".----马斯克 周日,搞了大半天,为了熟悉wordPress,先在自己的电脑上 ...