gysutantoman
2014-11-13 23:10:13 +08:00
像斗鱼直播, 他推荐用的直播软件是OBS。以通过OBS直播游戏为例,OBS通过hook勾游戏进程里D3D函数来获取游戏的画面,使用D3D shader来实现画中画,文字叠加等效果,这部分的处理在显存里完成,输出的是YUV444的裸数据,然后把YUV444从显存放回到内存,手写SIMD从YUV444转回YUV422,接着进入X264编码,最后使用librtmp以rtmp流的形式推到斗鱼的RTMP服务器。
最后大家都通过FlashPlayer拉流斗鱼的RTMP服务器播放,后面应该有CDN或P2P。
卡不卡我觉得主要看编码和带宽。你看斗鱼网站里直播设置的页面,画面尺寸和码率已经列好表格让你根据自身宽带情况进行选择了。 480p 500kbps ≈ 61 KBps, 720p 1500 kbps ≈ 183 KBps。
480p 500kbps的画面质量,你用ffmpeg转录一小段高清影片看看就知道了,一般直播场景下是可接受范围。