最近在做局域网内屏幕分享方面的东西,要把录制一台设备的屏幕然后实时推送给内网的一个或多个用户。

做了很多实验,效果还没有达到要求,这里分享一下推rtmp流的实验。

实验使用到的各种工具:FFmpeg.exe、crtmp(推rtmp时需要其做为服务器)、vlcplayer。

一、 启动crtmp推流服务

二、 使用命令行工具调用FFmpeg程序,所用命令如下(参数略有不同,每次使用一条即可):

ffmpeg -f gdigrab -video_size 1920x1080 -framerate 15 -i desktop -vcodec libx264 -f flv rtmp://127.0.0.1/live/mystream

ffmpeg -f dshow -i video="screen-capture-recorder" -vcodec libx264 -preset:v ultrafast -tune:v zerolatency -f flv rtmp://127.0.0.1/live/mystream

注:第二条命令需要安装Screen Capturer Recorder后才能使用。参见http://blog.csdn.net/leixiaohua1020/article/details/38284961

三、 推流稳定之后,使用vlcplayer播放录制视频

播放的地址为rtmp://127.0.0.1/live/mystream live=1,能正常播放

问题:

系统资源占用太多,CPU一直在9%左右(i7-4790),内容则吃掉了1G

延迟太大,本机播放延迟大约10秒(希望控制在2秒以内)

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐