首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏流媒体

    Android平台下使用FFmpeg进行RTMP摄像头

    简介 前面讲到了在Android平台下使用FFmpeg进行RTMP(视频文件),里面主要是介绍如何解析视频文件并进行,今天要给大家介绍如何在Android平台下获取采集的图像,并进行编码 学习本章之前最好先看之前的文章,这里是一套连贯的教程 RTMP服务器搭建(crtmpserver和nginx) 音视频编码相关名词详解 基于FFmpeg进行RTMP(一) 基于FFmpeg进行RTMP (二) Linux下FFmpeg编译以及Android平台下使用 Android平台下使用FFmpeg进行RTMP(视频文件) 打开摄像头并设置参数 具体代码查看CameraActivity.java (ofmt_ctx, pCodec)这个就和之前的文件一样了。 buffers, pCodecCtx->pix_fmt, pCodecCtx->width, pCodecCtx->height, 1); //摄像头数据为

    7.3K51发布于 2018-08-23
  • 来自专栏EasyNVR

    【硬件设备】海康RTMP摄像头流到腾讯云配置手册

    每天都有很多新老用户咨询我关于RTMP摄像头的问题,摄像头的配置手册我之前已经写过(RTMP摄像头如何接入EasyDSS视频平台),已经持有RTMP摄像头的可以按照此手册进行配置。 由于部分用户使用的是阿里云或者腾讯云的云服务器,也有将摄像头视频直接推送到云服务器的需求,所以本文跟大家介绍一下如何将RTMP摄像头至腾讯云平台。 准备工作 1、准备RTMP摄像头 2、一个备案后的域名 3、有腾讯云账户 4、开通云直播业务 配置步骤 准备工作完成之后,以下为配置步骤: 1、需要添加和播放域名,一般为二级域名,相应域名需要备案 登录摄像头配置界面-配置-网络-高级配置-RTMP。点击启用,填写服务器地址即可。 填写后,建议重启摄像头。 5、在摄像头正常情况下,腾讯云直播的流管理中会出现相应的视频。 大家按以上要求进行配置即可,阿里云的配置方法在此文:海康RTMP摄像头流到阿里云配置手册,可点击直接阅读。

    8.8K43发布于 2020-10-10
  • 来自专栏TSINGSEE青犀视频

    如何联合RTMP摄像头构建智慧消防方案?

    最近我们遇到了河北某消防行业视频监控需求,通过在消防车上安装多个摄像头,将实时采集的音视频画面回传到指挥台,便于指挥台对消防现场进行实时监控、指挥调度与信息交换。 根据此项目要求方案主要分有两部分:车载摄像头(前端采集)、流媒体服务器(控制台监控)。推荐方案架构如下: 1、设备层:消防车安装车载摄像头2-4路,采集车辆的状态数据。 2、通讯层:通过4G/5G路由设备将摄像头统一接入,实现各种传感数据的通信支持。 3、数据与服务器层:利用流媒体服务器接收前端设备的RTMP数据,实现大并发、主流品牌接入、转码、分发及存储等功能。

    58710发布于 2021-03-01
  • 来自专栏C/C++与音视频

    视频RTMP实践

    对应RTMP,业界有很多开源方案。如使用FFMPEG,librtmp(rtmp-dump),gstream。由于ffmpeg和gstreamer比较庞大,仅仅用来,有大炮打蚊子之嫌。 接口。 \n");     return 0; } 基本思路如下: 读文件----解析NAL单元---利用 SendData发送一个完成的NAL单元完成 编译main.cpp Wrapper_RtmpLib.cpp 运行可执行程序 . 3.如果是云主机,在云主机内不能公网IP,而要内网IP 192.168.1.226,客户端访问需要外网IP。 客户端播放效果如下:。

    9.2K30编辑于 2022-06-14
  • 来自专栏流媒体

    Android RTMP之MediaCodec硬编码二(RTMPDump

    简介 在前面的两篇文章中:Android RTMP之MediaCodec硬编码一(H.264进行flv封装)介绍了如何MediaCodec进行H264硬编码,然后将编码后的数据封装到flv文件中。 Android平台下RTMPDump的使用介绍了如何将RTMPDump移植到Android平台下,并读取解析flv文件进行。 主要增加三个方法:建立连接,数据,释放连接。 我们还是使用Android RTMP之MediaCodec硬编码一(H.264进行flv封装)里的代码。 第三步 c++层方法实现 c++层逻辑的编写。我们将方法写到rtmp_handle.cpp。

    5.2K50发布于 2018-08-23
  • 来自专栏小锋学长生活大爆炸

    如何使用OpenCV RTMP直播

    服务器地址 rtmp = r'rtmp://txy.live-send.acg.tv/live-txy/' # 读取视频并获取属性 cap = cv2.VideoCapture(0) size = (int RTMP是什么? RTMP是Real Time Messaging Protocol(实时消息传输协议)的首字母缩写。 该协议基于TCP,是一个协议族,包括RTMP基本协议及RTMPT/RTMPS/RTMPE等多种变种。 RTMP是一种设计用来进行实时数据通信的网络协议,主要用来在Flash/AIR平台和支持RTMP协议的流媒体/交互服务器之间进行音视频和数据通信。 RTMP与HTTP一样,都属于TCP/IP四层模型的应用层。 树莓派是什么?

    11.6K20发布于 2020-08-13
  • 来自专栏流媒体

    基于FFmpeg进行RTMP(二)

    在前面一节基于FFmpeg进行RTMP(一)我们写了最简单的一版代码。但细心调试过的兄弟会发现当我们把文件换成mp4后,发现上面的代码在写入文件头时报错。也就是说上一版的代码是有bug的。 说明我们的速度有问题。快了或慢了都会有问题。我们大概可以定位到,我们在计算延时的时候出现了错误。 test.mp4放到bin目录下即可 const char *inUrl = "hs.mp4"; //输出的地址 const char *outUrl = "rtmp://192.166.11.13 ////////////////////////////////////////////////////////////////// // 准备 << endl; //每一帧数据 //int64_t pts [ pts*(num/den) 第几秒显示] //int64_t dts 解码时间 [P帧(相对于上一帧的变化

    9.2K50发布于 2018-08-23
  • 来自专栏RTSP服务器

    深入探讨后台摄像头|麦克风采集与轻量级RTSP服务|RTMP架构设计

    ​在 Android 音视频开发中,“后台”是一个经典且棘手的需求。常见的场景包括:行车记录仪(熄屏录像)、智能安全帽(后台回传)、执法记录仪等。 Android 系统对后台应用限制极严。如果不启动前台服务(在通知栏显示一条常驻通知),App 切后台后几分钟内网络和 CPU 就会被限制,导致中断。2. 这是性能最敏感的部分,直接决定了的延迟和流畅度。 五、 核心实现四:RTSP Server 与多路分发系统不仅支持 RTMP ,还内置了一个轻量级的 RTSP Server。这意味着手机本身变成了一个 IPC(网络摄像机)。 灵活性:Service 承载业务,Activity 仅作展示,实现了完美的解耦,支持断线重连和后台静默。 功能全:同时支持 RTMP 、RTSP 服务端、水印叠加、软硬编码自动切换。

    43741编辑于 2025-12-18
  • 来自专栏LiteMedia

    LiteCVR防监控平台RTMP平台级联到上级的方法

    随着摄像头和显示设备技术的不断进步,视频监控系统将朝着更高的分辨率方向发展。高清和超高清画质可以提供更清晰、细节丰富的图像,有助于提升监控的效果和应用价值。 有用户反馈,现场的设备是运动相机,不支持国标和其他协议接入LiteCVR平台,只能通过rtmp_push推送到LiteCVR平台。 RTSP、RTMP、FLV、HLS、WebRTC等格式的视频。 LiteCVR平台机制上并不支持rtmp_push协议的级联,但是依然有办法可以实现用户的需求。 因为现场只有这种协议,所以,我们将rtmp_push协议分发出来的RTSP再接入到LiteCVR平台,转换了一道变成了RTSP接入,再次级联就能成功获取到视频通道了。

    37360编辑于 2023-11-10
  • 来自专栏EasyNVR

    音视频流媒体服务器直播点播平台在车辆实时监控系统中如何做用户观看限制?

    最近我们遇到一位用户提出了新的需求:在进行车辆实时监控项目的应用中,车载摄像头流到流媒体服务器上进行转码分发。其中每辆车有4个摄像头,统一管理在车内的硬件设备中(系统)。 需要实现,车载摄像头的实时直播查看,实现用户管理功能,无自建业务系统,使用现有平台进行设备及视频统一管理及输出。 对于车辆监控的我目前还没有涉及过,但是我认为通过EasyRTMP组件应该能够实现,于是针对以上需求,我协同项目经理进行方案设计,前端设备集成RTMP组件,流到流媒体服务器直播/点播平台进行转码分发 第二步:前端设备集成RTMP组件(该用户前端设备使用的是系统,集成安平台专用SDK,项目验证阶段可通过DEMO实现),可以使用EasyRTMP进行测试。 第三步:在流媒体服务器直播/点播平台创立直播,车载摄像头流到指定直播通道内,通过“显示模式”设定,四分屏、十六分屏显示,同时提供给客户端查看。 ?

    93750发布于 2020-05-20
  • 来自专栏码客

    Nginx添加rtmp模块搭建rtmp服务器

    前言 搭建基于rtmp协议的服务器。 nginx-1.12.2 nginx 3、备份文件 cp -r /etc/nginx /etc/nginx_bak mv /usr/sbin/nginx /usr/sbin/nginx_bak 下载rtmp 模块 仓库地址:nginx-rtmp-module cd /usr/lib64/nginx/modules/ git clone https://github.com/arut/nginx-rtmp-module.git NGINX_HOME=/usr/local/nginx export PATH=$PATH:$NGINX_HOME/sbin 重新编译环境变量 source /etc/profile 配置Nginx的rtmp 请求路径,文件存放路径 hls_fragment 5s; #每个TS文件包含5秒的视频内容 } } } 启动nginx cd /usr/local/nginx

    8.8K20发布于 2019-10-22
  • 来自专栏转载专栏

    RTSP和RTMP协议有什么区别?RTSP为什么常用于防监控摄像头行业,而视频直播却只使用RTMP

    RTSP为什么常用于防监控摄像头行业 RTSP是常常应用于防监控摄像头,其他领域基本很少使用。 综上所述,RTSP协议能够满足防监控摄像头的实时性、可扩展性、灵活性和跨平台兼容性的需求,因此广泛应用于防监控系统中。 为什么直播都使用RTMP协议,而不用RTSP或者webrtc 直播行业选择使用RTMP协议的原因有几个: RTMP协议具有较低的延迟。 相比之下,WebRTC和RTSP协议在直播行业的使用上存在一些限制: WebRTC协议在方面的应用相对较新。 总的来说,直播行业选择使用RTMP协议主要基于其较低的延迟、跨平台兼容性和丰富的功能。然而,随着技术的发展和标准的不断演进,直播行业可能会逐渐采用更多的协议和技术,以满足不同需求和场景的要求。

    7.5K12编辑于 2024-01-25
  • 来自专栏ios技术安装

    ios摄像头(1)

    iOS之摄像头 功能概述 摄像头,是指采集手机摄像头的画面以及麦克风的声音,进行编码之后再推送到直播云平台上。 腾讯云 LiteAVSDK 通过 TXLivePusher 接口提供摄像头能力,如下是 LiteAVSDK 的简单版 Demo 中演示摄像头的相关操作界面: image.png 特别说明 启动和结束 如果已经通过startPreview接口启动了摄像头预览,就可以调用 TXLivePush 中的startPush接口开始。 563513413,不管你是大牛还是小白都欢迎入驻 //启动 NSString* rtmpUrl = @"rtmp://test.com/live/xxxxxx"; //此处填写您的 rtmp //结束 [_pusher stopPreview]; //如果已经启动了摄像头预览,请在结束时将其关闭。 [_pusher stopPush]; 复制代码 如何获取可用的 URL?

    1.6K00发布于 2020-10-17
  • 来自专栏ios技术安装

    iOS摄像头(2)

    纯音频 如果您的直播场景是纯音频直播,不需要视频画面,那么您可以不执行 第4步 中的操作,取而代之的是开启 TXLivePushConfig 中的enablePureAudioPush配置。 [](javascript: void 0;) //通过修改 enablePureAudioPush 开关,开启纯音频 TXLivePushConfig *_config = [[TXLivePushConfig alloc] init]; _config.enablePureAudioPush = YES; // YES 为启动纯音频,只有在调用 startPush 前设置才会生效。 /live/xxxxxx"; [_pusher startPush:rtmpUrl]; 如果您启动纯音频,但是 rtmp、flv 、hls 格式的播放地址拉不到,那是因为线路配置问题,请 控制摄像头 TXLivePush 提供了一组 API 用户控制摄像头的行为: API 函数 功能说明 备注说明 switchCamera 切换前后摄像头 Mac 平台对应的函数为 selectCamera

    1K10发布于 2020-10-19
  • 来自专栏TSINGSEE青犀视频

    【参数配置教程】RTMP摄像头内参数都应该如何配置?

    TSINGSEE青犀视频的RTMP摄像头受到了很多用户的认可,由于摄像头的配置与视频的清晰度及流畅度有着直接的关系,配置不匹配会导致视频的模糊或者卡顿,因此很多用户在使用的时候,对于摄像机内的配置参数仍有些迷茫 接来我们就一些常见的参数(编码模式、分辨率、帧率、码控制、I帧间隔等)解释一下所表述的意思。 H.265 H.265是ITU-T VCEG继H.264之后所制定的新的视频编码标准,在原有标准的基础上改善码、编码质量、延时和算法复杂度之间的关系,使编码最优。 三、帧率(FRAME RATE) 每秒显示的帧数(Frames per Second),描述视频的更新频率,单位是FPS或Hz。 一般在实际应用中,每秒25帧是可以满足需求的。 四、码控制(BITSTREAM CONTROL) 当码控制方式为可变码时,摄像机根据网络带宽情况实时调整视频的码,保证在网络带宽不足的情况下视频画面的正常显示。

    2.3K10发布于 2021-05-17
  • 来自专栏韩曙亮的移动开发专栏

    【Android RTMP】RTMPDump 流过程 ( 独立线程 | 创建器 | 初始化操作 | 设置地址 | 启用写出 | 连接 RTMP 服务器 | 发送 RTMP 数据包 )

    文章目录 一、 Java 层传入的 RTMP 地址处理 二、 RTMPDump 流线程 三、 创建 RTMP 对象 四、 初始化 RTMP 对象 五、 设置 RTMP 地址 六、 启用 RTMP 独立线程 : RTMP 操作需要在一个独立的线程中完成 , 涉及到网络的操作都是耗时操作 , 在 Android 中都要在线程中执行 ; 2 . 初始化 RTMP RTMP_Init(rtmp); // 设置超时时间 5 秒 rtmp->Link.timeout = 5; 五、 设置 RTMP 地址 ---- 设置 RTMP 地址 , 如果设置失败 结束, 关闭与 RTMP 服务器连接, 释放资源 if(rtmp){ RTMP_Close(rtmp); RTMP_Free(rtmp); } 十一、 RTMPDump 代码 - 获取 Rtmp 地址 char* pushPath = static_cast<char *>(args); // rtmp RTMP* rtmp = 0;

    3.5K20编辑于 2023-03-27
  • 来自专栏用户1692782的专栏

    协议转换之rtsp转rtmp

    本篇记录实现一个rtsp转rtmp直播的程序!闲言少叙,接下来置入主题。 需求 有一个摄像头,比如海康的监控摄像头,可以通过rtsp的方式访问其视频画面! 需要将其画面转换为rtmp协议,并实现直播! 实现思路 我们的程序,称之为rtsp2rtmp,使用该程序实现拉取摄像头rtsp视频,并将rtmp视频流转换为rtmp视频,然后推送到直播服务器,直播服务器采用nginx+rtmp_module的方式实现 << std::endl; // 2.获得信息 m_nRet = avformat_find_stream_info(m_pRtspAVFormatContext, 0); if (m_nRet m_nRet = av_read_frame(m_pRtspAVFormatContext, &pkt); if (m_nRet < 0) { break; } 写入输出

    4.7K30发布于 2020-07-14
  • 来自专栏码客

    OSSRS搭建rtmp服务器

    /objs/srs -c conf/http.hooks.callback.conf 测试 ffmpeg -re -stream_loop -1 -i /data/rtmptest.mp4 -vcodec /objs/srs -c conf/ffmpeg.transcode.conf>log.txt & ffmpeg -re -stream_loop -1 -i /usr/local/srs2/doc main -preset medium -acodec copy -f flv -y rtmp://127.0.0.1:1935/live/test2 涉及的包括: 编码器推送rtmp://rtmp.psvmc.cn :1935/live/test 观看原始rtmp://rtmp.psvmc.cn:1935/live/test 命令转码rtmp://rtmp.psvmc.cn:1935/live/test2 /log.txt & ffmpeg -re -stream_loop -1 -i /data/rtmptest.mp4 -vcodec copy -acodec copy -f flv -y rtmp

    8.5K30发布于 2019-10-22
  • 来自专栏视频云直播

    rtmp异常快速恢复方案

    本方案的亮点是服务端只提供建议,不做决策,客户端可以结合终端和后台提供的信息,进行综合评估,对比单方面决策,可以大幅提升决策的准确性。 2、RTMP 302重定向具体方案 为了解决流过程中,网络异常问题,采用了RTMP 302 重定向的方案,具体实现逻辑如下图所示: 步骤一,流过程中,rtmp server端支持持续弱网检测,支持域名 上述解决方案,在流过程中,通过RTMP 302的方式获取到服务器慢速信息,根据客户端以及服务器端慢速信息,来进行断流重,快速恢复直播,提高成功率。 对上述方案进行扩展,在开始时,利用302进行服务端的负载均衡。服务器端在刚收到客户端数据时,给客户端发送RTMP 302信息,来进行高负载302调度,提高的成功率。 3、结论 综上所述: 1、在流过程中,给客户端发送RTMP 302控制消息,客户端使用服务器提供的重定向地址,进行断流重,可以快速恢复异常,提升上行流质量; 2、在开始时,服务器端可以综合后台机器负载以及带宽资源情况

    3.1K10编辑于 2022-01-12
  • 来自专栏叹世界

    C++ 调用 ffmpeg 进行 rtmp

    效果 Clion 中演示的效果 终端中运行也没有问题 思路 通过 fork 一个子进程来调用 ffmpeg 进行,视频帧通过 opencv 来获取,通过管道传输到子进程,实现 代码 需要注意的是 触发下面的信号就退出 signal(SIGINT, OnSignal); signal(SIGQUIT, OnSignal); signal(SIGTERM, OnSignal); // 打开摄像头 = "rtmp://localhost:1935/live/test"; std::stringstream command; command << "ffmpeg "; // infile ; cv::Mat frame; // 在子进程中调用 ffmpeg 进行 FILE *fp = nullptr; fp = popen(command.str().c_str( else { return EXIT_FAILURE; } } CMakeLists.txt: cmake_minimum_required(VERSION 3.20) project(rtmp_test

    6.1K20编辑于 2022-01-12
领券