流媒体服务器
流媒体服务器接管了和用户交互的一部分操作,后端通过ffmpeg推流到流媒体服务器 smart-rtmp地址:https://gitee.com/mirrors/smart_rtmpd?_from=gitee_search
修改每个协议对应的配置后,启动smart rtmpd
ffmpeg.exe -re -stream_loop -1 -i 201225170305.mp4 -vcodec copy -f flv rtmp://10.10.90.39:1935/live/stream(需要转flv格式) vlc 打开网络串流 rtmp://10.10.90.39:1935/live/stream
srs地址:https://gitee.com/mirrors/SRS.git obs studio地址 实时流媒体和屏幕录制:https://gitee.com/jarbean/obs-studio.git live555:https://github.com/rgaufman/live555 media-server:https://github.com/ireader/media-server
流媒体支持三种主流协议
- http,http文件服务器,小文件可用,大文件远程报http 260错误(需要配置range-request),适合点播,不适合直播(HLS HTTP Live Streaming苹果公司提出的流媒体协议 )
mp4文件转ts文件(有独立的时间信息如果mpegts格式),切片播放(m3u8文件记录了多个ts文件地址),避免缓存这个文件,单个文件缓存 或者服务器配置range返回视频,分段请求
- rtmp(Real Time Messaging Protocol)
- rtsp 比较复杂,效率最高 参考:http://www.avpk.cn/index.php/article/131.html
ffmpeg
ffmpeg推流到流媒体服务器,或者流媒体使用本地文件进行,直播或者点播
ffmpeg推流到流媒体服务器,通过流媒体服务器,响应客户端请求数据,或者本地文件数据