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

    Linux平台Unity下RTMP|RTSP低延迟播放器技术实现

    在发布国产操作系统|Linux平台的RTMP|RTSP直播播放SDK之前,大牛直播SDK在Windows、Android、iOS平台已经有了非常成熟的技术积累,功能齐全、稳定性高、超低延迟、超低资源占用 国产操作系统和Linux上的RTMP|RTSP直播播放模块,视频绘制使用XLib相关库实现, 音频输出使用PulseAudio和Alsa Lib,除了常规功能如实时静音、快照、buffer time设定 Linux原生的RTSP、RTMP播放模块这里我们不做赘述,本文主要讲的是如何在Linux平台构建Unity下的RTSP和RTMP低延迟直播播放。 技术实现国产操作系统和Linux平台下,Unity环境的播放器,和Windows、Android、iOS平台基础流程并无大的差异,简单来说,通过调用原生的播放模块,回调解码后的YUV或RGB数据,投递到 平台下Unity RTMP、RTSP直播播放器大概的实现参考,随着国产操作系统的推进,LinuxRTMP、RTSP高质量的播放器需求越来越大,Unity下,可以实现和Windows、Android等平台统一开发管理

    55000编辑于 2024-06-18
  • 来自专栏RTSP/RTMP直播相关

    RTMP播放器开发填坑之道

    好多开发者提到,在目前开源播放器如此泛滥的情况下,为什么还需要做自研框架的RTMP播放器,自研和开源播放器,到底好在哪些方面?以下大概聊聊我们的一点经验,感兴趣的,可以关注 github: 1. 低延迟:大多数RTMP的播放都面向直播场景,如果延迟过大,严重影响体验,所以,低延迟是衡量一个好的RTMP播放器非常重要的指标,目前大牛直播SDK的RTMP直播播放延迟比开源播放器更优异(大牛直播SDK 延迟在1秒左右,开源播放器如VLC,延迟在5-7秒),而且长时间运行下,大牛直播SDK播放端不会造成延迟累积,开源或第三方播放器,长时间运行,容易产生延迟累积; 部分服务器会缓存GOP,确保快速实现首屏播放 支持多实例:大牛直播SDK提供的RTMP直播播放SDK支持在设备性能允许的情况下,支持多实例播放RTMP流数据,大多开源播放器对多实例支持不太友好; 除了常规的多实例外,比如大屏监控场景下,尽管我们CPU 支持buffer time设置:在一些有网络抖动的场景,播放器需要支持buffer time设置,一般来说,以毫秒计,开源播放器对此支持不够友好; 5.

    2.7K30发布于 2021-03-15
  • 来自专栏EasyNVR

    网页可以播放RTMP视频流?支持RTMP的网页播放器

    随着4G/5G网络的发展,以及有限带宽越来越大,人们对视频直播的需求也越来越多。不仅普通的互联网直播发展很快,传统的安防监控也开始互联网化,走起了互联网直播的路。 我们知道多数监控摄像头都是支持RTMP协议的,当然公安部的摄像头是支持GB28181协议的,这个我们在本文不做过多赘述,我们来探讨一下网页播放RTMP视频流的播放器。 ? ? 网页可以播放RTMP视频流吗?当然是可以的,但是对于PC端来说,网页播放RTMP流媒体视频流将会承受更多的服务器压力,满足网页播放RTMP视频流有哪些要求,下文我们一起来看一下。 1.便捷。 本文已经为大家介绍完毕啦,结论就是网页是能够播放RTMP视频流的,如果想体验网页播放RTMP视频流的流媒体服务器或者播放器,可以继续关注本栏目。

    7.9K20发布于 2020-05-04
  • 来自专栏RTSP/RTMP直播相关

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

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

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

    RTMP播放器延迟最低可以做到多少?

    ​技术背景RTMP播放器的延迟可以受到多种因素的影响,包括网络状况、推流设置、播放器配置以及CDN分发等。因此,RTMP播放器的延迟并不是一个固定的数值,而是可以在一定范围内变化的。 然而,当网络状况不佳、推流设置不当或播放器配置不合理时,延迟可能会增加。具体来说,RTMP播放器的延迟可能受到以下因素的影响:网络状况:网络延迟和丢包是影响RTMP播放器延迟的重要因素。 此外,由于视频数据的处理和传输需要一定的时间,因此即使在最理想的情况下,RTMP播放器的延迟也会存在一定的最小值。综上所述,RTMP播放器的延迟可以控制在一定范围内,但具体数值会受到多种因素的影响。 经过持续迭代后的SmartPlayer,早已脱胎换骨,Windows、Linux(含x86_64|aarch64)、Android、iOS全平台支持。 所以,我们可以有底气的说,在没测试过大牛直播SDK的SmartPlayer RTMP播放器之前,你甚至不相信行业内,RTMP播放器延迟可以稳定的做到毫秒级。

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

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

    很多开发者在开发RTSP或RTMP播放器的时候,不晓得哪些event回调事件是有意义的,针对此,我们以大牛直播SDK(github)的Android平台RTSP/RTMP直播播放端为例,简单介绍下常用的 录像状态:如开始录像、录像完成; 5. 实时快照:返回快照状态和快照存放路径; 6. 数据缓冲状态:如开始buffering、buffering percent、停止buffering; 7. 流实时下载回调:显示播放rtsp或rtmp流时,实时流量,注意,这块最好是可设置回调时间间隔,防止不必要的资源消耗; 8. RTSP错误状态:如401鉴权不通过。 会返回缓冲百分比)EVENT_DANIULIVE_ERC_PLAYER_STOP_BUFFERING停止缓冲数据EVENT_DANIULIVE_ERC_PLAYER_DOWNLOAD_SPEED返回当前 RTSP/RTMP

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

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

    从高效率的角度,磨刀不误砍柴工,在模块集成之前,还是希望开发者能了解播放器集成的一些前置条件,少走弯路,尽快完成RTSP、RTMP低延迟播放能力构建。 本文不关注接口集成调用细节,主要介绍下,播放器集成的一些前置条件和注意事项。 直播播放器Demo工程源码SmartPlayerV2\app\src\main\jniLibssmartavengine.jar和libSmartPlayer.soSmartPlayerV2\app\src \main\java\com\daniulive\smartplayer\SmartPlayerJniV2.java播放器头文件SmartPlayerV2\app\src\main\java\com\daniulive 结束时必须调用close接口释放资源功能支持音频:AAC/Speex(RTMP)/PCMA/PCMU;视频:H.264、H.265;播放协议:RTSP|RTMP;支持纯音频、纯视频、音视频播放;支持多实例播放

    1.3K10编辑于 2024-09-05
  • 来自专栏北京马哥教育

    5 款值得尝试的 Linux 音乐播放器

    糖豆贴心提醒,本文阅读时间8分钟 目前 Linux 上有几十个音乐播放器,这使得找到一个最好用的变成很困难。 Qmmp 是 Linux 上的 (相对)轻量并且具有一个像样的特性集的播放器。 因为有着WinAMP伴随我的成长,当在 Linux 上有一个像 WinAMP 的播放器对我来说是个惊喜。 5、 Cmus Linux怎么能少的了命令行呢? Cmus就是这样的一个工具。 不不,我知道你要说啥,作为中国的 Linux 粉丝,你一定会说我丢失了最重要的一个:网易云音乐,要是我不提的话,你们一定会抗议的。 没错,强烈推荐“网易云音乐”,也为国内厂商支持开源和 Linux 点赞! ? ? ----

    6.8K81发布于 2018-05-04
  • 来自专栏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 auto image_h = recoder_image_h + 5 + 5; graphics.SetTextRenderingHint(Gdiplus::TextRenderingHint: data_.swap(buffer); } bitmap.UnlockBits(&locked_bitmapData); } return logo_image; } Windows平台RTMP 播放器、RTSP播放器C# demo Windows平台C#的demo,添加了“设置台标”选择框,在player窗口左上角显示“叠加字符展示”,具体内容、坐标可自定义,具体效果如下: 添加osd.png

    3K50发布于 2021-03-01
  • 来自专栏RTSP/RTMP直播相关

    RTMP直播播放器为什么要做秒开?

    播放器秒开意义2015年我们做了RTMP直播播放器没多久,就加了快速播放接口,今天就从播放器用户体验的维度,谈谈为什么要做这个:一、提升用户体验减少等待焦虑 在当今快节奏的生活中,用户的耐心有限。 优化推流和拉流协议:采用高效的推流协议,如 RTMP(Real Time Messaging Protocol)、HLS(HTTP Live Streaming)、DASH(Dynamic Adaptive 例如,服务器可以提前预加载 5 到 10 秒的直播内容,这样用户在打开播放器时,无需等待直播源的实时传输,即可快速开始观看。 例如,支持 4G/5G 网络的快速切换,优化移动网络的信号接收,减少网络中断和卡顿的情况。同时,也可以针对移动网络的特点,采用一些特殊的优化策略,如预加载、缓存等,提高在移动网络下的播放体验。 直播播放器秒开接口设计本文以大牛直播SDK的安卓平台接口设计为例,介绍下快速启动接口的设计,RTMP直播播放器做秒开的前提是,服务器可以缓存GOP数据,播放端拉取到数据后,快速渲染,让用户看到视频画面,

    58210编辑于 2024-11-25
  • 来自专栏RTSP/RTMP直播相关

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

    好多开发者在QT环境下实现RTMP或RTSP播放时,首先考虑到的是集成VLC,集成后,却发现VLC在延迟、断网重连、稳定性等各个方面不尽人意,无法满足上线环境需求。 本文以调用大牛直播SDK(官方)的Windows平台播放端SDK为例,介绍下如何在QT下实现低延迟的RTMP|RTSP播放器,废话不多说,先上图: QTPlayer.png 大牛直播SDK有MFC的demo event_id, NT_INT64 param1, NT_INT64 param2, NT_UINT64 param3, NT_PCSTR param4, NT_PCSTR param5, play->OnWindowSize(widgets.at(i)->width(), widgets.at(i)->height()); } } } 以上是QT环境下集成个低延迟的RTMP

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

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

    ​ 技术背景大牛直播SDK自2015年发布RTSP、RTMP直播播放模块,迭代从未停止,SmartPlayer功能强大、性能强劲、高稳定、超低延迟、超低资源占用。 无需赘述,全自研内核,行业内一致认可的跨平台RTSP、RTMP直播播放器。本文以iOS平台为例,介绍下如何集成RTSP、RTMP播放模块。 |RTSP直播播放,我们设计实现的功能如下:音频:AAC/PCMA/PCMU/SPEEX(RTMP);视频:H.264;播放协议:RTMP或RTSP;支持纯音频、纯视频、音视频播放;支持多实例播放;支持网络状态 扩展H.265播放(Enhanced RTMP);支持扩展录像功能;支持Unity3D接口;支持H.264扩展SEI接收模块;支持iOS 9.0及以上版本。 由于设备和系统比较单一,优先考虑硬解码,除了基础播放外,我们还实现了实时快照、实时录像、实时回调YUV数据、实时音量调节等,实际体验下来,iOS平台RTMP和RTSP,可以轻松毫秒级。​

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

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

    概述与优势1.1 SDK功能特性1.1.1 支持协议与格式 支持RTMP、RTSP协议,兼容H.265、H.264视频格式及AAC、PCMA等音频格式,满足多样化播放需求。 Unity播放器架构设计2.1 核心模块划分2.1.1 PlayerInstance模块 管理单个播放实例的生命周期,负责视频播放、录制及视频帧回调。 开启RTSP TCP/UDP自动切换功能,使播放器能根据网络状况自动选择最优传输模式。 核心技术架构设计4.1 原生模块与Unity的高效交互大牛直播SDK的核心优势在于其原生模块(Windows/Linux/Android/iOS)直接处理流媒体协议解析、解码和网络优化,仅将解码后的YUV 播放器,适用于VR、安防、直播等高实时性场景。

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

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

    初始化接口 SmartPlayerOpen:初始化播放器,设置上下文信息,返回播放实例句柄。 SetSmartPlayerEventCallbackV2:设置事件回调接口,用于接收播放器的状态信息。 2. 5. 模式设置接口 SmartPlayerSetBuffer:设置播放端缓存数据 buffer,单位为毫秒。 SmartPlayerSetFastStartup:设置快速启动,实现首屏秒开。 SmartPlayerSetUrl:设置需要播放或录像的 RTMP/RTSP URL。 SmartPlayerStartPlay:开始播放 RTSP/RTMP 流。 RTMP 增强:支持 Enhanced RTMP。 录像功能:支持扩展录像功能。 系统兼容:支持 Android 5.1 及以上版本。 六、接口调用详解1.

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

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

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

    1.1K20发布于 2021-05-13
  • 来自专栏音视频进阶之旅

    FFmpeg视频播放器开发-FFmpeg拉rtmp流(七)

    在菜单栏输入rtmp流地址后,关闭窗口,在closeEvent方法中发送信号,主线程接收到该信号后,调用网络流线程解码,同时视频显示窗口刷新解码后的img, 这样网络流就可以播放了。 ui.lineEdit_IP->text();CommonUtils::writeIni(m_iniPath, m_iniKey, address);emit(PushStream(address));}菜单栏这是湖南卫视的rtmprtmp://58.200.131.2:1935/livetv/hunantv主界面接收PushStream信号connect(&m_NetDlg, SIGNAL(PushStream(QString setWindowTitle(address);NetStreamThread::getInstance()->startPlay(address);}通过调用NetStreamThread线程类解码rtmp

    4.3K20编辑于 2022-09-24
  • 来自专栏RTSP/RTMP直播相关

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

    无需赘述,全自研内核,行业内一致认可的跨平台RTSP、RTMP直播播放器。本文以Android平台为例,介绍下如何集成RTSP、RTMP播放模块。 DisableEnhancedRTMP disable enhanced RTMP, SDK默认是开启enhanced RTMP的 实时截图 CaptureImage 支持JPEG和PNG两种格式 long handle, int id, long param1, long param2, String param3, String param4, Object param5) long param2, String param3, String param4, Object param5) event_listener_.get().onPlayerEventCallback(handle, id, param1, param2, param3, param4, param5)

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

    Linux平台下RTSP|RTMP播放器如何跟python交互投递RGB数据供视觉算法分析

    ​技术背景我们在对接Linux平台RTSP播放模块的时候,遇到这样的技术需求,开发者需要把Linux RTSP播放器拉取的数据,除了实时播放外,还要投递给python,用于视觉算法分析。 技术实现Linux平台RTSP、RTMP直接播放不再赘述,这块我们非常成熟,python需要数据,我们可以在播放的同时,直接把数据回上来。 player_api.SetVideoSizeCallBack(handle, nullptr, &NT_SDKVideoSizeHandle);player_api.SetReportDownloadSpeed(handle, 1, 5) ; // 5秒上报一次下载速度player_api.SetRtspTimeout(handle, 15);player_api.SetRtspAutoSwitchTcpUdp(handle, 1);player_api.SetBuffer 总结Linux平台RTSP、RTMP播放器数据跟python交互,两种方式均可,bitmap实现,也不麻烦,需要注意的时候,由于解码后的单帧数据比较大,建议适当控制导出的bitmap文件数。​

    31110编辑于 2024-06-30
  • 来自专栏RTSP/RTMP直播相关

    Android平台RTMP|RTSP直播播放器功能进阶探讨

    我们需要怎样的直播播放器?很多开发者在跟我聊天的时候,经常问我,为什么一个RTMP或RTSP播放器,你们需要设计那么多的接口,真的有必要吗? 带着这样的疑惑,我们今天聊聊Android平台RTMP、RTSP播放器常规功能,如软硬解码设置、实时音量调节、实时快照、实时录像、视频view翻转和旋转、画面填充模式设定、解码后YUV、RGB数据回调等 :图片延迟延迟延迟RTMP或RTSP直播播放器,特别是在一些交互场景下,对延迟要求近乎苛刻,所以,毫秒级的延迟,是一个直播播放器聊下去的基础,200-400ms的整体时延,是大家比较期望的,是的,你没看错 ,RTMP的也可以做到极低延迟。 或RTSP播放器,还需要支持的客制化功能有支持回调H.264/H.265/AAC数据,或回到解码后的YUV或RGB数据,设置播放缓冲、设置快速播放、设置音频输出类型等,一个通用的RTSP、RTMP播放器

    1.3K20编辑于 2023-08-26
  • 来自专栏RTSP/RTMP直播相关

    RTSP|RTMP播放器如何实时调节播放音量?

    ,我们可能无法直接通过播放器控制音量,这时候,可以使用操作系统的全局音频控制来调节RTSP或RTMP播放器的音量。 当你调整系统音量时,所有正在播放音频的应用程序(包括 RTMP 播放器)的音量也会相应地改变。 利用播放模块自带的音量调节控制一个功能完善的RTSP或RTMP播放器,一般自带实时静音或实时音量调节,如果支持这种模式,就非常方便,可以只条件播放器的volume,不影响系统的音量。 (可达150-300ms延迟)的RTSP、RTMP播放器,以下是其主要功能列表:播放协议支持: 广泛的流媒体协议:支持 RTMP、RTSP 等主流直播流媒体协议,可播放相应协议的直播视频流,适用于多种直播场景 播放器如何设计音量调节接口 以大牛直播SDK的Windows平台RTSP、RTMP播放器为例,最早,我们设计的接口如下,直接通过实时静音来完成音量调节:/* * smart_player_sdk.cs

    2K10编辑于 2024-09-29
领券