账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    将局域网内的N个IPC摄像头推流到nginx-rtmp
    • 2020-01-01 00:00
    • 10
    57
    0

    你好。本人是做java的,现在有这样一个需求,请问需要用到哪些技术。
    局域网内有N个IPC摄像头,基本都是海康的。 有RTSP播放地址。现在需要把视频推送到云端,nginx-rtmp服务器。然后在网页端播放,请问需要了解哪些技术。

    网页播放技术已了解,video.js或者其他播放器。 主要想知道,怎么推流到服务器。

    网上找过很多说用ffmpeg。ffmpeg命令来推不是很方便,因为推流的时候会去加载后台系统的一些配置。 所以应该需要用代码去推流。 不知道需要哪些技术。

    2
    打赏
    收藏
    点击回答
    您的回答被采纳后将获得:提问者悬赏的 10 元积分
        全部回答
    • 0
    • 懶得熱情 普通会员 1楼

      要将局域网内的N个IPC摄像头推流到Nginx-rtmp,可以按照以下步骤操作:

      1. 首先,你需要安装Nginx-rtmp服务器,可以通过Nginx官网下载安装。

      2. 然后,安装Node.js和Chrome浏览器插件nginx-rtmp-modulenginx-rtmp-module是一个Nginx模块,可以用来处理RTMP流。

      3. 在局域网内,将每个摄像头的IP地址和端口号输入到Node.js的命令行工具中。例如,如果摄像头1的IP地址是192.168.1.100,端口号是255.255.255.0,摄像头2的IP地址是192.168.1.101,端口号是255.255.255.0,...。

      4. 使用nginx-rtmp-module将N个摄像头推流到Nginx服务器。首先,你需要安装nginx-rtmp-module,可以通过npm(Node.js包管理器)安装。然后,运行以下命令:

      npm install nginx-rtmp-module

      1. 创建一个HTML页面,其中包含一个rtmp流的播放按钮。使用JavaScript控制台监听按钮的点击事件,然后使用nginx-rtmp-module将摄像头推流到服务器。

      以下是一个简单的HTML页面示例:

      ```html

      Camera RTMP Streaming

      Camera RTMP Streaming

      ```

      1. 创建一个Nginx服务器,监听80端口,使用以下命令:

      sudo nginx -s reload

      1. 在服务器配置文件中,配置rtmp-server模块,如下所示:

      ```nginx rtmp-server { server { listen 80; server_name localhost;

          # RTMP流配置
          rtmp {
              live on;
              record on;
              # 设置最大输入和输出分辨率
              stream {
                  server_id 1;
                  resolution 640x480;
                  auto_start on;
                  auto_reconnect on;
                  auto_reconnect_max_id 10;
                  auto_reconnect_timeout 20000;
                  breakpoint 0;
              }
          }
      
          # 视频流配置
          video {
              server_id 1;
              # 设置分辨率
              resolution 640x480;
              # 设置视频编码格式
              video_codecs { h264 v480p; };
              # 设置输出格式
              output { mjpeg; };
              # 设置视频输出格式列表
              output_list {
                  h264 { h264_sse2; };
                  h264 { h264_sse3; };
                  h264 { h264_sse4_1; };
                  h264 { h264_omxPROFILE_1_1; };
                  h264 { h264_omxPROFILE_1_2; };
                  h264 { h264_omxPROFILE_1_3; };
                  h264 { h264_omxPROFILE_1_4; };
                  h264 { h264_omxPROFILE_1_5; };
                  h264 { h264_omxPROFILE_1_6; };
                  h264 { h264_omxPROFILE_1_7; };
                  h264 { h264_omxPROFILE_1_8; };
                  h264 { h264_omxPROFILE_1_9; };
                  h264 { h264_omxPROFILE_1_10; };
                  h264 { h264_omxPROFILE_1_11; };
                  h264 { h264_omxPROFILE_1_12; };
                  h264 { h264_omxPROFILE_1_13; };
                  h264 { h264_omxPROFILE_1_14; };
                  h264 { h264_omxPROFILE_1_15; };
                  h264 { h264_omxPROFILE_1_16; };
                  h264 { h264_omxPROFILE_1_17; };
                  h264 { h264_omxPROFILE_1_18; };
                  h264 { h264_omxPROFILE_1_19; };
                  h264 { h264_omxPROFILE_1_20; };
                  h264 { h264_omxPROFILE_1_21; };
                  h264 { h264_omxPROFILE_1_22; };
                  h264 { h264_omxPROFILE_1_23; };
                  h264 { h264_omxPROFILE_1_24; };
                  h264 { h264_omxPROFILE_1_25; };
                  h264 { h264_omxPROFILE_1_26; };
                  h264 { h264_omxPROFILE_1_27; };
                  h264 { h264_omxPROFILE_1_28; };
                  h264 { h264_omxPROFILE_1_29; };
                  h264 { h264_omxPROFILE_1_30; };
                  h264 { h264_omxPROFILE_1_31; };
                  h264 { h264_omxPROFILE_1_32; };
                  h264 { h264_omxPROFILE_1_33; };
                  h264 { h264_omxPROFILE_1_34; };
                  h264 { h264_omxPROFILE_1_35; };
                  h264 { h264_omxPROFILE_1_36; };
                  h264 { h264_omxPROFILE_1_37; };
                  h264 { h264_omxPROFILE_1_38; };
                  h264 { h264_omxPROFILE_1_39; };
                  h264 { h264_omxPROFILE_1_40; };
                  h264 { h264_omxPROFILE_1_41; };
                  h264 { h264_omxPROFILE_1_42; };
                  h264 { h264_omxPROFILE_1_43; };
                  h264 { h264_omxPROFILE_1_44; };
                  h264 { h264_omxPROFILE_1_45; };
                  h264 { h264_omxPROFILE_1_46; };
                  h264 { h264_omxPROFILE_1_47; };
                  h264 { h264_omxPROFILE_1_48; };
                  h264 { h264_omxPROFILE_1_49; };
                  h264 { h264_omxPROFILE_1_50; };
                  h264 { h264_omxPROFILE_1_51; };
                  h264 { h264_omxPROFILE_1_52; };
                  h264 { h264_omxPROFILE_1_53; };
                  h264 { h264_omxPROFILE_1_54; };
                  h264 { h264_omxPROFILE_1_55; };
                  h264 { h264_omxPROFILE_1_56; };
                  h264 { h264_omxPROFILE_1_57; };
                  h264 { h264_omxPROFILE_1_58; };
                  h264
      
    更多回答
    网站公告
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部