zoukankan      html  css  js  c++  java
  • 使用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秒以内)
  • 相关阅读:
    Springboot之配置定时任务
    Java之随机生成各种类型的数据举例
    docker安装postgresql 12.4
    Java随机生成字符串举例
    Java生成UUID
    Shell case 多选择语句用法举例
    Elasticsearch学习之集群高级网络设置
    交叉熵损失函数
    将博客搬至CSDN
    SonarQube服务搭建
  • 原文地址:https://www.cnblogs.com/GuoRL/p/8064155.html
Copyright © 2011-2022 走看看