zoukankan      html  css  js  c++  java
  • rtsp->rtmp 推流直播 Plan B

    上篇文章我们谈到使用 EasyDarwin 推流后 前端HTML播放器 播放无画面的情况,找了各种播放器都服务正常解决,但使用VLC却能正常播放的问题,我们尝试了很久最后另辟蹊径,找到 nginx安装rtmp模块后 使用FFmpeg往 nginx推流 的解决方案

    带有 rtmp 模块的 nginx 下载地址 https://github.com/illuspas/nginx-rtmp-win32

    下载后将两个工具放在同一个目录下,如下图

    image

    1:打开 FFmpeg 目录 双击 ffmpeg.exe 先运行(注意启动先后顺序)

    image

    2:打开 nginx-rtmp-win32-master 双击 nginx.exe 运行

    image

    3:打开 nginx 目录下的 conf 文件夹下面的 nginx.conf 文件 我们看到 http server在监听 8089 端口 rtmp 播放端口为 1935

    image

    4:我们再浏览器里面输入 http://localhost:8089/ 访问出现如下界面(注意这里使用360浏览器默认有flash插件)

    image

    这个是 nginx-rtmp-win32-master 自带的rtmp测试工具,有直播测试器、安卓端和IOS端的 sdk

    5:我们需要先使用命令行工具,让 FFmpeg 拉取海康摄像头视频流往 nginx 推,这样才可以在此 rtmp测试器里面播放,首先打开cmd命令行窗口,进入 ffmpeg的根目录

    image

    然后执行如下命令

    ffmpeg -i "rtsp://admin:Aa123456@10.24.18.3:554/Streaming/Channels/101" -f flv -r 20 -s 510x440 -an rtmp://localhost:1935/live/3

    6:出现如下命令说明ffmpeg拉取视频流和推视频流已成功运行

    image

    7:在测试播放器 的 player address 中输入命令行中的播放地址 rtmp://localhost:1935/live/3 点击播放,就能看到右侧出现视频画面

    image

    8:最后我们将启动命令编辑成 bat脚本,便可以一次性启动多个视频直播流,像这样

    image

    实测 6核 8G 服务器 推二十个无压力。,后续我们可以将此命令做成 winform 或者 服务 后台运行,这样就可以直接从数据库中配置。

  • 相关阅读:
    Sql 格式化日期
    shape 格式标准
    flex 状态
    flex 特效集
    invalidateProperties
    flex for循环
    关于继承
    win32常见寄存器register
    asm寻址方式
    java jni调用 非托管 dll
  • 原文地址:https://www.cnblogs.com/rtwo/p/15252968.html
Copyright © 2011-2022 走看看