当下直播行业正在如火如途进行中,但是我们对直播所使用到的技术,应该有所了解。
直播有三个阶段分别为建流、推流、拉流
建流:通常rtmp协议用rtmp模块实现的,这是一个nginx第三方模块很强大,很多第三方的直播SDK应该都是基于其实现的。
推流:就是主播端用到的
拉流:就是观看用户用的
推送和拉取用ffmpeg开源软件就可以做到,只不过界面有点简陋,所以第三方厂商对其也进行了封装成了SDK。
众所周知,直播对于带宽消耗很大,虽然服务端和客户端可以自建,但是旁大的带宽消耗是大部分企业无法承受的,所以选择第三方SDK是最好的归宿,因为他们有高额带宽、有CDN、有超大存储。
ffmpeg 简单用法
高质量录屏
ffmpeg -f gdigrab -i desktop -preset ultrafast -crf 10 playback.mp4
无损录屏
ffmpeg -video_size 1920x1080 -framerate 30 -f gdigrab -i desktop -c:v libx264 -qp 0 -preset ultrafast playback .mp4
直播
ffmpeg -f gdigrab -s 500x300 -i desktop -c:v libx264 -b:v 2M -qp 0 -crf 10 -preset ultrafast -f rtsp -rtsp_transport tcp rtsp://localhost:2333/live.sdp
ffplay -rtsp_flags listen rtsp://localhost:2333/live.sdp?tcp
来源:oschina
链接:https://my.oschina.net/MasterXimen/blog/3213099