live555 linux编译静态库,【Live555】liveMedia下载、配置、编译、安装、基本概念
一、下載、編譯、安裝
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下载、配置、编译、安装、基本概念的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Python学习笔记:web开发2
- 下一篇: MYsql:net start mysq