首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

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等平台统一开发管理

4100

RTMP播放器开发填坑之道

好多开发者提到,在目前开源播放器如此泛滥的情况下,为什么还需要做自研框架的RTMP播放器,自研和开源播放器,到底好在哪些方面?以下大概聊聊我们的一点经验,感兴趣的,可以关注 github: 1....低延迟:大多数RTMP的播放都面向直播场景,如果延迟过大,严重影响体验,所以,低延迟是衡量一个好的RTMP播放器非常重要的指标,目前大牛直播SDK的RTMP直播播放延迟比开源播放器更优异(大牛直播SDK...支持多实例:大牛直播SDK提供的RTMP直播播放SDK支持在设备性能允许的情况下,支持多实例播放RTMP流数据,大多开源播放器对多实例支持不太友好; 除了常规的多实例外,比如大屏监控场景下,尽管我们CPU...视频view旋转:好多摄像头由于安装限制,导致图像倒置,所以一个好的RTMP播放器应该支持如视频view实时旋转(0° 90° 180° 270°)、水平反转、垂直反转,开源或第三方播放器不具备此功能;...长期运行稳定性:大牛直播SDK提供的RTMP直播播放SDK适用于长时间运行,开源播放器对长时间运行稳定性支持较差; 11.

2.2K30
您找到你想要的搜索结果了吗?
是的
没有找到

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

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

1.5K00

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

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

2.6K50

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播放器

61420

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

​技术背景我们在对接Linux平台RTSP播放模块的时候,遇到这样的技术需求,开发者需要把Linux RTSP播放器拉取的数据,除了实时播放外,还要投递给python,用于视觉算法分析。...技术实现Linux平台RTSP、RTMP直接播放不再赘述,这块我们非常成熟,python需要数据,我们可以在播放的同时,直接把数据回上来。...两个可以选择一个//player_api.SetAudioVolume(handle, 100);player_api.SetURL(handle, player_url_); // 设置播放地址, rtsp或者rtmp.../* * nt_linux_smart_player_sdk.h * Author: daniusdk.com *//*设置视频回调, 吐视频数据出来, 可以指定吐出来的视频宽高*handle: 播放句柄...总结Linux平台RTSP、RTMP播放器数据跟python交互,两种方式均可,bitmap实现,也不麻烦,需要注意的时候,由于解码后的单帧数据比较大,建议适当控制导出的bitmap文件数。​

8710

iOS平台如何实现毫秒级延迟的RTMP|RTSP播放器

​技术背景在我的blog里面,最近很少有提到iOS平台RTMP推送|轻量级RTSP服务和RTMP|RTSP直播播放模块,实际上,我们在2016年就发布了iOS平台直播推拉流、转发模块,只是因为传统行业,...对iOS的需求比较少,所以一直没单独说明,本文主要介绍下,如何在iOS平台播放RTMP或RTSP流。...技术实现先说播放实现,iOS端,RTMP|RTSP直播播放,我们实现的功能如下: [支持播放协议]高稳定、超低延迟(毫秒级) [多实例播放]支持多实例播放; [事件回调]支持网络状态、buffer状态等回调...; [视频格式]支持RTMP扩展H.265,H.264; [音频格式]支持AAC/PCMA/PCMU/Speex; [H.264/H.265软解码]支持H.264/H.265软解; [H.264硬解码]...if (nID == EVENT_DANIULIVE_ERC_PLAYER_NO_MEDIADATA_RECEIVED) { player_event = @"[event]收不到RTMP

18610

抛开flash,自己开发实现C++ RTMP直播流播放器

抛开flash,自己开发实现C++ RTMP直播流播放器 众所周知,RTMP是以flash为客户端播放器的直播协议,主要应用在B/S形式的场景中。...本人研究并用C++开发实现了RTMP直播流协议的播放器,结合之前做的RTMP直播采集端,可以将RTMP协议完全扩展到C/S形式的应用场景中,这将对之后的通用、全平台的流媒体架构设计和实现,打下坚实的基础...开发的意义 RTMP直播协议,是Adobe公司推出的以flash播放器为客户端的实时直播流协议,是一种应用非常广泛的通信协议。而flash直播,也是到目前为止,web页面上最成熟的直播技术。...另外,实现了这一点,为RTMP直播协议的跨平台,以及跨移动平台(Android, iOS)的应用,也提供了可能。有很好的前景。   比如,通过实现不同平台上的rtmp播放器,来实现如下架构。 ?...设计和流程  其实,实现RTMP直播流播放器,逻辑上和实现其他直播流协议播放器,是一致的,整体上程序可以分为三个部分 RTMP直播数据下载与数据包分解 数据包中分离H.264和AAC数据,并解码 视频渲染和音频播放

3.3K60

庖丁解牛之-Android平台RTSP|RTMP播放器设计

​ 背景 我们在做Android平台RTSP或者RTMP播放器开发的时候,需要注意的点非常多,以下,以大牛直播SDK(官方)的接口为例,大概介绍下相关接口设计: 接口设计 1....网络状态回调 一个好的播放器,好的状态回调必不可少,比如网络连通状态、快照、录像状态、当前下载速度等实时反馈,可以让上层开发者更好的掌控播放端状态,给用户更好的播放体验。...拉流回调编码后的数据(配合转发模块使用) 拉流回调编码后的数据,主要是为了配合转发模块使用,比如拉取rtsp流数据,直接转RTMP推送到RTMP服务。...播放器接口设计需要参考的点,对于大多数开发者来说,不一定需要实现上述所有部分,只要按照产品诉求,实现其中的40%就足够满足特定场景使用了。...一个好的播放器,特别是要满足低延迟稳定的播放(毫秒级延迟),需要注意的点远不止如此,感兴趣的开发者,可以参考blog其他文章。 ​

49240

【技术分享】如何实现功能完备性能优异的RTMP、RTSP播放器

忙里偷闲,今天我们就再聊一聊老生常谈的问题:如何实现功能完备性能优异的RTMP、RTSP播放器?...图片技术剖析这里我们说的播放器,系直播播放,确切的说,是如何在保障播放体验的情况下,实现低延迟的RTMP或RTSP播放模块。...无论是RTMP还是RTSP播放器,我们目前都是毫秒级的体验。更重要的长时间运行,不会发生内存泄漏或其他异常。2....跨平台,接口尽可能统一:跨平台这块,这个看开发者所服务的场景,像我们,是直接支持Windows、Linux、Android、iOS平台,一般开发者,可能只需要支持一两个平台即可,如果涉及到多个平台,尽可能的接口相对统一...总结不管是基于开源播放器二次开发,还是全自研内核,一个好的RTMP播放器或RTSP播放器,设计的时候,更多考虑的应该是如何做的更灵活、更稳定、延迟更低、资源占用更小,单纯的几个接口,很难满足通用化的产品诉求

1.6K30

【技术分享】Windows平台低延迟RTMP、RTSP播放器接口设计探讨

背景我们看过了太多介绍RTSP、RTMP播放相关的技术资料,大多接口设计简约,延迟和扩展能力也受到一定的局限,好多开发者希望我们能从接口设计的角度,大概介绍下大牛直播SDK关于RTMP、RTSP播放器开发设计...,本文以Windows平台RTMP、RTSP播放模块为例,大概介绍下常用的接口。...拉流回调编码后的数据(配合转发模块使用)拉流回调编码后的数据,主要是为了配合转发模块使用,比如拉取rtsp流数据,直接转RTMP推送到RTMP服务。...1 : 0);总结以上就是大牛直播SDK(官网)关于Windows平台RTSP、RTMP播放器接口设计需要参考的点,其他还有些,比如如果不支持D3D,GDI模式绘制,播放界面叠加实时文字,播放画面全屏等...,这里就不再赘述,除Windows平台外,我们还同步开发了Linux、Android、iOS平台的RTSP、RTMP播放器,大多常规接口四个平台基本统一,延迟也都做到了毫秒级。

2K10
领券