�流程、架构、技术点
lib使用
lib | 位置 | 功能 |
---|---|---|
LFLiveKit | 主播端 |
rtmp 协议,音、视频采集 / 处理(美颜、水印)/ 编码压缩 / 推流 |
ijkplayer | 观众端 | 基于ffplay 的视频播放器,拉流 / 解码 / 渲染,支持众多流媒体播放协议 |
nginx-rtmp-module | 服务端 | 接收rtmp 协议源视频,可转码成 rtmp / hls / flv 流媒体格式输出 |
srs | 服务端 | 直播服务器集群,接收rtmp 协议源视频,可转码成 rtmp / hls / flv 流媒体格式输出 |
附:
flv
是基于http
协议的,也就是说flv
视频可以�通过浏览器查看。
ffmpeg
// 把mp4推流到rtmp服务器
$ ./ffmpeg -re -i welcome_movie.mp4 -vcodec libx264 -vprofile baseline -acodec aac -ar 44100 -strict -2 -ac 1 -f flv -s 1280x720 -q 10 rtmp://10.28.81.99:1935/live/stream
$ ./ffmpeg -re -i welcome.mp4 -vcodec libx264 -acodec aac -strict -2 -f flv rtmp://10.28.81.99:1935/live/stream
// 录制Mac视频并且推送到rtmp服务器
$ ./ffmpeg -f avfoundation -i "1" -vcodec libx264 -preset ultrafast -acodec libfaac -f flv rtmp://10.28.81.99:1935/live/stream
// 录制Mac视频 + 音频并且推送到rtmp服务器
$ ./ffmpeg -f avfoundation -i "1:0" -vcodec libx264 -preset ultrafast -acodec libmp3lame -ar 44100 -ac 1 -f flv rtmp://10.28.81.99:1935/live/stream
// 播放rtmp流
$ ./ffplay 'rtmp://10.28.81.99:1935/live/stream'