首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏RTSP/RTMP直播相关

    Android平台实现RTSP拉流转发至轻量级RTSP服务

    ​技术背景我们在做Android平台RTSP转发模块的时候,有公司提出来这样的技术需求,他们希望拉取外部RTSP摄像头的流,然后提供个轻量级RTSP服务,让内网其他终端过来拉流。 回调上来的数据,可以作为轻量级RTSP服务的数据源(投递编码后数据),推送端,只要启动RTSP服务,然后发布RTSP流即可。 ;rtsp_handle_ = libPublisher.OpenRtspServer(0);if (rtsp_handle_ == 0) {Log.e(TAG, "创建rtsp server实例失败! = 0) {libPublisher.CloseRtspServer(rtsp_handle_);rtsp_handle_ = 0;Log.e(TAG, "创建rtsp server端口失败! ;} else {libPublisher.CloseRtspServer(rtsp_handle_);rtsp_handle_ = 0;Log.e(TAG, "启动rtsp server失败!

    40810编辑于 2024-07-08
  • 来自专栏RTSP/RTMP直播相关

    Android平台如何实现外部RTSP|RTMP流注入轻量级RTSP服务模块(内网RTSP网关)

    技术背景今天分享的是外部RTSP或RTMP流,拉取后注入到本地轻量级RTSP服务模块,供内网小并发场景下使用,这里我们叫做内网RTSP网关模块。 内网RTSP网关模块,系内置轻量级RTSP服务模块扩展,完成外部RTSP/RTMP数据拉取并注入到轻量级RTSP服务模块工作,多个内网客户端直接访问内网轻量级RTSP服务获取公网数据,无需部署单独的服务器 内置轻量级RTSP服务模块和内置RTSP网关模块共同点:内置轻量级RTSP服务模块和内置RTSP网关模块,核心痛点是避免用户或者开发者单独部署RTSP或者RTMP服务,数据汇聚到内置RTSP服务,对外提供可供拉流的 内置RTSP网关模块,实际上是RTSP/RTMP拉流模块+内置轻量级RTSP服务模块组合出来的。 网关,在小并发的环境下,不需要单独部署RTSP或RTMP服务,配合我们RTSP播放器,延迟毫秒级,优势非常明显,感兴趣的开发者可参考,如果需要测试,可测试看看,不止Android平台,Windows也有类似的实现

    1.2K20编辑于 2023-05-17
  • 来自专栏用户1692782的专栏

    手撕RTSP协议系列(7)——PLAY

    RTSP URI表明请求的RTSP 地址; RTSP version表明版本号; CSeq 表示请求的序列号; User-Agent表示用户代理; Session 表示会话id,值为SETUP请求之后, 同样,客户端发送PLAY请求之后,服务端会回复RTSP消息,常见的回复字段格式如下: ? Rtsp Version表示RTSP的版本; 状态码表示当前消息的状态,没有异常的情况下一般为200; 状态描述是针对状态码的描述,如200对应的描述为OK; CSeq表示RTSP包的序号; Session PLAY 案例 好了,最后放上一个实例: RTSP PLAY (requst) PLAY rtsp://192.17.1.63:554/ RTSP/1.0\r\n Range: npt=0.000-\r ://192.17.1.63:554/", response="9ea6c2659d3bce8d129ca3549ecc7fbf"\r\n\r\n RTSP PLAY (response) RTSP/1.0

    2.9K51发布于 2020-10-30
  • 来自专栏txp玩Linux

    rtsp服务器测试的“骚”操作!

    好了,今天给大家分享的是rtsp系列专题的第一个开篇:rtsp服务器搭建! rtsp服务器搭建: 今天我们搭建这个rtsp服务器的名称叫做:ZLMediaKit,它是一个基于C++11的高性能运营级流媒体服务框架,类似我之前给大家搭建的rtmp服务器(srs流媒体服务器),当然它两者肯定是有区别的 支持linux、macos、ios、android、windows全平台。 支持画面秒开、极低延时(500毫秒内,最低可达100毫秒)。 提供完善的标准C API,可以作SDK用,或供其他语言调用。 wiki教程中有详细的介绍: https://github.com/xia-chu/ZLMediaKit/wiki/%E5%BF%AB%E9%80%9F%E5%BC%80%E5%A7%8B 1、获取代码 测试rtsp服务器: 我们现在来把本地媒体文件推流到这个服务器上,然后再进行拉流播放试试,你可以使用obs或者ffmpeg命令来进行,这里我使用了ffmpeg来进行推流,我电脑本地的媒体文件test.mp4

    3K41编辑于 2022-03-21
  • 来自专栏全栈程序员必看

    QT 实现 RTSP 视频流服务器

    uos操作系统中使用QT开发RTSP 视频流服务器,以下的实现方式使用的是单播方式,除了单播模式还有多播模式。 可以通过自己开发的rtsp服务器将摄像头的数据时时推送到服务器中,其他用户可以通过访问视频流地址rtsp://127.0.1.1:8554/live,直接访问摄像头播放的内容,也就是通常说的摄像头直播。 本篇文章使用开源框架live555开发一个属于自己的视频流服务器。 安装环境依赖 live555的使用需要较多的环境依赖,一下安装都是编译依赖相关内容。 服务器 RTSPServer* rtspServer = RTSPServer::createNew(*env, port); if (rtspServer == nullptr) { /RTSPServer -i 0 播放视频: 使用播放工具mplayer 安装播放工具: sudo apt install mplayer 播放rtsp地址: mplayer rtsp://127.0.1.1

    4.5K20编辑于 2022-11-01
  • 来自专栏RTSP/RTMP直播相关

    Android平台内网RTSP网关和轻量级RTSP服务的区别和联系

    除了安卓自带摄像头的数据,还有车载RTSP摄像头,由于系统部署在安卓端,我们初步设计的方案,是走轻量级RTSP服务+内网RTSP网关模块+RTSP直播播放模块,不走RTMP,因为RTMP的话,需单独部署 好多开发者可能对轻量级RTSP服务和内置RTSP网关模块分不清楚。 实际上,内网RTSP网关模块,算是内置轻量级RTSP服务模块扩展,实现外部RTSP/RTMP数据拉取并注入到轻量级RTSP服务模块工作,多个内网客户端直接访问内网轻量级RTSP服务获取公网数据,无需部署单独的服务器 内置轻量级RTSP服务模块和内置RTSP网关模块共同点:内置轻量级RTSP服务模块和内置RTSP网关模块,核心痛点是避免用户或者开发者单独部署RTSP或者RTMP服务,数据汇聚到内置RTSP服务,对外提供可供拉流的 内置RTSP网关模块,实际上是RTSP/RTMP拉流模块+内置轻量级RTSP服务模块组合出来的。

    52600编辑于 2023-08-15
  • 来自专栏全栈程序员必看

    centos7上通过nginx+ffmpeg搭建rtsp直播流转rtmp视频服务器

    准备: 操作系统:CentOS 7 Web服务器:Nginx 版本控制器:Git 搭建: 大部分视频直播平台使用的协议都是RTMP,Nginx也有RTMP的扩展模块,所以我也选用RTMP进行服务器的搭建 4.启动Nginx {Nginx安装路径}/sbin/nginx -c {Nginx安装路径}/conf/nginx.conf 使用浏览器访问服务器,如果出现以下画面表示Nginx成功启动。

    1.6K20编辑于 2022-08-05
  • 来自专栏RTSP/RTMP直播相关

    Android平台RTSP流如何添加动态水印后转推RTMP或轻量级RTSP服务

    技术实现废话不多说,下图先通过Android平台拉取RTSP流,然后把解码后的yuv或rgb数据回上来,以图层的形式投递到推送端,需要加水印的话,添加文字水印或图片水印(系动态水印)图层,底层做动态叠加后二次编码打包 ,通过启动轻量级RTSP服务,发布RTSP流,生成二次处理后的RTSP新的拉流url,如果需要推送至RTMP,只要调用推送RTMP的接口即可,本地录制,可以设置录制目录等信息,保存二次编码后的MP4文件到本地 = 0) {libPublisher.CloseRtspServer(rtsp_handle_);rtsp_handle_ = 0;Log.e(TAG, "创建rtsp server端口失败! ;} else {libPublisher.CloseRtspServer(rtsp_handle_);rtsp_handle_ = 0;Log.e(TAG, "启动rtsp server失败! ;return;}startLayerPostThread();btnRTMPPusher.setText("停止推送");}});总结以上是Android平台拉取RTSP数据,然后添加动态水印后,二次输出到轻量级

    77110编辑于 2023-12-25
  • 来自专栏GB28181技术

    Android平台如何实现RTSP转GB28181

    实际上,在做Android平台GB28181设备接入模块的时候,我们已经有了非常好的技术积累,比如RTMP推送、轻量级RTSP服务、一对一互动模块、业内几乎最好的RTMP|RTSP低延迟播放器。 Android平台GB28181接入SDK(SmartGBD),主要实现不具备国标音视频能力的 Android终端,通过平台注册接入到现有的GB/T28181—2016(包括后续的GB/T28181—2022 264/HEVC数据,或者本地解析的MP4音视频数据);拉取RTSP或RTMP流并接入至GB28181平台(比如其他IPC的RTSP流,可通过Android平台GB28181接入到国标平台)。 目前,我们支持到的功能如下: [视频格式]H.264/H.265(Android H.265硬编码); [音频格式]G.711 A律、AAC; [音量调节]Android平台采集端支持实时音量调节; [ return;}if (gb28181_agent_.isRunning()) {gb28181_agent_.terminateAllPlays(true);// 目前测试下来,发送BYE之后,有些服务器会立即发送

    58810编辑于 2024-01-31
  • 来自专栏RTSP/RTMP直播相关

    Android平台轻量级RTSP服务模块如何实现一个服务发布多路RTSP流?

    我们在做Android平台轻量级RTSP服务和内网RTSP网关的时候,遇到过这样的问题,如何同时发布多路RTSP流出去? ()会返回rtsp_handle_,这个句柄对应一个RTSP Service。 ;rtsp_handle_ = libPublisher.OpenRtspServer(0);if (rtsp_handle_ == 0) {Log.e(TAG, "创建rtsp server实例失败! = 0) {libPublisher.CloseRtspServer(rtsp_handle_);rtsp_handle_ = 0;Log.e(TAG, "创建rtsp server端口失败! (false);}}};如何启动一个服务,发布多个RTSP流(对应不同的数据源和RTSP拉流URL)?

    55720编辑于 2023-09-25
  • 来自专栏RTSP/RTMP直播相关

    Android平台轻量级RTSP服务之GStreamer还是SmartRtspServer

    ​技术背景Android上启动一个轻量级RTSP服务,让Android终端像网络摄像头一样提供个外部可供RTSP拉流的服务,在内网小并发又不希望部署单独流媒体服务的场景下非常适用,在Android终端实现这样的流媒体服务 可以通过集成第三方库或编写自定义的RTSP服务器代码来实现这一功能。今天我们介绍两种方案,一种是GStreamer,另外一种,大牛直播SDK的SmartRtspServer。 对于RTSP服务,你需要创建一个能够捕获媒体(如摄像头视频)、编码它,并通过RTSP服务器发送的管道,GStreamer的特点。 服务器:自研实现轻量级RTSP服务逻辑,支持设置RTSP服务器的参数,如端口号、流名称等。 同时,配置服务器以从摄像头麦克风接收视音频流,并将其封装为RTSP流;启动服务器:启动RTSP服务器,使其开始监听并响应RTSP客户端的请求,发布RTSP流,对外提供RTSP拉流能力;查看RTSP会话数

    2.3K10编辑于 2024-09-08
  • 来自专栏RTSP/RTMP直播相关

    Android平台轻量级RTSP服务模块技术接入说明

    ​技术背景为满足内网无纸化/电子教室等内网超低延迟需求,避免让用户配置单独的服务器,大牛直播SDK在推送端发布了轻量级RTSP服务SDK。 技术对接 系统要求SDK支持Android5.1及以上版本;支持的CPU架构:armv7, arm64, x86, x86_64。 reset() // Specifies a list of ABIs that Gradle should create APKs for include 'armeabi-v7a 清除设置的rtsp server启动rtsp流StartRtspStream启动rtsp流停止rtsp流StopRtspStream停止rtsp流功能支持 ​[视频格式]H.264/H.265(Android 支持RTSP端口设置;支持RTSP鉴权用户名、密码设置;支持获取当前RTSP服务会话连接数;支持Android 5.1及以上版本。

    50210编辑于 2024-07-17
  • 来自专栏RTSP/RTMP直播相关

    Android平台RTSP|RTMP播放器(SmartPlayer)集成必读

    ​技术背景好多开发者拿到大牛直播SDK的Android平台RTSP、RTMP播放模块,基本上不看说明,测试后,就直接集成到自己系统了。 com.daniulive.smartplayer包名下(可在其他包名下调用);Smartavengine.jar加入到工程;拷贝SmartPlayerV2\app\src\main\jniLibs\armeabi-v7a :name="android.permission.WRITE_EXTERNAL_STORAGE" ></uses-permission><uses-permission android:name="android.permission.INTERNET " ></uses-permission><uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" />< reset() // Specifies a list of ABIs that Gradle should create APKs for include 'armeabi-v7a

    1.3K10编辑于 2024-09-05
  • 来自专栏RTSP服务器

    如何将旧手机改造成专业级 RTSP 监控摄像头:轻量级RTSP服务的完整工程方案

    ​如今,一台被闲置在抽屉里的旧 Android 手机,并不需要额外购买云服务、搭建 RTSP 服务器、配置转发端口,也无需依赖任何外部系统,就能被快速改造成一台具备专业画质、低延迟、多终端可同时拉流的 ⑤ 跨平台统一 API相同的 RTSP Server 核心在以下平台完全一致: Android arm64 / armv7 / x86 / x86_64 iOS arm64 Windows Linux (一)系统要求 SDK 支持版本:Android 5.1 及以上版本。 支持的 CPU 架构:armv7、arm64、x86、x86_64。 rtsp serverAddRtspStreamServer给要发布的 RTSP 流设置 RTSP 服务器,一个流可发布到多个 RTSP 服务器上,服务器的创建启动参考 OpenRtspServer 工程实战:如何让旧手机 7×24 小时运行更稳定?以下是监控真正落地时的关键工程经验。4.1 建议启用前台服务避免 Android Doze / 电池优化导致后台杀进程。

    1.3K20编辑于 2025-11-24
  • 来自专栏RTSP/RTMP直播相关

    Android平台如何实现多路低延迟RTSP|RTMP播放?

    技术背景 实际上,我们在2015年做Android平台RTSP、RTMP播放模块的时候,第一版就支持了多实例播放,因为SDK设计比较灵活,做个简单的player实例封装即可实现多实例播放(Android 1 : 0); //设置RTSP超时时间 int rtsp_timeout = 10; lib_player_.SmartPlayerSetRTSPTimeout(handle, rtsp_timeout ); //设置RTSP TCP/UDP模式自动切换 int is_auto_switch_tcp_udp = 1; lib_player_.SmartPlayerSetRTSPAutoSwitchTcpUdp is_auto_switch_tcp_udp); lib_player_.SmartPlayerSaveImageFlag(handle, 1); // It only used when playback RTSP is_need_call) lib_player_.SmartPlayerStopRecorder(get()); return true; } 总结 上面只是简单的播放、录像的演示,除此之外,大牛直播SDK的RTSP

    44500编辑于 2024-07-16
  • 来自专栏RTSP/RTMP直播相关

    Android平台RTSP|RTMP直播播放器技术接入说明

    ​摘要本文详细介绍了在 Android 平台上集成 RTSP 和 RTMP 直播播放模块的技术背景、系统要求、准备工作、接口设计、功能支持以及接口调用流程。 二、系统要求 操作系统:支持 Android 5.1 及以上版本。 CPU 架构:支持 armv7、arm64、x86、x86_64。 " /><uses-permission android:name="android.permission.INTERNET" /><uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS " /><uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />3. 7. 其他接口 SmartPlayerSetMute:实时静音。 SmartPlayerSetAudioVolume:实时调节播放音量,范围为 [0, 100]。

    1.1K20编辑于 2025-03-02
  • 来自专栏海之滨云视频和流媒体技术

    Android流媒体开发之路三:基于NDK开发Android平台RTSP播放器

    基于NDK开发Android平台RTSP播放器 最近做了不少android端的开发,有推流、播放、直播、对讲等各种应用,做了RTMP、RTSP、HTTP-FLV、自定义等各种协议,还是有不少收获和心得的 这篇文章里,我打算描述一下我对于开发AndroidRTSP播放器的程序框架,和设计思路,有相关需求的,希望能借此扩展下思路。 逻辑思路首先,既然是RTSP播放器,那必然要做RTSP的解析,这部分对我来说已经是非常熟悉了。 除非是整套都是自己做的RTSP服务器RTSP客户端,否则我一般都是用他们两个,为的是最大程度的兼容第三方RTSP服务器,比如各种网络摄像头、各种设备、以及其他公司自己写的RTSP server等等,具体就不说了 总结一下:连接RTSP服务器,接收数据并进行分析,提取视频和音频数据对编码数据,比如h.264、aac等,进行解码,还原原始数据把原始数据,进行绘制或回调上层,opengl绘制程序框架结构示意图:图片

    3.2K20编辑于 2023-04-06
  • 来自专栏呱牛笔记

    Freeswitch实时转发rtsp视频流到录制服务器

    服务器来完成,rtsp服务器选用ZLMediaKit; Freeswitch的配置: <action application=\"set\" data=\"execute_on_answer=record_session $destination_number." \"/> Freeswitch录制时的函数栈和转流到rtsp服务器的日志: #0  av_file_open (handle=0x7f955c0831a0,  =0x7f95780942b8 "192.168.16.83/live/4444_4002", file_path@entry=0x7f955c083178 "rtsp://192.168.16.83/ 最后合成一个mp4文件,只录一端,一端的视频,加上两端的音频混合一起录制; 下一步,修改mod_av,实现freeswitch推流给rtsp服务器,由rtsp服务器实现录制和点播功能! ----更新:20221008--- 会议如何录制到rtsp,只需要简单配置录制地址到rtsp服务器就可以!

    3.8K10编辑于 2023-05-02
  • 来自专栏ccf19881030的博客

    视沃科技-大牛直播SDK

    平台 x86 debug/release, x64 debug/release Android平台 armeabi-v7a, arm64-v8a, x86, x86_64 iOS平台 armv7, arm64 |record模式设置(需服务器支持); [镜像]Android/iOS平台支持前置摄像头实时镜像功能; [前后摄像头实时切换]Android/iOS平台支持采集过程中,前后摄像头切换; [复杂网络处理 Windows/Android/iOS录像SDK"; [基础美颜]iOS平台自带基础美颜功能; [裁剪模式]Android/iOS平台支持特定分辨率摄像头裁剪模式设置; [服务器兼容]支持自建标准 Windows/Android/iOS录像SDK"; [服务器兼容]支持支持自建服务器(如Darwin Stream Server)。 7. 内网RTSP网关SDK 如不单独说明,系Windows、Android、iOS全平台支持。

    5.4K30发布于 2020-10-28
  • 来自专栏RTSP/RTMP直播相关

    如何实现Android端获取RTSP或RTMP流转推RTMP

    技术背景 最近不少开发者找到我们,他们在做智能家居等传统行业时,希望实现在Android板件拉取本地的RTSP或RTMP流,然后对外推送RTMP出去,亦或内部启个轻量级RTSP服务,提供个对外对接的媒介 转推:通过RTMP直播推送SDK的编码后数据输入接口,把回调上来的数据,传给RTMP直播推送模块,实现RTSP|RTMP数据流到RTMP服务器的转发; 3. 整体网络状态反馈:考虑到有些摄像头可能会临时或异常关闭,RTMP服务器亦是,可以通过推拉流的event回调状态,查看那整体网络情况,如此界定:是拉不到流,还是推不到RTMP服务器; 10. 数据注入轻量级RTSP服务:拉流的数据,注入轻量级RTSP服务,对外提供RTSP URL。 先上图 android_relay.jpg Demo主要实现了以下几个功能点展示: 1. 拉取的流数据,实时转推,对应“开始推流”; 7. 拉取的流数据,注入轻量级RTSP服务,启动服务后,发布RTSP流,对外提供可访问的RTSP URL。

    3.6K10发布于 2021-04-06
领券