README.md 5.57 KB
Newer Older
夏楚 committed
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134
```
src
|
|-- Codec                           # 编码模块
|	|-- AACEncoder.cpp          # 对libfaac的封装
|	|-- AACEncoder.h
|	|-- H264Encoder.cpp         # 对libx264的封装
|	|-- H264Encoder.h
|
|-- Common                          # 杂项,一般文件
|	|-- config.cpp              # 主要功能是生成默认配置
|	|-- config.h                # 定义了一些宏、广播名常量、配置名常量
|	|-- MediaSender.h           # 一条专门的后台线程用来发送RTP、RTMP包
|
|-- Device                          # 原本这个文件夹是拿来做各种IPC(海康/大华/汉邦)适配的
|	|-- base64.cpp              # base64编解码
|	|-- base64.h
|	|-- Device.cpp              # 输入YUV+PCM或H264+AAC生成流媒体源(rtmp/rtsp/hls/mp4)。
|	|-- Device.h
|	|-- PlayerProxy.cpp         # 拉取rtsp/rtmp流生成流媒体源(rtmp/rtsp/hls/mp4)。
|	|-- PlayerProxy.h
|
|-- H264                            # H264帧处理代码,包括SPS/PPS的解析,POC计算等
|	|-- h264_bit_reader.cpp     # 移植于chrome
|	|-- h264_bit_reader.h       # 移植于chrome
|	|-- h264_parser.cpp         # 移植于chrome
|	|-- h264_parser.h           # 移植于chrome
|	|-- h264_poc.cpp            # 移植于chrome
|	|-- h264_poc.h              # 移植于chrome
|	|-- macros.h                # 移植于chrome
|	|-- ranges.h                # 移植于chrome
|	|-- H264Parser.cpp          # H264的POC、pts计算等
|	|-- H264Parser.h
|	|-- SPSParser.c             # 移植于FFmpeg的sps/pps解析代码
|	|-- SPSParser.h
|		 
|-- Http                            # Http[s]的服务器和客户端实现
|	|-- HttpClient.cpp          # Http客户端,可复用
|	|-- HttpClient.h
|	|-- HttpClientImp.cpp       # Https客户端,派生于HttpClient
|	|-- HttpClientImp.h
|	|-- HttpDownloader.cpp      # Http[s]文件下载器,支持断点续传
|	|-- HttpDownloader.h	
|	|-- HttpRequester.cpp       # 实现Http[s]API接口客户端,派生于HttpClientImp
|	|-- HttpRequester.h
|	|-- HttpSession.cpp         # Http服务器,支持GET/POST命令。GET只能用于文件下载
|	|-- HttpSession.h			
|	|-- HttpsSession.h          # https服务器,派生于HttpSession
|	|-- strCoding.cpp           # http url转义和反转义
|	|-- strCoding.h	
|
|-- MediaFile                       # 媒体文件相关,包括mp4文件的读写,hls文件的生成
|	|-- crc32.cpp               # crc32计算,用于ts文件生成
|	|-- crc32.h
|	|-- HLSMaker.cpp            # HLS文件生成,包括m3u8和ts文件生成
|	|-- HLSMaker.h	
|	|-- MediaReader.cpp         # mp4文件(只支持h264+aac)解析,转换成流媒体
|	|-- MediaReader.h			
|	|-- MediaRecorder.cpp       # 录制流媒体为mp4和hls
|	|-- MediaRecorder.h
|	|-- Mp4Maker.cpp            # mp4文件生成,只支持h264+aac
|	|-- Mp4Maker.h			
|	|-- TSMaker.cpp             # ts文件生成,只支持h264+aac
|	|-- TSMaker.h	
|	
|-- Player                          # 播放器
|	|-- MediaPlayer.cpp	    # rtsp/rtmp播放器,只支持h264+acc
|	|-- MediaPlayer.h 
|	|-- Player.cpp              # 播放器音视频帧定义以及一些h264/aac处理工具函数
|	|-- Player.h
|	|-- PlayerBase.cpp	 	
|	|-- PlayerBase.h            # 播放器基类,定义了一些虚函数
|	
|-- Rtmp                            # rtmp协议支持
|	|-- amf.cpp                 # amf格式的解析及编码
|	|-- amf.h
|	|-- Rtmp.h                  # rtmp包定义以及一些rtmp常量宏定义
|	|-- RtmpMediaSource.cpp     # rtmp流媒体源
|	|-- RtmpMediaSource.h	
|	|-- RtmpParser.cpp          # 解析rtmp媒体格式以及提取h264+aac
|	|-- RtmpParser.h	
|	|-- RtmpPlayer.cpp          # rtmp播放器
|	|-- RtmpPlayer.h
|	|-- RtmpPlayerImp.cpp       # 派生于RtmpPlayer,结合RtmpParser
|	|-- RtmpPlayerImp.h		
|	|-- RtmpProtocol.cpp        # rtmp包序列化以及反序列化
|	|-- RtmpProtocol.h	
|	|-- RtmpPusher.cpp          # rtmp推流客户端
|	|-- RtmpPusher.h
|	|-- RtmpSession.cpp         # rtmp服务器,支持播放及推流协议
|	|-- RtmpSession.h
|	|-- RtmpToRtspMediaSource.cpp # rtmp转rtsp实现
|	|-- RtmpToRtspMediaSource.h
|	|-- utils.cpp               # 网络字节序与整形间的互转
|	|-- utils.h	
|	
|-- RTP                             # RTP打包
|	|-- RtpMaker.h              # 打包类基类
|	|-- RtpMakerAAC.cpp         # aac的rtp打包实现
|	|-- RtpMakerAAC.h
|	|-- RtpMakerH264.cpp        # h264的rtp打包实现
|	|-- RtpMakerH264.h
|	
|-- Rtsp                            # rtsp协议支持
|	|-- RtpBroadCaster.cpp      # rtp组播实现
|	|-- RtpBroadCaster.h
|	|-- RtpParser.cpp           # 完成SDP解析以及rtp组包(提取h264+aac)
|	|-- RtpParser.h
|	|-- Rtsp.cpp                # 定义了rtsp里面一些基本的方法及对象
|	|-- Rtsp.h
|	|-- RtspMediaSource.cpp     # rtsp媒体源
|	|-- RtspMediaSource.h
|	|-- RtspPlayer.cpp          # rtsp播放器实现
|	|-- RtspPlayer.h
|	|-- RtspPlayerImp.cpp       # 派生于RtspPlayer,结合了RtpParser
|	|-- RtspPlayerImp.h
|	|-- RtspSession.cpp         # rtsp服务器协议实现
|	|-- RtspSession.h
|	|-- RtspToRtmpMediaSource.cpp
|	|-- RtspToRtmpMediaSource.h # rtsp转rtmp实现
|	|-- UDPServer.cpp
|	|-- UDPServer.h             # udp端口分配器,用来实现rtp over udp
|
|-- Shell                           # 远程shell实现,可以实现简单的远程调试
|	|-- CMD.cpp                 # 抽象了一些shell命令,可以简单的添加命令
|	|-- CMD.h
|	|-- ShellSession.cpp        # shell会话类
|	|-- ShellSession.h	
|
|-- win32                           # windows下命令行解析工具(unix下自带)
	|-- getopt.c
	|-- getopt.h
	|-- tailor.h
```