一、下载、编译、安装

1、下载

官网地址:http://www.live555.com/

下载地址:http://www.live555.com/liveMedia/public/

2、配置、

源码目录下有已经写好的配置文件,如下

config.armlinux、config.linux 、config.linux-64bit

config.linux-with-shared-libraries

脚本 genMakefiles 使用上面的配置文件生成 Makefile,例如生成linux环境下的Makefile

$./genMakefiles linux

上面配置文件会生成静态库,如果想要生成动态库,可以使用config.linux-with-shared-libraries:

$./genMakefiles linux-with-shared-libraries

3、编译、安装

生成Makefile后,使用 make -j4来编译;

默认安装到/usr/local中:sudo make install

二、基本概念

1、四个基本库

live555的源代码包括四个基本的库、各种测试代码以及Media Server。

四个基本的库分别是:

libUsageEnvironment,

libgroupsock,

libliveMedia

libBasicUsageEnvironment

libUsageEnvironment:

源码目录 UsageEnvironment;

UsageEnvironment 和 TaskScheduler 类用于事件的调度,实现异步读取事件的句柄的设置以及错误信息的输出。

HashTable 类定义了一个通用的hash 表,其它代码要用到这个表。这些都是抽象类,在应用程序中基于这些类来实现自己的子类。

libgroupsock:

源码目录:groupsock

groupsock 类是对网络接口的封装,用于收发数据包。正如名字本身,groupsock 主要是面向多播数据的收发的,它也同时支持单播数据的收发。

libliveMedia:

源码目录:liveMedia

基类是Medium,还有针对不同的流媒体类型和编码的类。

libBasicUsageEnvironment:

源码目录:BasicUsageEnvironment:

BasicUsageEnvironment类 继承自 UsageEnvironment 类

其它目录:

hlsProxy

proxyServer

testProgram 目录下是测试代码

WindowsAudioInputDevice

生成的可执行文件:

live555HLSProxy

live555MediaServer

live555ProxyServer

mikeyParse

MPEG2TransportStreamIndexer

openRTSP

playSIP

registerRTSPStream

sapWatch

vobStreamer

测试程序:

testAMRAudioStreamer

testDVVideoStreamer

testH264VideoStreamer

testH264VideoToHLSSegments

testH264VideoToTransportStream

testH265VideoStreamer

testH265VideoToTransportStream

testMKVSplitter

testMKVStreamer

testMP3Receiver

testMP3Streamer

testMPEG1or2AudioVideoStreamer

testMPEG1or2ProgramToTransportStream

testMPEG1or2Splitter

testMPEG1or2VideoReceiver

testMPEG1or2VideoStreamer

testMPEG2TransportReceiver

testMPEG2TransportStreamer

testMPEG2TransportStreamSplitter

testMPEG2TransportStreamTrickPlay

testMPEG4VideoStreamer

testOggStreamer

testOnDemandRTSPServer

testRelay

testReplicator

testRTSPClient

testWAVAudioStreamer

2、Source、Sink、Filter。

Sink 就是消费数据的对象,比如把接收到的数据存储到文件, 这个文件就是一个Sink。

Source 就是生产数据的对象,比如通过RTP 读取数据。

数据流经过多个’source’和’sink’s,下面是一个示例:

‘source1’ -> ‘source2’ (a filter) -> ‘source3’ (a filter) -> ‘sink’

Filter 从其它Source 接收数据的source 也叫做"filters"。

Module 是一个sink 或者一个filter。数据接收的终点是Sink 类,

MediaSink 是所有Sink 类的基类。

Sink 类实现对数据的处理是通过实现纯虚函数continuePlaying(),通常情况下continuePlaying 调用fSource->getNextFrame 来为Source 设置数据缓冲区,处理数据的回调函数等,

fSource是MediaSink 的类型为FramedSource*的类成员。

live555 linux编译静态库,【Live555】liveMedia下载、配置、编译、安装、基本概念相关推荐

  1. linux ndk编译静态库,Android开发教程:NDK编译静态库失败

    Android---NDK编译静态库失败 Android.mk 相关编译文件: include $(CLEAR_VARS) LOCAL_MODULE    := libdvnca LOCAL_SRC_ ...

  2. linux c 如何编译静态库,Linux C 编程入门之一:gcc 编译动态库和静态库

    主调用程序源代码3-1:main.c /** * main.c */ #include #include #include "hello_fn.h" int main () { h ...

  3. Linux上静态库和动态库的编译和使用

    linux上静态库和动态库的编译和使用(附外部符号错误浅谈) 这就是静态库和动态库的显著区别,静态库是编译期间由链接器通过include目录找到并链接到到可执行文件中,而动态库则是运行期间动态调用,只 ...

  4. 【嵌入式开发】 Linux Kernel 下载 配置 编译 安装 及 驱动简介

    作者 : 韩曙亮 转载请出名出处 : http://blog.csdn.net/shulianghan/article/details/38636827 一. Linux 内核简介 1. 内核功能简介 ...

  5. linux 交叉编译 静态库,从Linux为Windows开发交叉编译静态库

    我想在Linux中为Windows编译静态库.以下是我跟着编译从Linux为Windows开发交叉编译静态库 使用i586-mingw32msvc-cc -c static_lib.c -o stat ...

  6. Linux 之三 静态库及动态库的编写和使用

      最近在整理旧电脑时,发现了一些刚入行时的学习记录,以及最早使用新浪博客 http://blog.sina.com.cn/zcshou 写的一些文章.最近要重拾 Linux,所以把这些 Word 文 ...

  7. 【Linux】静态库与动态库的生成及调用

    一,库:一种可执行代码的二进制形式,可以被载入内存执行.其中库分为静态库.动态库 二,静态库和动态库的区别          1)Linux 下静态库:名字一般为 lib***.a利用静态函数库编译成 ...

  8. GCC编译静态库的-fPIC选项

    GCC编译静态库的-fPIC选项 背景 通常在linux下用gcc编译动态库时都会加上一个-fPIC选项来生成位置无关代码,但是从来没有人明确的说过是不是要在编译静态库时也加上-fPIC选项.我在这篇 ...

  9. Linux中静态库和动态库(共享库)的区别

    1. 静态库和动态库的制作过程区别 1.1 静态库的制作过程 详见博客:Linux中静态库的制作与使用 1.2 动态库的制作过程 详见博客:Linux中动态库(共享库)的制作与使用 2. 静态库和动态 ...

  10. 【Linux】Linux下静态库(.a)和动态库(.so)的制作和使用

    如有错误,欢迎大家指正,感谢! ​​​​​​​目录 一.程序工作过程简单介绍 1. 安装GCC 2. 源程序工作流程 3. 使用示例 4. gcc常用的编译参数选项 二.静态库的制作及使用 1. 库是 ...

最新文章

  1. 454. 4Sum II
  2. Mac下如何查看Python的版本?
  3. mysql command type_mysql command line client 使用命令
  4. NYOJ 716 River Crossing(动态规划)
  5. Python学习笔记:常用内建模块1
  6. 设置window代理的命令
  7. 加载中图片 转圈_对话洛可可平面设计师:平面设计中的效率瓶颈
  8. linux安装无头浏览器
  9. 文本表达:解决BERT中的各向异性方法总结
  10. latex 打出罗马数字
  11. 概念模型转化为逻辑模型规律
  12. Spring Data -Specification用法和常用查询方法(in,join,equal等)
  13. 使压缩文件隐藏在图片格式中的方法(c语言版)--图片合成器
  14. 大学物理实验(二)气体比热容比的测定
  15. 以树莓派为控制中心的软硬件之开发之脑电波模块
  16. 香肠派对学计算机,香肠派对电脑版:雷电模拟器教你轻松吃鸡
  17. linux安装globalsign证书,globalsign代码签名证书
  18. java 常用类 - 大数据运算
  19. 2019-01-21第六课
  20. win10 下Android 连接电脑本地MySQL数据库

热门文章

  1. 六大加密工具让数据传送安然无恙
  2. IBM并购网络视频会议商WebDialogs 加入Lotus Sametime
  3. 对USB驱动程序的理解
  4. 程序员每天少吃===活120岁
  5. 一些不错的C++网站[秋镇菜]
  6. 在VC中使用ADO开发数据库应用程序
  7. 快来!前端君喊你加入快驾网智囊团
  8. css实用技巧:巧用css实现两栏等高布局
  9. html5 斜率画线,一次函数的斜率与图像的关系
  10. NOI数学:大步小步(Baby Step Giant Step,BSGS)算法