live555 linux编译静态库,【Live555】liveMedia下载、配置、编译、安装、基本概念
一、下載、編譯、安裝
1、下載
官網(wǎng)地址:http://www.live555.com/
下載地址:http://www.live555.com/liveMedia/public/
2、配置、
源碼目錄下有已經(jīng)寫好的配置文件,如下
config.armlinux、config.linux 、config.linux-64bit
config.linux-with-shared-libraries
腳本 genMakefiles 使用上面的配置文件生成 Makefile,例如生成linux環(huán)境下的Makefile
$./genMakefiles linux
上面配置文件會(huì)生成靜態(tài)庫(kù),如果想要生成動(dòng)態(tài)庫(kù),可以使用config.linux-with-shared-libraries:
$./genMakefiles linux-with-shared-libraries
3、編譯、安裝
生成Makefile后,使用 make -j4來(lái)編譯;
默認(rèn)安裝到/usr/local中:sudo make install
二、基本概念
1、四個(gè)基本庫(kù)
live555的源代碼包括四個(gè)基本的庫(kù)、各種測(cè)試代碼以及Media Server。
四個(gè)基本的庫(kù)分別是:
libUsageEnvironment,
libgroupsock,
libliveMedia
libBasicUsageEnvironment
libUsageEnvironment:
源碼目錄 UsageEnvironment;
UsageEnvironment 和 TaskScheduler 類用于事件的調(diào)度,實(shí)現(xiàn)異步讀取事件的句柄的設(shè)置以及錯(cuò)誤信息的輸出。
HashTable 類定義了一個(gè)通用的hash 表,其它代碼要用到這個(gè)表。這些都是抽象類,在應(yīng)用程序中基于這些類來(lái)實(shí)現(xiàn)自己的子類。
libgroupsock:
源碼目錄:groupsock
groupsock 類是對(duì)網(wǎng)絡(luò)接口的封裝,用于收發(fā)數(shù)據(jù)包。正如名字本身,groupsock 主要是面向多播數(shù)據(jù)的收發(fā)的,它也同時(shí)支持單播數(shù)據(jù)的收發(fā)。
libliveMedia:
源碼目錄:liveMedia
基類是Medium,還有針對(duì)不同的流媒體類型和編碼的類。
libBasicUsageEnvironment:
源碼目錄:BasicUsageEnvironment:
BasicUsageEnvironment類 繼承自 UsageEnvironment 類
其它目錄:
hlsProxy
proxyServer
testProgram 目錄下是測(cè)試代碼
WindowsAudioInputDevice
生成的可執(zhí)行文件:
live555HLSProxy
live555MediaServer
live555ProxyServer
mikeyParse
MPEG2TransportStreamIndexer
openRTSP
playSIP
registerRTSPStream
sapWatch
vobStreamer
測(cè)試程序:
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 就是消費(fèi)數(shù)據(jù)的對(duì)象,比如把接收到的數(shù)據(jù)存儲(chǔ)到文件, 這個(gè)文件就是一個(gè)Sink。
Source 就是生產(chǎn)數(shù)據(jù)的對(duì)象,比如通過(guò)RTP 讀取數(shù)據(jù)。
數(shù)據(jù)流經(jīng)過(guò)多個(gè)’source’和’sink’s,下面是一個(gè)示例:
‘source1’ -> ‘source2’ (a filter) -> ‘source3’ (a filter) -> ‘sink’
Filter 從其它Source 接收數(shù)據(jù)的source 也叫做"filters"。
Module 是一個(gè)sink 或者一個(gè)filter。數(shù)據(jù)接收的終點(diǎn)是Sink 類,
MediaSink 是所有Sink 類的基類。
Sink 類實(shí)現(xiàn)對(duì)數(shù)據(jù)的處理是通過(guò)實(shí)現(xiàn)純虛函數(shù)continuePlaying(),通常情況下continuePlaying 調(diào)用fSource->getNextFrame 來(lái)為Source 設(shè)置數(shù)據(jù)緩沖區(qū),處理數(shù)據(jù)的回調(diào)函數(shù)等,
fSource是MediaSink 的類型為FramedSource*的類成員。
總結(jié)
以上是生活随笔為你收集整理的live555 linux编译静态库,【Live555】liveMedia下载、配置、编译、安装、基本概念的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Python学习笔记:web开发2
- 下一篇: linux调用函数和case,Shell