直播背后的技术

こ雲淡風輕ζ 提交于 2020-04-06 03:47:18

当下直播行业正在如火如途进行中,但是我们对直播所使用到的技术,应该有所了解。

    直播有三个阶段分别为建流、推流、拉流

   建流:通常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
 
 

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!