使用FFMpeg命令行录屏推rtmp流


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

做了很多实验,效果还没有达到要求,这里分享一下推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,能正常播放

 

问题:

  1. 系统资源占用太多,CPU一直在9%左右(i7-4790),内容则吃掉了1G
  2. 延迟太大,本机播放延迟大约10秒(希望控制在2秒以内)


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM