2019-08-28 15:48
⁄ 工业·编程
⁄ 共 7246字
上一篇介绍了Live555如何实现录像功能,我录的是H264编码的视频文件。在《Live555的基本介绍》这一篇中,我介绍说把mp3文件放到live/mediaServer目录下,然后使用Live555流化,就可以通过vlc去点播该文件。那么我们录好的h264文件能否被Live555流化然后使用VLC点播呢?经试验,发现是不行的。
然后我就对比VLC去请求Live555流化mp3文件和h264文件的过程,发现了原因:在请求h264文件时返回的SDP信息中,总出现"a=range:n...
live555阅读全文
2019-08-27 14:29
⁄ 工业·编程
⁄ 共 21426字
Live555还提供了录像的示例程序,在testProgs目录下的playCommon.cpp中,Live555录像的基本原理就是创建一个RTSPClient去请求指定rtsp地址的视频,然后保存到文件里。
playCommon.cpp打开一看就发现首先是各种全局函数的声明,然后是各种全局变量的声明,然后是main函数和各个函数的实现。main函数中首先还是创建TaskScheduler对象和UsageEnvironment对象,然后根据各种输入参数设置各种全局变量,最后就是创建一个RTSPClient对...
live555阅读全文
2019-08-26 14:12
⁄ 工业·编程
⁄ 共 43167字
live555ProxyServer.cpp在live/proxyServer目录下,这个程序展示了如何利用live555来做一个代理服务器转发rtsp视频(例如,IPCamera的视频)。
首先来看一下main函数
1 int main(int argc, char** argv)
2 {
3 // Increase the maximum size of video frames that we can 'proxy' without truncation.
4 // (Such frames are unreasonably large; the back-end servers should really not be sen...
live555阅读全文
2019-08-25 14:10
⁄ 工业·编程
⁄ 共 23469字
Live555不仅实现了RTSP服务器端,还实现了RTSP客户端,我们通过testRTSPClient.cpp这个程序来看一下,Live555的RTSP客户端与服务器端建立RTSP连接的过程。
首先来看一下main函数:
1 char eventLoopWatchVariable = 0;
2
3 int main(int argc, char** argv) {
4 // Begin by setting up our usage environment:
5 TaskScheduler* scheduler = BasicTaskScheduler::createNew();
6 ...
live555阅读全文
2019-08-24 14:01
⁄ 工业·编程
⁄ 共 54142字
上一篇我们简单分析了testOnDemandRTSPServer.cpp的main函数,主要步骤是创建RTSPServer,创建ServerMediaSession对象,然后等待RTSP客户端的连接。接下来我们分析一下Live555中建立RTSP连接的详细过程,首先我们需要简单了解一下RTSP协议建立连接的过程:
1.(可选)
RTSP客户端 —> RTSP服务器端 OPTIONS命令 &...
live555阅读全文
2019-08-23 12:48
⁄ 工业·编程
⁄ 共 12764字
首先,看看这个程序的说明:
// A test program that demonstrates how to stream - via unicast RTP
// - various kinds of file on demand, using a built-in RTSP server.
就是说这个程序演示了如何利用RTSPServer这个类来对媒体文件进行单播,OnDemand的意思是收到RTSP客户端请求时才进行流化和单播。
下面,首先看main函数,很简单,主要包含以下几个步骤:
// Begin by setting up our usage environmen
// 创建工具...
live555阅读全文
2019-08-22 12:19
⁄ 工业·编程
⁄ 共 1746字
Live555是一个实现了RTSP协议的开源流媒体框架,Live555包含RTSP服务器端的实现以及RTSP客户端的实现。Live555可以将若干种格式的视频文件或者音频文件转换成视频流或者音频流在网络中通过RTSP协议分发传播,这便是流媒体服务器最核心的功能。
Live555支持以下几种文件格式的流化:
· A MPEG Transport Stream file (with file name suffix ".ts")
· A Matroska or WebM file (with filename suffix ".mkv"...
live555阅读全文
2016-09-02 19:35
⁄ 工业·编程
⁄ 共 565字
库名
简介
需要的能力
官网链接
ffmpeg
FFmpeg是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序。采用LGPL或GPL许可证。它提供了录制、转换以及流化音视频的完整解决方案。它包含了非常先进的音频/视频编解码库libavcodec,为了保证高可移植性和编解码质量,libavcodec里很多codec都是从头开发的。
了解视频编解码原理和流程、了解图像压缩技术、音频压缩技术等
http://ffmpeg.o...
ffmpeg, live555, VLC阅读全文
2013-07-07 21:53
⁄ 工业·编程
⁄ 共 1331字
现有的安防监控设备视频传输都是用的各家私有协议,鲜有用标准协议rtsp的。如果能用rtsp来传输,那很多标准的rtsp客户端都能连上观看,真正做到互联互通。Live555是目前实现rtsp协议最短小精悍的开源代码,能很方便的移植到各种嵌入式系统中,而且该开源项目更新速度很快,基本每个月都有更新版本。Live555目前已经实现了基于udp和tcp的传输,支持mpg、mkv、h264、mpeg4、amr等文件的点播。有服务器端和客户端两种实现。
首先需...
live555, rtsp阅读全文
2013-07-06 21:47
⁄ 工业·编程
⁄ 共 4045字
Ⅰ live555简介
Live555 是一个为流媒体提供解决方案的跨平台的C++开源项目,它实现了对标准流媒体传输协议如RTP/RTCP、RTSP、SIP等的支持。Live555实现了对多种音视频编码格式的音视频数据的流化、接收和处理等支持,包括MPEG、H.263+、DV、JPEG视频和多种音频编码。同时由于良好的设计,Live555非常容易扩展对其他格式的支持。目前,Live555已经被用于多款播放器的流媒体播放功能的实现,如VLC(VideoLan)、MPlayer。
该项目...
live555, rtsp阅读全文