• 海康&大华&DSS视频拉流-RTSP转RTMP多媒体播放技术


     海康&大华&DSS获取RTSP

    实时流

    海康:
    rtsp://[username]:[password]@[ip]:[port]/[codec]/[channel]/[subtype]/av_stream
    说明:
    username: 用户名。例如admin。
    password: 密码。例如12345。
    ip: 为设备IP。例如 192.0.0.64。
    port: 端口号默认为554,若为默认可不填写。
    codec:有h264、MPEG-4、mpeg4这几种。
    channel: 通道号,起始为1。例如通道1,则为ch1。
    subtype: 码流类型,主码流为main,辅码流为sub。

    栗子:

    IPC

    rtsp://admin:123456@192.168.18.105:554/h264/ch1/main/av_stream

    NVR
    rtsp://admin:123456@192.168.18.106:554/Streaming/Channels/101

    说明:

    101,第一个1代表通道,最后一个1代表麻溜。

    大华:

    rtsp://[username]:[password]@[ip]:[port]/cam/realmonitor?channel=1&subtype=0
    说明:
    username: 用户名。例如admin。
    password: 密码。例如admin。
    ip: 为设备IP。例如 10.7.8.122。
    port: 端口号默认为554,若为默认可不填写。
    channel: 通道号,起始为1。例如通道2,则为channel=2。
    subtype: 码流类型,主码流为0(即subtype=0),辅码流为1(即subtype=1)。

    栗子:

    rtsp://admin:admin@192.168.18.107:554/cam/realmonitor?channel=2&subtype=1

    回放流
    海康:
    rtsp://[username]:[password]@[ip]:[port]/Streaming/tracks/101?starttime=20120802t063812z&endtime=20120802t064816z

    说明:

    101:1,表示通道1;01,表示以单播形式回放指定设备的通道中的录像文件

    starttime:开始时间

    endtime:结束时间

    时间范围是starttime到endtime,其中starttime和endtime的格式要符合ISO 8601。

    具体格式是YYYYMMDD”T”HHmmSS.fraction”Z” ,Y是年,M是月,D是日,T是时间分格符,H是小时,M是分,S是秒,Z是可选的、表示Zulu (GMT) 时间。

    大华:

    rtsp://[username]:[password]@[ip]:[port]/cam/playback?channel=1&subtype=0&starttime=2017_01_10_01_00_00&endtime=2017_01_10_02_00_00

    说明:

    username: 用户名。例如admin。
    password: 密码。例如admin。
    ip: 为设备IP。
    port: 端口号默认为554,若为默认可不填写。
    channel: 通道号,起始为1。例如通道2,则为channel=2。
    subtype: 码流类型,主码流为0(即subtype=0),辅码流为1(即subtype=1)。

    starttime:开始时间

    endtime:结束时间

    大华DSS:

    rtsp://[ip]:[port]/dss/monitor/params?cameraid=设备编号%24通道号&substream=码流类型

    说明:

    [ip]:[port]:来自大华DSS媒体网关MGW

    设备编号:平台上设备编号,例如1000004
    通道号:设备下通道,从0(通道一)开始。
    码流类型:1代表主码流,2代表辅码流

    栗子:

    rtsp://192.168.19.102:9090/dss/monitor/params?cameraid=1000112$0&substream=1

    RTSP转RTMP实战

    一、下载nginx-rtmp-ffmpeg集合

    https://download.csdn.net/download/yiyu1/10829669

    二、修改Nginx/conf文件夹下nginx.conf文件:

    worker_processes 1;
    events {
    worker_connections 1024;
    }
    rtmp {
    server {
    listen 1935;
    chunk_size 4000;
    # TV mode: one publisher, many subscribers
    application mylive {
    live on;
    
    }
    }
    }
    http {
    include mime.types;
    default_type application/octet-stream;
    sendfile on;
    keepalive_timeout 65;
    
    server {
    listen 20000;
    server_name localhost;
    location / {
    root html;
    index index.html index.htm;
    }
    error_page 500 502 503 504 /50x.html;
    location = /50x.html {
    root html;
    }
    }
    }

    三、启动Nginx

    四、通过dos命令执行脚本

    D:ffmpeginffmpeg.exe -re -rtsp_transport tcp -i "rtsp://192.168.19.102:9090/dss/monitor/params?cameraid=1000112$0&substream=1" -f flv -vcodec libx264 -vprofile baseline -acodec aac -ar 44100 -strict -2 -ac 1 -f flv -s 1280x720 -q 10 "rtmp://localhost:1935/mylive/1"

    五、通过HTML访问rtmp

    <!DOCTYPE html>
    <html lang="en">
    <head>
    
    <title>Video.js | HTML5 Video Player</title>
    <!-- <link href="video-js-6.2.0/video-js.css" rel="stylesheet">
    <script src="video-js-6.2.0/videojs-ie8.min.js"></script> -->
    
    <link href="http://vjs.zencdn.net/5.20.1/video-js.css" rel="stylesheet">
    <script src="http://vjs.zencdn.net/5.20.1/videojs-ie8.min.js">>
    </head>
    <body>
    
    <video id="example_video_1" class="video-js vjs-default-skin" controls preload="auto" width="1280" height="720" poster="http://vjs.zencdn.net/v/oceans.png" data-setup="{}">
    <!-- <source src="1.mp4" type="video/mp4"> -->
    <source src="rtmp://localhost:1935/mylive/1" type="rtmp/flv">
    <p class="vjs-no-js">To view this video please enable JavaScript, and consider upgrading to a web browser that <a href="http://videojs.com/html5-video-support/" target="_blank">supports HTML5 video</a></p>
    </video>
    <script src="http://vjs.zencdn.net/5.20.1/video.js">>
    </body>
    
    </html>

    注:需要运行flash

    ————————————————————

    推荐阅读:

    老王讲架构:负载均衡

    支付宝系统架构内部剖析

    大数据Spark与Storm技术选型

    【赞】用Python实现Zabbix-API 监控

    程序员怎么留住健康?

    大数据智慧平台技术方案

    大数据聚合平台解决方案

  • 相关阅读:
    问题 I: 夫子云游
    问题 H: 小k的简单问题
    问题 G: 圆桌上的晚餐
    问题 F: 超超的自闭意思
    promise与aysnc 与EventProxy
    node的实践(项目三)
    node的实践(项目二)
    node不懂的方法的使用
    github
    node的实践(项目一)
  • 原文地址:https://www.cnblogs.com/Javame/p/10070825.html
Copyright © 2020-2023  润新知