Live555源码阅读笔记—1
ffmpeger 发布于 2021-08-01

Live555工程的代码量虽说不算很大,但也不少,以下是阅读后整理的一些笔记,这个项目在视频推流(RTSP)方面是一个很好的项目,还带有例子,可以运行的程序。
liveMedia是核心的工程,音视频的处理,推流等逻辑都在这个工程中实现,Medium类是层次比较高的抽象,很多类都继承自该类,该类在media.hh,以下是继承自该类的其他一些类。

1、class GenericMediaServer: public Medium
2、class MediaSession: public Medium
3、class RTSPClient: public Medium
4、class MediaSink: public Medium
5、class MediaSource: public Medium
6、class ServerMediaSubsession: public Medium
7、class OggFileServerDemux: public Medium
8、class RTCPInstance: public Medium
9、class StreamReplicator: public Medium

media.hh中有三个类,Medium,MediaLookupTable,_Tables 顺便吐槽下,如果一个类一个文件,类名和文件名保持一致比较符合编码规范

mediaServer项目是可以运行的例子,主要是推流服务程序,输入URL,(提示中的后缀名支持.264等十来种,但是不知道为什么测试了其他的mkv,m4e的推流后,在VLC中无法播放)

这个程序的main函数在live555MediaServer.cpp中,截图中的文件类型的选择逻辑在DynamicRTSPServer.cpp文件中,主要是下面的方法
static ServerMediaSession createNewSMS(UsageEnvironment& env, char const fileName, FILE /fid*/) {

ffmpeger
关注 私信
文章
63
关注
0
粉丝
0