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

    RTSP协议探究和RTSP播放器技术实现

    RTSP协议探究RTSP播放器可广泛应用于对延迟要求比较高的场景下,比如协同操控相关的智能机器人或无人机、实时视频监控、远程视频会议、网络电视等。通过控制信令实现对流媒体数据的远程控制和传输管理。 如何实现RTSP播放器 本文以大牛直播SDK的Windows平台RTSP直播播放器为例,大概介绍下,如何集成RTSP直播播放能力。 IntPtr.Zero, video_frame_ts_callback_);NT_SP_SetAudioPCMFrameCallBack:设置音频PCM帧回调, 吐PCM数据出来,目前每帧大小是10ms,一般播放器无使用需求的话 (player_handle_, 0); }}else{ is_gdi_render_ = true; playWnd.Visible = false; // 不支持D3D就让播放器吐出数据来 Length + 1];buffer3[buffer2.Length] = 0;Array.Copy(buffer2, buffer3, buffer2.Length);IntPtr file_name_ptr

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

    RTSP播放器技术选型指南

    通过全自研技术框架,大牛直播SDK的RTSP播放器以功能齐全、性能优异、超低延迟、低代码低集成复杂度,在行业内享有较高的评价,服务了数百家B端用户。 技术特点超低延迟与稳定性超低延迟:大牛直播SDK的RTSP播放器在延迟控制方面表现出色,能够将播放延迟稳定地控制在较低水平,这对于直播场景尤为重要,能够显著提升用户体验。 跨平台支持多平台兼容:大牛直播SDK的RTSP播放器支持Windows、Linux(x86_64|aarch64)\Android、iOS多个平台,满足了不同场景下的使用需求。 客户评价与市场认可客户反馈:数百家业内公司一致认可,大牛直播SDK的RTSP播放器在性能、稳定性和功能方面均表现出色。 RTSP播放器在超低延迟、稳定性、跨平台支持、功能丰富性、易用性与集成性等方面均表现出色,是一款值得推荐的流媒体播放解决方案。​

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

    RTSP播放器开发填坑之道

    好多开发者提到,在目前开源播放器如此泛滥的情况下,为什么还需要做自研框架的RTSP播放器,自研和开源播放器,到底好在哪些方面?以下大概聊聊我们的一点经验,感兴趣的,可以关注 github: 1. 低延迟:大多数RTSP的播放都面向直播场景,如果延迟过大,严重影响体验,所以,低延迟是衡量一个好的RTSP播放器非常重要的指标,目前大牛直播SDK的RTSP直播播放延迟比开源播放器更优异(大牛直播SDK 延迟在1秒左右,开源播放器如VLC,延迟相对比较大),而且长时间运行下,大牛直播SDK播放端不会造成延迟累积,开源或第三方播放器,长时间运行,容易产生延迟累积; 2. 支持多实例:大牛直播SDK提供的RTSP直播播放SDK支持在设备性能允许的情况下,支持多实例播放RTSP流数据,大多开源播放器对多实例支持不太友好; 4. 长期运行稳定性:大牛直播SDK提供的RTSP直播播放SDK适用于长时间运行,开源播放器对长时间运行稳定性支持较差; 11.

    2.6K40发布于 2021-03-17
  • 来自专栏RTSP/RTMP直播相关

    如何设计开发RTSP直播播放器

    ​技术背景我们在对接RTSP直播播放器相关技术诉求的时候,好多开发者,除了选用成熟的RTSP播放器外,还想知其然知其所以然,对RTSP播放器的整体开发有个基础的了解,方便方案之作和技术延伸。 技术实现技术难点在探讨RTSP直播播放器技术实现之前,我们先来看,为什么RTSP播放器的开发看似简单,实则复杂,或者说做播放器容易,做个好的播放器,为什么就那么难? RTSP播放器设计要点1. ,不会造成延迟累积;2. ;return false;}lib_player_.SetSmartPlayerEventCallbackV2(handle, new EventHandleV2());lib_player_.SmartPlayerSetBuffer

    1.8K10编辑于 2024-10-12
  • 来自专栏国标视频云平台

    SkeyePlayer RTSP Windows播放器抓图代码重构

    SkeyePlayer RTSP Windows端(下文简称:SkeyePlayer)播放器之前抓图代码主要通过OpenCV来实现,且数据格式转换的效率过于低下;故而在当时的代码中采用线程机制来解决抓图导致视频播放时卡顿的问题 \n"); goto done; } if (avcodec_open2(codec_ctxt, codec, NULL) < 0) { //av_log(NULL, AV_LOG_ERROR got) { if (avcodec_encode_video2(codec_ctxt, &packet, &picture, &got) < 0) { //av_log(NULL, AV_LOG_ERROR 当然强大的格式转换函数也支持图像的缩放,且效率很高; 图像编码,细心的同学不难发现,ffmpeg的编码和存文件/推送流的代码是通用的,这套代码可以用来抓图也可以用来编码H264、265等然后存文件(如MP4等)或者推送RTMP/RTSP 等; 已经完成了抓图代码调用起来就很简单了,只需替换掉旧的抓图函数即可,需要注意的是之前的抓图固定了格式为YUY2,所以缓冲区大小只有WidthHeight2的大小,而显然RGB24格式的数据会导致缓冲区溢出

    77720编辑于 2023-04-19
  • 来自专栏RTSP/RTMP直播相关

    Windows平台RTSP播放器、RTMP播放器几点设计细节讨论

    我们在实现Windows平台RTSP播放器或RTMP播放器的时候,需要考虑的点很多,比如多实例设计、多绘制模式兼容、软硬解码支持、快照、RTSP下TCP-UDP自动切换等,以下就其中几个方面,做个大概的探讨 实时快照 实时快照功能不表,是一个好的RTSP播放器和RTMP播放器必备的功能,实时快照是把解码后的yuv数据重新编码成png,所以有一定的CPU消耗,不建议过于频繁操作,具体实现如下: Length + 1]; buffer3[buffer2.Length] = 0; Array.Copy(buffer2, buffer3, buffer2 set_capture_image_call_back_(result, image_name); } } 后续,我们将针对RTSP 和RTMP播放器设计过程中的其他点,做更进一步的探讨,谢谢大家的关注。

    1.9K00发布于 2020-06-07
  • 来自专栏RTSP/RTMP直播相关

    RTSP播放器或RTMP播放器常用Event事件回调设计

    很多开发者在开发RTSP或RTMP播放器的时候,不晓得哪些event回调事件是有意义的,针对此,我们以大牛直播SDK(github)的Android平台RTSP/RTMP直播播放端为例,简单介绍下常用的 常规网络状态显示:如开始播放、网络中断、重连、收不到媒体数据等; 2. 视频宽高信息回调:用于上层显示回调的分辨率信息; 3. 流实时下载回调:显示播放rtsp或rtmp流时,实时流量,注意,这块最好是可设置回调时间间隔,防止不必要的资源消耗; 8. RTSP错误状态:如401鉴权不通过。 会返回缓冲百分比)EVENT_DANIULIVE_ERC_PLAYER_STOP_BUFFERING停止缓冲数据EVENT_DANIULIVE_ERC_PLAYER_DOWNLOAD_SPEED返回当前 RTSP /RTMP 流 实时下载速度EVENT_DANIULIVE_ERC_PLAYER_RTSP_STATUS_CODERTSP 收到错误码,可能 是用户名、密码不对

    1.3K22发布于 2020-10-15
  • 来自专栏RTSP/RTMP直播相关

    如何选择适合行业场景的RTSP播放器

    RTSP播放器选型指南选择合适的RTSP播放器时,需要考虑多个方面以确保其能够满足您的具体需求。以下是一些关键的选择标准和建议:一、功能需求 低延迟:对于直播或实时监控场景,低延迟是至关重要的。 选择一个能够保持较低延迟(如几百毫秒)的RTSP播放器,以确保实时性。 音视频同步:确保播放器能够正确处理音视频同步,避免出现音画不同步的情况。 Windows C#工程:WIN-PlayerSDK-CSharp-Demo; Linux工程:single_playerdemo|multi_playerdemo; Android工程:SmartPlayerV2; iOS工程:SmartiOSPlayerV2。 通过仔细比较不同播放器的优缺点和适用场景,您可以选择出最适合自己需求的RTSP播放器。感兴趣的开发者,可以单独跟我沟通探讨。​

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

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

    从高效率的角度,磨刀不误砍柴工,在模块集成之前,还是希望开发者能了解播放器集成的一些前置条件,少走弯路,尽快完成RTSP、RTMP低延迟播放能力构建。 本文不关注接口集成调用细节,主要介绍下,播放器集成的一些前置条件和注意事项。 app-name,strings.xml修改即可:<string name="app_name">SmartPlayerSDKDemo</string>SmartPlayer目录文件名作用SmartPlayerV2RTSP |RTMP直播播放器Demo工程源码SmartPlayerV2\app\src\main\jniLibssmartavengine.jar和libSmartPlayer.soSmartPlayerV2\ app\src\main\java\com\daniulive\smartplayer\SmartPlayerJniV2.java播放器头文件SmartPlayerV2\app\src\main\java

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

    Windows平台RTMP播放器RTSP播放器播放窗口添加OSD文字叠加

    可以在播放画面添加OSD台标,以实现字符叠加效果,大多开发者可很轻松的实现以上效果,针对此,本文以大牛直播SDK (Github)的Windows平台demo为例,简单介绍下具体实现: Windows平台RTMP播放器RTSP播放器C++ demo Windows平台C++的demo,以录像过程为例,动态在左上角显示个闪动的图标+当前时间,具体效果如下: CPP添加osd.png 核心代码 std::shared_ptr swap(buffer); } bitmap.UnlockBits(&locked_bitmapData); } return logo_image; } Windows平台RTMP播放器RTSP播放器C# demo Windows平台C#的demo,添加了“设置台标”选择框,在player窗口左上角显示“叠加字符展示”,具体内容、坐标可自定义,具体效果如下: 添加osd.png 核心代码 - text_size.Width / 2; float top = image_h / 2 - text_size.Height / 2; g.DrawString

    3K50发布于 2021-03-01
  • 来自专栏用户1692782的专栏

    手撕RTSP协议系列(2)——Rtsp消息格式

    上一篇我们简单介绍了rtsp协议,本篇我们来看一下rtsp的消息结构! RTSP消息分为两大类,一类是请求消息(request),一类是回应消息(ressponse)! 说明: 请求消息由方法+URI+RTSP版本开头,之后跟一条或多条消息! URI:表示接收方的地址,如rtsp://192.168.1.201:554 CR:表示回车 LF:表示换行 RTSP使用消息类型和消息体来表示不同类型的消息。 最后一条消息要使用两个CR LF。 如图中所示,该RTSP请求消息的方法为OPTIONS,请求的目标地址为rtsp://192.17.1.63:554,RTSP的版本为1.0; 接下来包含两种类型的消息,第一种为CSeq表示序列号,本次请求的序列号为 我们接下来看一下回应消息的格式: 2 回应消息(response) ? 回应消息由RTSP版本+状态码+解释开头,之后跟一条或多条消息!

    4.6K52发布于 2020-10-10
  • 来自专栏国标视频云平台

    SkeyePlayer RTSP播放器库API接口说明

    概述libSkeyePlayer实现对RTSP直播流进行实时采集和解码显示,稳定,高效,低延时;解码可采用intel硬件解码和软件解码两种方式,能实时进行录像和快照抓图,OSD叠加等功能。 API接口函数定义 int SkeyePlayer_Init();函数说明:播放器初始化,播放器使用之前调用;参数说明: void SkeyePlayer_Release();函数说明:播放器资源释放 ;返回值为当前播放的通道ID,该ID在停止推流时需要用到;参数说明:Url:IN 字符串类型,表示当前要播放的流地址,Eg: rtsp://127.0.0.1:554/stream.sdpHWnd: IN 音频声道数 */unsigned intbits_per_sample;/* 音频采样精度 */unsigned intreserved1;/* 保留参数1 */unsigned intreserved2; /* 保留参数2 */}MEDIA_INFO;

    66040编辑于 2023-04-19
  • 来自专栏RTSP/RTMP直播相关

    QT下实现低延迟RTSP|RTMP播放器

    好多开发者在QT环境下实现RTMP或RTSP播放时,首先考虑到的是集成VLC,集成后,却发现VLC在延迟、断网重连、稳定性等各个方面不尽人意,无法满足上线环境需求。 本文以调用大牛直播SDK(官方)的Windows平台播放端SDK为例,介绍下如何在QT下实现低延迟的RTMP|RTSP播放器,废话不多说,先上图: QTPlayer.png 大牛直播SDK有MFC的demo OpenPlayerHandle(url, is_rtsp_tcp_mode, is_mute)) return false; player_api_->SetBuffer(player_handle NT_Player_SDKEventHandle(NT_HANDLE handle, NT_PVOID user_data, NT_UINT32 event_id, NT_INT64 param1, NT_INT64 param2, is_recording_) { return; } if (NT_SP_E_EVENT_ID_RTSP_STATUS_CODE == event_id) { int status_code

    2.2K80发布于 2021-04-30
  • 来自专栏RTSP/RTMP直播相关

    Unity低延迟RTSP|RTMP播放器开发指南

    概述与优势1.1 SDK功能特性1.1.1 支持协议与格式 支持RTMP、RTSP协议,兼容H.265、H.264视频格式及AAC、PCMA等音频格式,满足多样化播放需求。 2. Unity播放器架构设计2.1 核心模块划分2.1.1 PlayerInstance模块 管理单个播放实例的生命周期,负责视频播放、录制及视频帧回调。 开启RTSP TCP/UDP自动切换功能,使播放器能根据网络状况自动选择最优传输模式。 handle, 0); // 缓冲时间设为0ms,此配置可将延迟压缩至100-300ms 4.2.2 渲染管线优化 动态纹理更新:仅在视频分辨率或步长(stride)变化时重新初始化Unity的Texture2D ,避免每帧重建(通过is_need_init_texture_标志控制) 结语通过大牛直播SDK的深度集成与参数调优,开发者能够在Unity中构建毫秒级延迟的RTSP/RTMP播放器,适用于VR、安防、

    1.1K10编辑于 2025-02-20
  • 来自专栏RTSP/RTMP直播相关

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

    2. 初始化接口 SmartPlayerOpen:初始化播放器,设置上下文信息,返回播放实例句柄。 SetSmartPlayerEventCallbackV2:设置事件回调接口,用于接收播放器的状态信息。 2. 事件回调处理实现事件回调接口,用于处理播放器的状态反馈,如网络状态、buffering 状态、录像状态、快照状态等:class EventHandeV2 implements NTSmartEventCallbackV2 { @Override public void onNTSmartEventCallbackV2(long handle, int id, long param1, long param2

    1.1K20编辑于 2025-03-02
  • 来自专栏RTSP/RTMP直播相关

    Windows平台RTMP|RTSP播放器实现画面全屏功能

    我们在Windows平台实现RTSP或者RTMP播放的时候,有个功能是绕不开的,那就是播放窗口全屏。 本文就以大牛直播SDK(官方)的Windows播放器为例,大概讲下大概实现: 全屏播放需要考虑的点不多: 第一:视频播放后,全屏的意义; 第二:全屏后,是否等比例显示,我们的设计原则是,之前等比例显示的

    1.1K20发布于 2021-05-13
  • 来自专栏RTSP/RTMP直播相关

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

    无需赘述,全自研内核,行业内一致认可的跨平台RTSP、RTMP直播播放器。本文以iOS平台为例,介绍下如何集成RTSP、RTMP播放模块。 nt_common_media_define.h(如需转发或第三方数据对接)nt_event_define.hSmartPlayerSDK.h如集需要引入的framework libbz.tbdLibbz2. buffer状态等回调;[RTSP协议]支持RTSP TCP/UDP模式设置;[RTSP协议]支持RTSP TCP、UDP模式自动切换;[RTSP协议]支持RTSP超时时间设置,单位:秒;[RTSP协议 设置RTSP超时时间,timeout单位为秒,必须大于0设置RTSP TCP/UDP自动切换SmartPlayerSetRTSPAutoSwitchTcpUdp对于RTSP来说,有些可能支持rtp over rtsp_timeout = 10; [_smart_player_sdk SmartPlayerSetRTSPTimeout:rtsp_timeout]; //设置RTSP TCP

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

    如何对RTSP播放器做功能和性能评估

    好多开发者在做产品竞品分析的时候,不知道如何界定一个RTSP播放器,大牛直播SDK认为,一个RTSP播放器,不是说有几个类似于Open/Close接口就够了,好的RTSP播放器需要具备以下功能和性能属性 低延迟:大多数RTSP的播放都面向直播场景,所以,如果延迟过大,比如监控行业,小偷都走了,客户端才看到,或者别人已经按过门铃几秒,主人才看到图像,严重影响体验,所以,低延迟是衡量一个好的RTSP播放器非常重要的指标 ,目前大牛直播SDK的RTSP播放延迟控制在几百毫秒,VLC在几秒,这个延迟,是长时间的低延迟,比如运行1天、一周、一个月甚至更久; 2. H.265的播放和录制:除了H.264,还需要支持H.265,目前市面上的RTSP H.265摄像头越来越多,支持H.265的RTSP播放器迫在眉睫,此外,单纯的播放H.265还不够,还需要可以能把H.265 跨平台:一个好的播放器,跨平台(Windows/Android/iOS)很有必要,起码为了后续扩展性考虑,开发的时候,有这方面的考虑,目前大牛直播SDK的RTSP播放器,完美支持以上平台; 13.

    1.8K30发布于 2019-09-12
  • 来自专栏RTSP/RTMP直播相关

    如何对RTSP播放器做功能和性能评估

    好多开发者在做产品竞品分析的时候,不知道如何界定一个RTSP播放器,大牛直播SDK认为,一个RTSP播放器,不是说有几个类似于Open/Close接口就够了,好的RTSP播放器需要具备以下功能和性能属性 低延迟:大多数RTSP的播放都面向直播场景,所以,如果延迟过大,比如监控行业,小偷都走了,客户端才看到,或者别人已经按过门铃几秒,主人才看到图像,严重影响体验,所以,低延迟是衡量一个好的RTSP播放器非常重要的指标 ,目前大牛直播SDK的RTSP播放延迟控制在几百毫秒,VLC在几秒,这个延迟,是长时间的低延迟,比如运行1天、一周、一个月甚至更久; 2. H.265的播放和录制:除了H.264,还需要支持H.265,目前市面上的RTSP H.265摄像头越来越多,支持H.265的RTSP播放器迫在眉睫,此外,单纯的播放H.265还不够,还需要可以能把H.265 跨平台:一个好的播放器,跨平台(Windows/Android/iOS)很有必要,起码为了后续扩展性考虑,开发的时候,有这方面的考虑,目前大牛直播SDK的RTSP播放器,完美支持以上平台; 13.

    1.7K30发布于 2019-11-08
  • 来自专栏RTSP/RTMP直播相关

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

    无需赘述,全自研内核,行业内一致认可的跨平台RTSP、RTMP直播播放器。本文以Android平台为例,介绍下如何集成RTSP、RTMP播放模块。 \app\src\main\jniLibs\armeabi-v7a、 SmartPlayerV2\app\src\main\jniLibs\arm64-v8a、SmartPlayerV2\app\src 设置RTSP超时时间,timeout单位为秒,必须大于0 设置RTSP TCP/UDP自动切换 SmartPlayerSetRTSPAutoSwitchTcpUdp 对于RTSP来说,有些可能支持rtp ; 支持多实例播放; 支持软解码,特定机型硬解码; 支持RTSP TCP、UDP模式设置; 支持RTSP TCP、UDP模式自动切换; 支持RTSP超时时间设置,单位:秒; 支持buffer时间设置,单位 接口调用详解 本文以大牛直播SDK Android平台SmartPlayerV2为例,播放之前,设置初始化参数配置(软解还是硬解、buffer time等)和需要播放的RTSP或RTMP URL,点开始播放即可

    96310编辑于 2024-07-25
领券