live555的使用(转载)
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的使用(转载)的更多相关文章
- live555—VS2010/VS2013 下live555编译、使用及测试(转载)
Ⅰ live555简介 Live555 是一个为流媒体提供解决方案的跨平台的C++开源项目,它实现了对标准流媒体传输协议如RTP/RTCP.RTSP.SIP等 的支持.Live555实现了对多种音视频 ...
- 40 网络相关函数(八)——live555源码阅读(四)网络
40 网络相关函数(八)——live555源码阅读(四)网络 40 网络相关函数(八)——live555源码阅读(四)网络 简介 15)writeSocket向套接口写数据 TTL的概念 函数send ...
- 39 网络相关函数(七)——live555源码阅读(四)网络
39 网络相关函数(七)——live555源码阅读(四)网络 39 网络相关函数(七)——live555源码阅读(四)网络 简介 14)readSocket从套接口读取数据 recv/recvfrom ...
- 38 网络相关函数(六)——live555源码阅读(四)网络
38 网络相关函数(六)——live555源码阅读(四)网络 38 网络相关函数(六)——live555源码阅读(四)网络 简介 12)makeSocketNonBlocking和makeSocket ...
- 37 网络相关函数(五)——live555源码阅读(四)网络
37 网络相关函数(五)——live555源码阅读(四)网络 37 网络相关函数(五)——live555源码阅读(四)网络 简介 10)MAKE_SOCKADDR_IN构建sockaddr_in结构体 ...
- 36 网络相关函数(四)——live555源码阅读(四)网络
36 网络相关函数(四)——live555源码阅读(四)网络 36 网络相关函数(四)——live555源码阅读(四)网络 简介 7)createSocket创建socket方法 8)closeSoc ...
- 35 网络相关函数(三)——live555源码阅读(四)网络
35 网络相关函数(三)——live555源码阅读(四)网络 35 网络相关函数(三)——live555源码阅读(四)网络 简介 5)NoReuse不重用地址类 6)initializeWinsock ...
- 34 网络相关函数(二)——live555源码阅读(四)网络
34 网络相关函数(二)——live555源码阅读(四)网络 34 网络相关函数(二)——live555源码阅读(四)网络 2)socketErr 套接口错误 3)groupsockPriv函数 4) ...
- 33 网络相关函数(一)——live555源码阅读(四)网络
33 网络相关函数(一)——live555源码阅读(四)网络 33 网络相关函数(一)——live555源码阅读(四)网络 简介 1)IsMulticastAddress多播(组播)地址判断函数 多播 ...
随机推荐
- MySQL实现按天分组统计,提供完整日期列表,无数据自动补0
业务需求最近要在系统中加个统计功能,要求是按指定日期范围里按天分组统计数据量,并且要能够查看该时间段内每天的数据量. 解决思路直接按数据表日期字段group by统计,发现如果某天没数据,该日期是不出 ...
- Mysql的utf8与utf8mb4区别,utf8mb4_bin、utf8mb4_general_ci、utf8mb4_unicode_ci区别
UTF-8是使用1~4个字节,一种变长的编码格式,字符编码.mb4即 most bytes 4,使用4个字节来表示完整的UTF-8. mysql的 utf8 编码最大字符长度为 3 字节,如果遇到 4 ...
- 012 spring retry重试原理的解析
有点复杂,在后续的章节,将会对其中涉及到的知识点,再分章节进行说明. 1.程序结构 2.@Retryable package com.jun.web.annotation.theory; import ...
- Oracle系列一 SQL语句基本概念和学习准备
DML: Data Manipulation Language 数据操纵语言DDL: Data Definition Language 数据定义语言DCL: Data Control Langua ...
- C++11:基于std::queue和std::mutex构建一个线程安全的队列
C++11:基于std::queue和std::mutex构建一个线程安全的队列 C++中的模板std::queue提供了一个队列容器,但这个容器并不是线程安全的,如果在多线程环境下使用队列,它是不能 ...
- matlab学习笔记4--导入和导出电子数据表
一起来学matlab-matlab学习笔记4 数据导入和导出_3 导入和导出电子数据表 觉得有用的话,欢迎一起讨论相互学习~Follow Me 参考书籍 <matlab 程序设计与综合应用> ...
- Block chain 1_The Long Road to Bitcoin
The path to Bitcoin is littered with the corpses of failed attempts. I've compiled a list of about a ...
- java静态代理和JDK动态代理
静态代理 编译阶段就生产了对应的代理类 public interface IBussiness { void execute(); } public class BussinessImpl imple ...
- javascript——常用事件总结
Event对象:Event 对象代表事件的状态,比如事件在其中发生的元素.键盘按键的状态.鼠标的位置.鼠标按钮的状态. 事件标签属性 当以下情况发生时,出现此事件 onabort 图像加载被中断 ...
- poj 1095 题解(卡特兰数+递归
题目 题意:给出一个二叉树的编号,问形态. 编号依据 1:如果二叉树为空,则编号为0: 2:如果二叉树只有一个节点,则编号为1: 3:所有含有m个节点的二叉树的编号小于所有含有m+1个节点的二叉树的编 ...