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

    Windows平台RTMP直播推送集成简要说明

    好多开发者在集成大牛直播SDK (官方)的Windows平台RTMP推送模块时吓一跳,怎么这么多接口? 设置过后,调用NT_PB_Init()接口,完成SDK初始化动作,注意,哪怕多实例推送,Init()接口也仅需调一次,同理,UnInit()接口也是。 = NT_PB_E_EVENT_ID_BASE | 0x10, /* 推送rtsp时服务器不支持rtsp推送, param5表示推送URL */ } SetCommonOptionToPublisherSDK 设置推送URL后,调用StartPublisher接口开始推流,如需发送扩展SEI用户数据,推送之前设置下数据发送对接大小。 publisher_handle_count_--; NTSmartPublisherSDK.NT_PB_StopPublisher(publisher_handle_); rtmp_play_urls

    2.8K20发布于 2021-04-01
  • 来自专栏RTSP/RTMP直播相关

    Windows平台C#版RTSP转RTMP直播推送定制版

    技术背景 前几年我们发布了C++版的多路RTMP/RTSP转RTMP转发官方定制版。 reserve) { EventOnAudioDataHandle(handle, user_data, audio_codec_id, data, size, info, reserve); } 推送端封装核心代码如下 IDisposable { public delegate void DelGetPublisherEventMsg(int publisher_index, String msg); //推送端 return false; //string edit_rec_dir = "D:\\dntest"; string edit_rec_dir = "D:\\推送端录像 平台RTSP转RTMP推送定制版,目前发布的C#版本,只是做了基础的封装,方便开发者二次定制处理,如果有更复杂的界面和逻辑需求,基于此版本继续开发就好。 ​

    49000编辑于 2024-05-21
  • 来自专栏RTSP/RTMP直播相关

    Windows平台Unity Camera场景实现轻量级RTSP服务和RTMP推送

    技术实现 Unity平台下的RTMP推流、RTMP、RTSP播放前几年已经覆盖了Windows、Linux、Android、iOS平台。 音视频原始数据采集到后,编码注入RTSP服务和RTMP推送模块。二者可以单独使用,也可同时使用。其中轻量级RTSP服务,可实时查看链接的RTSP会话数。 推送、停止推送: public void btn_start_rtmp_pusher_Click() { if (publisher_wrapper_.IsPushingRtmp()) { StopPushRTMP(); btn_rtmp_pusher_.GetComponentInChildren<Text>().text = "推送RTMP"; 推送的区别在于,轻量级RTSP服务不需要单独部署流媒体服务器(类似于网络摄像头),在内网小并发场景下,使用起来非常方便,如果需要上公网,还是需要用RTMP推送,感兴趣的开发者可酌情参考。

    84800编辑于 2023-02-28
  • 来自专栏RTSP/RTMP直播相关

    Windows平台RTMP推送|轻量级RTSP服务录像模块如何支持中文路径?

    ​技术背景 我们在做Windows平台RTMP推送、轻量级RTSP服务录像模块的时候,部分开发者抱怨路径无法设置中文,只能设置为英文。 return false; //string edit_rec_dir = "D:\\dntest"; string edit_rec_dir = "D:\\推送端录像 break; } EventGetPublisherEventMsg(event_log); } 总结 Windows 平台RTMP推送、轻量级RTSP服务配套的录像模块,除了设置录像保存路径外、还可以设置录像文件前缀、是不是添加日期、时间等,还有就是单个录像文件大小,超过这个大小后,会自动切换到下个文件。

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

    Windows平台Unity下实现camera场景推送RTMP|轻量级RTSP服务|实时录像

    ​技术背景我们在对接Unity平台camera场景采集的时候,除了常规的RTMP推送、录像外,还有一些开发者,需要能实现轻量级RTSP服务,对外提供个拉流的RTSP URL。 :RTMP直播推送;轻量级RTSP服务;实时录像、暂停|恢复录像;实时预览。 推送: public void btn_start_rtmp_pusher_Click() { if (publisher_wrapper_.IsPushingRtmp()) { StopPushRTMP(); btn_rtmp_pusher_.GetComponentInChildren<Text>().text = "推送RTMP { publisher_wrapper_.Close(); Debug.LogError("请输入RTMP推送地址"); return;

    45310编辑于 2023-11-22
  • 来自专栏RTSP/RTMP直播相关

    如何在RTMP推送端和RTMP播放端支持Enhanced RTMP H.265(HEVC)

    技术实现本文以大牛直播SDK的Windows平台RTMP直播推送RTMP直播播放模块为例,考虑到老的扩展CodecID 12的场景依然使用,我们添加了个设置接口:RTMP推送端,对应文件为SmartPublisherSDK RTMP推送端生成HEVC的FLV VideoTagHeader,对应的sample判断代码如下:/** Author:daniusdk.com*/*p = 0x80;if (key)*p |= (1< // hevc处理}else if (VP9 == video_fourcc) { // vp9处理}else if (AV1 == video_fourcc ) { // AV1处理}}启动Windows 平台窗体采集,设置H.265硬编码,输入RTMP推流URL,实现Enhanced RTMP推送,播放端拉流播放,整体延迟如下:可以看到,尽管开启了Enhanced RTMP,整体延迟还在毫秒级。 技术总结鉴于目前RTMP扩展265这块,大多还是用的老的CodecID设置为12的模式,如果需要支持新的Enhanced RTMP,除了推送端和播放端外,RTMP服务端也需要做响应的调整,来适配这种情况

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

    Android平台RTMP推送端实现外部数据对接推送和录像

    ​ 背景 好多开发者在做Android平台RTMP推送对接的同时,除了编码前的数据外,还有些外部编码数据推送诉求,他们希望外部的编码音视频数据不止可以实现RTMP推送,还可以同时在推送端实时录制下来,本文以我们 (官方)Android平台RTMP直播推送模块为例,介绍下外部数据对接流程和数据录制流程。 对接流程 开始推送 private boolean StartPush() { if (isPushing) return false; //relayStreamUrl = "rtmp libPublisher.SetSmartPublisherEventCallbackV2(publisherHandle, new EventHandePublisherV2()); return true; } 停止推送

    1.2K20发布于 2021-06-21
  • 来自专栏RTSP/RTMP直播相关

    Windows平台RTMP推送|轻量级RTSP服务摄像头如何添加动态文字水印

    ​技术背景我们在做Windows平台RTMP推送、轻量级RTSP服务的时候,遇到过这样的技术需求,除了常规的png图片水印外,开发者希望能在桌面或摄像头上,叠加上实时时间和位置信息,并保存到图像里。 1 : 0); }总结Windows平台添加动态文字水印,首先确保从文字拿到rgb数据,然后,设置两个图层,摄像头或者屏幕数据,作为底层,上层添加文字图层,如果需要实时更新,有个定制器,刷新即可

    36810编辑于 2024-04-17
  • 来自专栏RTMP推送

    Android平台RTMP推送模块的设计意义

    ​为什么要做RTMP推送RTMP是一种广泛使用的流媒体传输协议,它允许视频和音频数据在互联网上实时、高效地传输。 集成便利性:许多直播SDK都提供了RTMP推送的接口和示例代码,使得开发者能够相对容易地将RTMP推送功能集成到自己的应用中,降低了开发难度和成本。 做好了RTMP推送模块,发现现有的RTMP播放都不足以满足我们毫秒级的延迟诉求,继续自研框架,做了RTMP的直播播放器。本文以大牛直播SDK的Android平台RTMP直播推送模块为例。 技术背景与功能特点: 跨平台支持:支持Windows、Linux(x64_64架构|aarch64)、Android、iOS平台。 RTMP推送: 设置推送URL:通过SmartPublisherSetURL接口设置RTMP推送的URL。推送控制:提供startPush、stopPush等接口控制推送的开始和停止。

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

    Unity平台如何实现RTSP转RTMP推送

    技术背景Unity平台下,RTSP、RTMP播放和RTMP推送,甚至包括轻量级RTSP服务这块都不再赘述,今天探讨的一位开发者提到的问题,如果在Unity下,实现RTSP播放的同时,随时转RTMP推送出去 RTSP转RTMP,在原生环境下老早已经有了,这里,其实就是把原生的挪到Unity即可,相关流程如下:图片技术实现本文以Windows平台为例,在RTSP播放模块的基础上,加个RTSP转RTMP推送模块 player_handle_); videoctrl[sel].player_handle_ = IntPtr.Zero; } videoctrl[sel].is_playing_ = false;}如果需要转RTMP 开始转推RTMP、停止转推:public bool StartPush(int sel, String url){ if (videoctrl[sel].is_pushing_) return 推送,相对RTMP、RTSP播放或推流,对接更容易,因为基本不涉及到页面交互,感兴趣的开发者可以尝试看。

    68900编辑于 2023-07-14
  • 来自专栏RTSP/RTMP直播相关

    RTMP推送端如何调整采集端音量

    好多开发者提到,有些Windows机器或Android手机采集麦克风的音频,过小或过大,一般过小居多,还有就是,混音的时候,希望背景音音量大小可实时调整,针对这种情况,大牛直播SDK(Github)做了如下的设计 Windows平台推送端(以C#为例): /* *设置输入音量, 这个接口一般不建议调用, 在一些特殊情况下可能会用, 一般不建议放大音量 *index: 一般是0和1, 如果没有混音的只用 Android推送端: /** * 设置输入音量, 这个接口一般不建议调用, 在一些特殊情况下可能会用, 一般不建议放大音量 * * @param index: 一般是0和1, 如果没有混音的只用

    90900发布于 2020-06-15
  • 来自专栏RTSP/RTMP直播相关

    如何实现RTMP推送Android Camera2数据

    获取数据后对接RTMP推送: 通过OnImageAvailableListenerImpl 获取到原始数据,推送端以大牛直播SDK https://github.com/daniulive/SmarterStreaming / 的万能推送接口为例,获取数据后,调用SmartPublisherOnImageYUV420888() 完成数据传送,底层进行二次处理后,编码后传输即可。 videoWidth, videoHeight, 1); } } } } 以上就是基础的Android Camera2介绍,和RTMP

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

    Unity环境下实现Camera高帧率RTMP推送

    Unity下RTMP直播背景方面不再赘述,今天主要讨论的是,Unity环境下,如何实现Camera高帧率RTMP推送,这里提到的高帧率,不再局限于常规环境下的30帧,以VR头显为例,更高的帧率(比如50 图片图片之前,我们老早实现了Unity环境下的RTMP低延迟推送,原生环境下,比如windows下,可轻松实现50帧+的编码和RTMP推送(需要播放端也有高帧率播放的能力)。 好多开发者对这块比较感兴趣,今天分享几个点,权当抛砖引玉:数据源:拿到期望的高帧率数据是基础,以Android或Windows的Unity环境为例,如果你想推50帧,起码camera能每秒读到超过50帧的数据 ()耗时还是比较大的,特别是Android端;数据读取和数据投递、编码等拆分,确保不至于因为数据投递、编码等,彼此相互影响;针对横竖屏或camera分辨率实时变化的处理;编码瓶颈:高帧率环境下,如果是windows 推送一点抛砖引玉的介绍,实际开发过程中,可能还需要考虑多实例、异常网络环境处理等各种情况,如果原生开发这块,有很好的积累,这块都不难。

    93320编辑于 2022-08-21
  • 来自专栏RTSP/RTMP直播相关

    Android平台RTMP直播推送模块技术接入说明

    ​技术背景大牛直播SDK跨平台RTMP直播推送模块,始于2015年,支持Windows、Linux(x64_64架构|aarch64)、Android、iOS平台,支持采集推送摄像头、屏幕、麦克风、扬声器 enhanced RTMP, SDK默认是开启enhanced RTMPRTMP推送URL设置SmartPublisherSetURL设置RTMP推送url编码前实时视频数据camera数据SmartPublisherOnCaptureVideoData 推送开始推送RTMPSmartPublisherStartPublisher启动RTMP推送停止推送RTMPSmartPublisherStopPublisher停止RTMP推送关闭推送实例关闭实例SmartPublisherClose GOP)、码率(bit-rate)设置;支持RTMP推送 live|record模式设置;支持前置摄像头镜像设置;支持软编码、特定机型硬编码;支持横屏、竖屏推送;支持Android屏幕采集推送;支持自建标准 stream_publisher_.is_rtmp_publishing()) {stopPush();btnRTMPPusher.setText("推送RTMP");return;}Log.i(TAG

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

    Unity3D下如何实现RTMP推送摄像头或屏幕数据(Windows平台)

    好多开发者提到,苦于在unity3d下实现RTMP直播推送,本次以大牛直播SDK(Github)的Windows平台RTMP推送模块(以推摄像头为例,如需推屏幕数据,设置相关参数即可)为例,介绍下unity3d 的RTMP推送集成。 、停止推送: public bool StartPublisher(String url) { if (CheckPublisherHandleAvailable ); } SmartPublishWinMono.cs 调用上述封装的代码即可,本地预览的话,拿到回调的RGB数据,在unity3d上层刷下即可,如下图: 经测试,unity3d下,RTMP 推送,配合RTMP播放端,依然可以实现毫秒级延迟的推拉流体验。

    1.7K10发布于 2020-06-10
  • 来自专栏国标视频云平台

    SkeyeRTMPPusher推送RTMP扩展支持HEVC(H265)

    不久前刚实现SkeyeRTMPPusher扩展支持h265推送,当时在网上也查找了很多资料,发现都不尽详细,而官方也没有更新对HEVC(H265,后文统称HEVC)tag的支持,反正是走了不少弯路,当然 ,在广大网友以及ffmpeg代码的帮助下我最终实现了通过SkeyeRTMPPusher推送HEVC视频帧数据到SkeyeSMS,这里我将把实现过程详细的记录下来,供广大网友参考。 首先, RTMP头部信息封装并没有定义HEVC,我们采用CDN联盟的HEVC扩展标准,将HEVC的VideoTagHeader定义为12,详见下图: 图片 然后,我们在H264封装的基础上进行改进,以支持

    54630编辑于 2023-04-23
  • 来自专栏软件&工具配置

    Windows搭建RTMP服务器

    一、Nginx-RTMP服务器搭建1、下载Nginx下载地址:http://nginx-win.ecsds.eu/download/该版本是带rtmp模块且编译过的nginx版本,可以直接使用下载完成后解压 ,解压后的目录命名为nginx2、下载Nginx的RTMP扩展包下载地址:https://github.com/arut/nginx-rtmp-module下载完成后解压,将解压后的文件夹放入nginx /nginx-rtmp-module-master/;#rtmp拓展包目录}    location/{      ://127.0.0.1:1935/live/stream,点击播放即可四、补充若需要在公网环境下进行推拉流,只需将80和1935端口映射到公网即可,然后将本地地址改为公网地址参考文章:Windows搭建 RTMP服务器+OBS推流+VLC拉流_浏览器查看推流服务器信息vlc-CSDN博客

    73010编辑于 2025-12-11
  • 来自专栏RTMP推送

    如何快速实现Windows平台屏幕摄像头采集并推送RTMP|轻量级RTSP服务能力?

    ​技术背景好多开发者跟我们做技术交流的时候,会问到如何快速实现Windows平台屏幕摄像头推流能力?一个好的Windows推送模块,需要注意哪些技术细节? 大牛直播SDK的RTMP推送|轻量级RTSP服务模块实现主要涉及到SDK的初始化、视频采集设置、音频采集设置、编码设置、推流设置以及实时预览和停止预览等功能:目前,以RTMP推送模块为例,目前我们主要设计支持以下功能 如果是轻量级RTSP服务: [基础功能]支持Windows平台RTMP直播推送模块常规功能; [音频格式]AAC; [视频格式]H.264、H.265; [协议类型]RTSP; [传输模式]支持单播和组播模式 在Windows 64位系统上,如果推RTMP流,需要服务器支持RTMP H.265扩展(或Enhanced RTMP),同时播放器SDK也需要同步支持RTMP H.265扩展播放。 其他功能支持多种操作系统:大牛直播SDK推送端支持Windows 7及以上系统。

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

    Android平台RTMP多实例推送的几种情况探讨

    好多开发者提到,如何实现Android平台,多实例推送,多实例推送,有几种理解: 1. 多路编码,多个实例分别推送到不同的RTMP URL(如Android采集板卡同时接2路出去); 2. 同一路编码,多个实例分别推送到不同的RTMP URL(如推送到内网、外网不同的RTMP服务器); 3. 部分路编码、部分路对接编码后的H.264/AAC数据,多个实例分别推送到不同的RTMP URL(混合推)。 目前,市面上的大多设计,都不够灵活,以下以“Android回调编码后的音视频数据”为例,推送一路原始的编码后的RTMP数据出去,然后,编码后的数据,回调到上层,再启动一个新的Publisher实例,推到新的 (对应新的publisherHandle),音视频编码后的数据,通过新的实例,调用编码后的音视频数据接口,继续推RTMP出去,从而实现多实例推送目的。

    75240发布于 2020-06-01
  • 来自专栏RTSP/RTMP直播相关

    Android平台实现Unity3D下RTMP推送

    如果只需要拿到Unity的窗体或摄像机数据推出去,可在Unity下获取到需要推送的原始数据,然后封装原生的RTMP推流接口,调用原生SDK实现数据推送,这种做法的好处是,可以自定义需要采集的数据内容,只要按照原生 ,介绍下Unity环境下的Android平台RTMP推流,数据采集在Unity完成,数据编码推送,调用大牛直播SDK(官方)Android平台RTMP直播推送SDK原生库对外二次封装的接口,高效率的实现 RTMP推送。 下图系Android平台Unity环境下采集屏幕,编码推送RTMP服务器,然后Windows平台播放器拉取RTMP流播放,为了方便看到延迟效果,特地在Android端的Unity窗口显示了当前时间,可以看到 } 总结 通过以上流程,可以实现Unity环境下屏幕或摄像机数据,毫秒级体验的RTMP推送和播放,感兴趣的开发者可酌情参考。

    1.2K30发布于 2021-06-08
领券