精华内容
下载资源
问答
  • rtsp转rtmp

    2017-12-27 18:38:06
    可直接将rtsp流转换为rtmp流进行推送,效率极高,同时支持windows和linux
  • rtsp转rtmp工程实例

    2019-05-13 11:17:01
    工程实例, 通过FFmpeg将摄像头rtsp流转成rtmp流, 并推送给nginx服务器发布出来, 通过video.js播放, 博客地址https://blog.csdn.net/liu844133828/article/details/89704314
  • windows版+linux版 实现在线直播 海康威视rtsp转rtmp 工作中正在使用,积分少感谢支持,不胜感激。
  • 另外除了压缩包内播放器大家也可以选择ckplayer在线播放器直接播放rtmp流。主要用于直播,视频监控在浏览器播放的流处理,小编的使用场景为监控。因为业务要求且服务器浏览器无法安装vgx播放器(貌似是因为服务器无...
  • NGINX下RTSP转RTMP

    2018-12-17 13:58:53
    Windows 下使用NGINX,搭建RTMP流媒体服务器,包含使用说明,下载就可使用。
  • 但这样做有个局限,就是当有几百路rtsp流需要转发时,不能实现根据客户端观看的需求再自主启动协议,只能就启动转发软件,把rtsp协议转换到rtmp协议,这样就会造成带宽的浪费和系统负载过大,我们更需要有人开始...
  • 海康威视视频,视频流 RTSP 转RTMP 。海
  • 配套博文见《ffmpeg 将rtsp转rtmp用网页播放安装及使用教程》 https://blog.csdn.net/sac761/article/details/108731650
  • nginx-rtmp-ffmpeg集合 查看相关文章:http://javame.cnblogs.com 有问题加我
  • 前端经过好多的尝试,终于在谷歌上把海康视频流rtsp转rtmp成功播放了,不足之处在于视频有0.3秒延迟
  • 三:支持编码器rtmp/rtsp网络流转发到KMS/FMS/Wowza等流媒体服务器 四:支持编码器rtmp/rtsp等协议立即录像或者任务录像,录像为标准mp4格式 五:支持本地mp4文件转发成网络流,推送给KMS/FMS/Wowza等流媒体服务器...
  • rtsp转rtmp推流工具

    2021-07-27 10:52:08
    pyqt实现rtsprtmp
  • RTSP流转RTMP并推送至Web端展示所需所有工具,包含已编译和配置好的nginx拉流、ffmpeg推流配置、web播放器、vlc播放器
  • 海康威视本地局域网内视频拉取播放,rtsp转rtmp视频播放,支持谷歌高版本。亲测有效,可放心下载。
  • RTSP转rtmp

    2020-09-23 18:01:00
    RTSP转rtmp 1.安装ffmpeg yum install epel-release -y rpm --import http://li.nux.ro/down...

    RTSP转rtmp

    1.安装ffmpeg

    yum install epel-release -y
    rpm --import http://li.nux.ro/download/nux/RPM-GPG-KEY-nux.ro
    rpm -Uvh http://li.nux.ro/download/nux/dextop/el7/x86_64/nux-dextop-release-0-5.el7.nux.noarch.rpm
    yum install ffmpeg ffmpeg-devel -y
    

    2.docker安装alfg/nginx-rtmp

    docker run -itd -p 1935:1935 -p 8085:80 --name nginx_ffmpeg alfg/nginx-rtmp
    

    3.开启rtsp转rtmp

    nohup ffmpeg -f rtsp -rtsp_transport tcp -i 'rtsp://192.168.1.212:8557/sub_stream_1' -codec copy -f flv -an 'rtmp://192.168.1.122:1935/stream/test' > /data/ffmpeg/logs/ffmpeg.log 2>&1 &  
    

    4.通过vlc等播放器通过rtmp地址访问

    打开vlc播放器,点击媒体-网路串流

    输入rtmp://192.168.1.122:1935/stream/test

    等待8s左右即可出现视频画面,但是会有8s左右延迟

    展开全文
  • rtsp转rtmp,web展示使用,使用ffmpeg+java后台实现
  • rtsp视频转rtmp.rar

    2019-07-27 17:32:12
    通过FFmpeg+NGINX实现rtsp转rtmp并实时推流,配置文件什么都已经添加好,不懂可以去我博客查看一下说明,解压之后直接使用不用安装
  • 海康威视本地局域网内视频拉取播放,rtsp转rtmp视频播放,支持谷歌高版本。亲测有效,可放心下载。
  • IPC或者NVR基本上都支持RTSP流输出,而互联网直播云服务大部分都支持的是RTMP推流输入,那么我们实际要做的就是将IPC或者NVR的RTSP流转成RTMP流推送到公有云的直播地址,简而言之就是RTSP转RTMP; 最佳实践 一、

    项目需求

    现有某幼儿园工地现场,现场采用的是普通的家用拨号上网宽带,现场是没有固定公网IP的,内部采用的是IPC摄像机+NVR硬盘录像机的组合完成传统的视频安防监控需求,现在需要将整个幼儿园工地现场实时直播到互联网,以备上级领导和家长随时观看现场情况。

    需求分解

    其实上述是典型的传统安防互联网化的需求,IPC或者NVR基本上都支持RTSP流输出,而互联网直播云服务大部分都支持的是RTMP推流输入,那么我们实际要做的就是将IPC或者NVR的RTSP流转成RTMP流推送到公有云的直播地址,简而言之就是RTSP转RTMP;

    最佳实践

    一、登录EasyNTS上云网关

    上云网关

    二、EasyNTS上云网关配置拉流转推流

    RTSP转RTMP
    RTSP转RTMP

    以上两个步骤就达到了我们需要的目标:RTSP转RTMP,那么,EasyNTS还有什么特别之处吗?

    三、云端管控★★★

    以上的配置能够达到基本的视频直播推流的功能,但是设备放在工地现场,当我们要临时做直播流配置调整的时候,我们需要人工去现场进行配置,那么如何能够做到远程就能轻松完成配置呢?

    可以!

    EasyNTS上云网关
    我们将EasyNTS上云网关配置接入到EasyNTS上云平台上,那么在EasyNTS上云平台上,就可以集中管控所有的这些网关设备了:
    EasyNTS上云平台

    EasyNTS远程管控
    EasyNTS远程管控

    不用人员去现场,我们就能远程解决所有配置相关的工作,大大降低了人力成本和时间成本;

    四、视频源参数配置★★★★

    假设这个时候,我们发现摄像机的码率太大了,我们要修改一下摄像机的帧率和码率配置,我们需要进入到摄像机的管理页面修改,这个时候我们怎么实战呢?

    没问题,我们直接进入到EasyNTS上云平台的设备端口穿透配置,将摄像机或者NVR的网页管理端口穿透到互联网,进行配置就可以了;

    五、远程运维★★★★★

    假设这个时候,突然发现现场的某一个摄像机访问不了,也不清楚现场的具体情况,如果能够在现场搞个主机,ping一下摄像机或者检查一下网络情况,确认一下摄像机到底是否有联网?

    进入EasyNTS上云网关主机内部
    EasyNTS
    EasyNTS
    当然,你还可以通过EasyNTS具备的端口穿透功能,将现场的路由器管理页面穿透出来,再进行公网的运维;

    以上一整套操作,几乎全方位地解决了RTSP转RTMP的全过程可能遇见的问题的解决方案,除非现场断网断电,其他问题可以说都可以远程解决;

    以上就是项目实战中RTSP转RTMP的最佳实践过程!

    展开全文
  • ffmpeg实现rtsp转rtmp

    千次阅读 2020-08-31 16:10:44
    首先,说一下ffmpeg实现rtsp转rtmp需要的条件: (1)ffmpeg包:https://github.com/xueying123-cat/ffmpeg (2)nginx-rtmp:https://github.com/xueying123-cat/nginx-rtmp.git (3)转码服务,这是比较重要的将...

    首先,说一下ffmpeg实现rtsp转rtmp需要的条件:

    (1)ffmpeg包: https://github.com/xueying123-cat/ffmpeg

    (2)nginx-rtmp:https://github.com/xueying123-cat/nginx-rtmp.git

    (3)转码服务,https://github.com/xueying123-cat/camera.git,这个代码对于多个转流同时执行可能存在线程不能正常结束的问题,大家有好的建议可以留言赐教

    思路:转码服务将SVR中的rtsp流通过ffmpeg包转化为rtmp包,然后nginx-rtmp支持rtmp流播放。

    ffmpeg转流命令:

    ffmpeg -re  -rtsp_transport tcp -i "rtsp://username:password@serverIp/id=chnid" -f flv -vcodec copy -acodec copy -f flv -s 1280x720 -q 10 "rtmp://nginx_rtmp_ip:nginx_rtmp_ip/live/test"

    nginx-rtmp的nginx-conf配置:

    worker_processes  1;
    
    error_log  logs/error.log info;
    
    events {
        worker_connections  1024;
    }
    
    rtmp {
        server {
            listen 1935;
            chunk_size 4096;   #//数据传输块的大小
            application live {
                live on;
            }
    		application vod {
                play D:\lib; #//视频文件存放位置。
            }
            application hls {
                live on;
                hls on;  
                hls_path D:\lib;  
                hls_fragment 8s;  
            }
        }
    }
    
    http {
        server {
            listen      8083;
    		···
        }
    }
    
    

    现在说一下转码服务如何实现将rtsp流转化为rtmp流

    //(1)获取当前转流命令,配置在常量类里
    String command = ffmpegCommand.RTSP_TO_RTMP.getValue()
            .replace("rtspUrl", rtsp)
            .replace("rtmpUrl", rtmp);
    
    //(2)执行cmd转流命令
    Runtime.getRuntime().exec(commond)
    
    //(3)将当前转流功能线程里执行,维护当前转流功能不被其他请求打扰
    private static ThreadLocal<BufferedReader> br = ThreadLocal.<BufferedReader>withInitial(() -> null);
    private static ThreadLocal<String> threadId = ThreadLocal.<String>withInitial(() -> null);    //定义线程内变量
    private static ThreadLocal<Boolean> cameraStatus = ThreadLocal.<Boolean>withInitial(() -> false);
    
    //在本机创建一个进程
    Process process = Runtime.getRuntime().exec(command);
    
    new Thread(() -> {
        cameraStatus.set(true);
        InputStream is = process.getErrorStream();
        BufferedReader reader = new BufferedReader(new InputStreamReader(is));
        br.set(reader);
        threadId.set(id);
    
        while (cameraStatus.get()) {
            //对流操作
            ···
            
            if (Thread.currentThread().isInterrupted()) {
                cameraStatus.set(false);
                closeResources(is, reader);
            }
        }
    
    }
    //(4)结束转流时,中断线程,并向当前线程中发送ffmpeg的停止命令q指令终止process的进程,停止当前线程
        thread.interrupt();
        OutputStream out = process.getOutputStream();
        Writer w = new OutputStreamWriter(out);
        try {
            w.write("q");
            w.flush();
        } catch (IOException e) {
            throw new CameraException("IOException==stop=>", e.getMessage());
        } finally {
            try {
                if (w != null) {
                    w.close();
                }
            } catch (IOException e) {
                throw new CameraException("IOException==closew=>", e.getMessage());
            }
        }
    
    

    测试结果:

     

    图像:

     

    写的比较粗糙,如果哪里有不明白,欢迎留言

    展开全文
  • java实现rtsp转rtmp

    2021-03-18 16:22:02
    RTSP转RTMP有多种实现方式,原理差不多。 最简单的可以用ffmpeg来实现: ffmpeg -i "rtsp流路径" -vcodec copy -acodec copy -f flv "rtmp://127.0.0.1:1935/live/" 上面实现了功能,但是没有工程化,实用性不强...

    RTSP转RTMP有多种实现方式,原理差不多。

    最简单的可以用ffmpeg来实现:

    ffmpeg -i "rtsp流路径" -vcodec copy -acodec copy -f flv "rtmp://127.0.0.1:1935/live/"

    上面实现了功能,但是没有工程化,实用性不强,本文重点在于Java实现。

    java处理音视频目前最好的库就是javacv,我们可以通过FFmpegFrameGrabber来捕获rtsp数据流,

           // 采集/抓取器
            grabber = new FFmpegFrameGrabber(src);
            if(src.indexOf("rtsp")>=0) {
                grabber.setOption("rtsp_transport","tcp");
            }
            grabber.start();// 开始之后ffmpeg会采集视频信息,之后就可以获取音视频信息
            if (width < 0 || height < 0) {
                width = grabber.getImageWidth();
                height = grabber.getImageHeight();
            }
            // 视频参数
            audiocodecid = grabber.getAudioCodec();
            codecid = grabber.getVideoCodec();
            framerate = grabber.getVideoFrameRate();// 帧率
            bitrate = grabber.getVideoBitrate();// 比特率

    然后通过FFmpegFrameRecorder来录制推流

            // 录制/推流器
            record = new FFmpegFrameRecorder(out, width, height);
            record.setVideoOption("crf", "18");
            record.setGopSize(2);
            record.setFrameRate(framerate);
            record.setVideoBitrate(bitrate);
    
            record.setAudioChannels(audioChannels);
            record.setAudioBitrate(audioBitrate);
            record.setSampleRate(sampleRate);
            AVFormatContext fc = null;
            if (out.indexOf("rtmp") >= 0 || out.indexOf("flv") > 0) {
                // 封装格式flv
                record.setFormat("flv");
                record.setAudioCodecName("aac");
                record.setVideoCodec(codecid);
                fc = grabber.getFormatContext();
            }
            record.start(fc);

    下面提供了一个springboot的工程地址,实现了传入rtsp地址,获得前端播放地址的功能,后续可以在此基础上进一步完善。

    工程地址:

           flvjs实现rtsp数据流无插件浏览器播放-前端

            flvjs实现rtsp数据流无插件浏览器播放-后端

    展开全文
  • 【笔记】Java 实现RTSP转RTMP协议 核心代码: try { avutil.av_log_set_level(avutil.AV_LOG_INFO); FFmpegLogCallback.set(); grabber = new FFmpegFrameGrabber(pojo.getRtsp()); grabber.setOption(...
  • RTSP转RTMP 推流器 目录 1 设备介绍 2 使用界面 3 状态显示 4 Onvif设备发现 5 云台控制 6 分屏直播 7 录像回放 8 通道设置 9 系统设置 10 设备输出HLS视频流 ##1. 设备介绍 本设备是武汉市迅思维科技有限公司开发...
  • 海康威视摄像头rtsp批量转rtmp 1、安装nginx-rtsp版,并运行(网上有很多教程) 2、新建java项目,并将代码文件加入到src目录下 3、全文搜索“!Constants.isExit()”替换为flag 4、导入maven包 5、运行代码下main...
  • Rtsp转RTMP之按需转发模式2016年10月21日 11:41作者:厂商投稿编辑:丁蓓蓓文章出处:泡泡网原创分享Rtsp转RTMP之有客户观看才启动模式由于网络摄像头大都是仅支持rtsp协议,若实现低延时无需下载插件就能看摄像头,...
  • rtsp转rtmp程序,从rtsp摄像机获取流,转换为rtmp push到服务器(官方资源)
  • 先下载安装 nginx 和 nginx-rtmp 编译依赖工具sudo apt-get install build-essential libpcre3 libpcre3-dev libssl-dev2. 创建一个nginx目录,并切换到nginx目录mkdir ~/nginxcd ~/nginx3. 下载 nginx 和 nginx-...
  • nginx默认不支持rtmp流的转换,需要通过第三方扩展模块来实现流。 2.1 查看 # 查看当前Nginx的编译安装使用了那些模块 /usr/local/nginx/sbin/nginx -V [root@otwb-app03-uat //]# /usr/local/nginx/sbin/ngi

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 13,161
精华内容 5,264
关键字:

rtsp转rtmp