大牛直播SEI扩展数据发送/接收SDK

大牛直播SDK支持推送端通过H.264 SEI信息扩展,实时传输文本/二进制数据信息,播放端做相应解析和回显。

适用场景:

1、公告广播:推送将相对/绝对时间戳/时间/公告内容发到播放端,播放端实时接收消息并做相应的逻辑处理。

2、冲顶大会:推流端实时将题目分发到播放端,借助于大牛直播SDK低延迟特性,轻松实现“音-画-题”同步接收;

3、直播:推流端将歌词/字幕分发到播放端,播放端实时绘制出歌词;

4、应急指挥/单兵:推送端将GIS信息/现场采集到的数据实时写入并分发到播放端;

5、在线教育:推流端将激光笔涂鸦操作分发到播放端,播放端实时划圈划线,实现特定特效。

目前Windows/Android/iOS平台推送和播放端均已支持,效果如下:

大牛直播连麦SDK

以Windows与android端连麦为例(Windows端作为主播端/指挥中心):

[Windows demo] Windows推送、播放、合成、导播、连麦Demo本地下载

Windows端

  1. 打开”SmartMixStreamDemo.exe”;
  2. [视频] 选择期望的视频采集模式,并获取推荐的码流(码流可根据需求自行调整);
  3. [音频] 选择”采集扬声器” + “采集麦克风”,并选择”回音消除”、”噪音抑制”、”端点检测(VAD)”(可选);
  4. [推送地址设置] 输入合流后的rtmp推送地址(可以直接推到CDN),对应”RTMP推送地址1″,如”rtmp://player.daniulive.com:1935/hls/streammix”;
  5. [推送地址设置] 输入原始rtmp推送地址,对应”RTMP原始流推送地址”,如”rtmp://player.daniulive.com:1935/hls/streamorg”;
  6. [播放连麦互动rtmp] 在SmartMixStreamDemo.exe左下角播放器部分,在”播放URL”栏,输入android端的推送地址,如”rtmp://player.daniulive.com:1935/hls/streamandroid”;

[推送] 点击”推送”和”推送原始流”。

Android端

  1. 打开SmartEchoCancellation.apk
  2. [推送]根据需求,选择合适的分辨率和帧率,并选择”使用噪音抑制”,输入推送地址,如”rtmp://player.daniulive.com:1935/hls/streamandroid”,点击开始推送;
  3. [播放]输入Windows推送的原始rtmp推送地址,如此次设置,输入 “rtmp://player.daniulive.com:1935/hls/streamorg”,点击开始播放。

至此,android和windows连麦基础设置完成,如第三方平台(windows/android/iOS)需要观看此次实时互动视频(连麦效果),在播放端,输入合流后的rtmp推送地址,此次demo为 “rtmp://player.daniulive.com:1935/hls/streammix”,即可完成播放。

大牛直播导播SDK

适用场景:大牛直播导播SDK适用于外部如多路RTMP/RTSP流,本地摄像头/屏幕/flv文件,多路流合成一路流,然后单路输出的场景。

支持平台:Windows

对应Demo:SmartMixStreamDemo.exe

主界面:

数据源:

1. rtmp/rtsp音视频流;

2. 本地屏幕/摄像头/音频数据;

3.本地flv文件;

输出:多路流合成一路

合流后预览:

扩展功能:

多路合成一路后,本地录像、快照等。

技术优势:

1. 以C++/C# SDK形式输出,企业或开发者可根据需求完成多样化的产品需求;

2. 行业内接口更灵活,资源占用更低;

3. 超低延迟输出,效率更高;

4. 支持合流后的图像预览;

5. 支持合流后的音频混音;

6. 岂止是合流,还可以实时录像、快照等,接口更丰富。

轻量级RTSP服务SDK

为满足内网无纸化/电子教室等内网超低延迟需求,避免让用户配置单独的服务器,大牛直播SDK在推送端发布了轻量级RTSP服务SDK:

简单来说,之前推送端SDK支持的功能,内置轻量级RTSP服务SDK后,功能继续支持。

一、支持功能

数据源:

1. 视频源相关:

 [屏幕/摄像头]支持帧率、关键帧间隔、码率、编码profile、编码速度等设置;

 [屏幕]支持屏幕裁剪,根据帧率和推送分辨率,自动推荐码流;

 [摄像头]支持摄像头选择、分辨率设置、帧率设置。

2. 音频源相关

 [音频]采集麦克风;

 [音频]采集扬声器。

3. 摄像头和屏幕合成数据

 [摄像头和屏幕实时切换]支持推送过程中,摄像头和屏幕互相切换,单画面显示摄像头或屏幕;

 [摄像头叠加到屏幕] 支持摄像头按照设置坐标,叠加到屏幕指定位置,并支持实时关闭叠加层;

 [屏幕叠加到摄像头] 支持屏幕按照设定坐标,叠加到摄像头指定位置,并支持实时关闭叠加层。

音视频处理:

1. 支持类型

 [视频]H.264;

 [音频]AAC;

2.水印和透明度遮挡

 [实时水印]支持动态水印设置,完美支持文字水印、实时时间水印和图片水印

 [透明度]可以设置透明度处理(设置遮盖)。

3.音频合成

 [音频]支持扬声器和麦克风音频混音输出(同时选择“采集扬声器”和“采集麦克风”)。

4. 音频处理

 [音频]支持音频“端点检测(VAD)”,自适应码流,音频码流更节省;

 [音频]支持噪音抑制功能;

 [音频]支持自动增益控制。

静音、快照、录像等:

 [音视频]支持纯音频、纯视频、音视频

 [音频]实时静音/取消静音;

 [对接服务器]在内置RTSP服务的同时,完美支持同步推送RTMP流到自建RTMP服务器或CDN

 [录像]录像和内置RTSP服务完全分离,完美支持“边推送边录像”、“先推送、后录像”、“先录像,后推送;

 [录像]支持设置录像文件前缀、录像文件大小,录像文件增加日期、时间;

 [快照]支持随时快照。

二、如何操作内置RTSP服务

1. 在选择好需要推送出去的音视频数据类型、调整好码率后,点击“配置查看RTSP服务”:

2. 根据需求,可以启动一路或者多路服务,每路服务,并可配置用户名密码信息(可选)。启动服务后,点击“确定”退出设置页面;
3. 配置流名称(可自定义),默认是 stream1;
4. 发布RTSP流:
5. 发布后,播放地址列表里面,会显示当前发布的url,拷贝其中一个或多个,用大牛直播直播播放器SDK,分别播放即可;
6.服务器负载查看:再次点击“配置查看RTSP服务”,即可看到每个服务连接的会话数:
7. 如需停止服务,点击页面的“停止RTSP流”即可;
8. 如需启动RTSP服务的同时,还需要把数据推到其他RTMP服务,输入推送的RTMP url,点击“推送”即可。

整体效果展示,以采集桌面左上角640×480区域为例,同时播放9路,并分别连不同的服务:

视频展示:

 

经测试,整体延迟在200-300毫秒区间,在高稳定低CPU占用的前提下,也可能是行业内功能支持最全面,延迟最低的商用级内置RTSP服务方案。

大牛直播SDK-Unity3D直播播放器SDK

大牛直播SDK unity3d直播播放端目前已完美支持windows/android/iOS三个平台,秉承了高稳定、超低延迟的SDK特性,也可能是unity3d下最好用的rtmp/rtsp直播播放SDK.

windows/android/iOS播放器SDK(V2)Unity3D调用说明

大牛直播SDK基于unity3d平台的rtmp/rtsp直播播放端SDK视频演示

Unity3D-Windows播放端APP下载

Unity3D-Android播放端APK下载

[iOS]大牛直播SDK基于unity3d平台的rtmp/rtsp直播播放端SDK接口说明

2.1 demo说明

  • SmartU3diOSPlayer: 大牛直播SDK Unity3D iOS RTMP/RTSP直播播放端工程。

2.2 功能说明

标准接口:

  • 音频:AAC/G.711/speex;
  • 视频:264;
  • 播放协议:RTMP/RTSP;
  • 支持RTSP TCP/UDP模式切换;
  • 支持纯音频、纯视频、音视频播放;
  • 支持秒开模式;
  • 音视频多种render机制;
  • 支持buffer设置;
  • 真正靠谱的超低延迟;
  • 支持多实例播放;
  • 支持播放url快速切换;
  • 断网自动重连,支持视频追赶;
  • 支持视频video实时旋转。

增值接口:

  • 同时支持rtsp、rtmp播放;
  • 播放过程中,实时静音、取消静音;
  • 播放端回调YUV,供unity3d调用完成绘制;
  • 实时快照;
  • 实时录像。

2.3 集成说明

拷贝以下文件,到Assets–>Plugins–>iOS目录:

相关头文件和调用说明,参见:SmartPlayeriOSMono.cs

Unity3D工程下,File–>Build Settings,Platform选择iOS,然后点击build,设置目录,生成xcode工程:

生成后的xcode工程,添加以下依赖库:

  • 相关库:libSmartPlayerSDK.a
  • 引入以下依赖framework
    • libz.tbd
    • libbz2.tbd
    • libiconv.tbd
    • libstdc++.tbd
    • libc++.tbd
    • Accelerate.framework
    • AssetsLibrary.framework
    • AudioToolBox.framework
    • AVFoundation.framework
    • CoreMedia.framework
    • Foundation.framework
    • GLKit.framework
    • OpenGLES.framework
    • UIKit.framework
    • VideoToolBox.framework
  • 如需集成到自己系统测试,请用大牛直播的app name:

Info.plist–>右键Open As–>Source Code

添加或者编辑

<key>CFBundleName</key>

<string>SmartiOSPlayer</string>

  • 快照添加到“照片”权限:

Info.plist–>右键Open As–>Source Code

添加

<key>NSPhotoLibraryUsageDescription</key>
<string>1</string>

  • 导出后的xcode工程,如编译不过,参考以下设置: Library Search Paths:$(SRCROOT)/Libraries

2.4 调用时序(V2)

  1. 【最先调用】NT_U3D_Init:player初始化,目前预留;
  2. 【获得player句柄】NT_U3D_Open,设置上下文信息,返回player句柄;
  3. 【设置GameObject】NT_U3D_Set_Game_Object,注册Game Object,用于消息传递;
  4. 【设置硬解码】NT_U3D_SetVideoDecoderMode,设置是否用硬解码播放,如硬解码不支持,自动适配到软解码;
  5. 【缓冲设置】NT_U3D_SetBuffer,设置播放端缓存数据buffer,以毫秒(ms)为单位,如超低延迟模式下,不需buffer数据,设置为0;
  6. 【RTSP TCP/UDP设置】NT_U3D_SetRTSPTcpMode,设置TCP/UDP播放模式,注意:此接口仅用于RTSP;
  7. 【实时静音-可实时调用】NT_U3D_SetMute,设置播放过程中,实时静音/取消静音;
  8. 【快速启动】NT_U3D_SetFastStartup,Set fast startup(快速启动),设置快速启动后,如果CDN缓存GOP,daniulive player可快速出帧;
  9. 【低延迟模式】NT_U3D_SetPlayerLowLatencyMode,针对类似于直播娃娃机等期待超低延迟的使用场景,超低延迟播放模式下,延迟甚至可达到200~400ms;
  10. 【视频显示角度设置-可实时调用】NT_U3D_SetRotation,针对类似于安防摄像头或其他设备出来的图像倒置现象,支持视频播放view顺时针旋转, 当前支持 0度,90度, 180度, 270度 旋转,注意除了0度之外, 其他角度都会额外消耗性能;
  11. 【下载速度回调设置】NT_U3D_SetReportDownloadSpeed,设置下载速度上报, 默认不上报下载速度;
  12. 【快照设置】NT_U3D_SetSaveImageFlag(),设置是否需要在播放或录像过程中快照;
  13. 【快照-录像或播放后,可随时调用】NT_U3D_SaveCurImage,播放过程中,根据设置路径和文件名,实时快照;
  14. 【快速切换url-可实时调用】NT_U3D_SwitchPlaybackUrl,快速切换播放url,快速切换时,只换播放source部分,适用于不同数据流之间,快速切换(如娃娃机双摄像头切换或高低分辨率流切换);
  15. 【录像设置】NT_U3D_CreateFileDirectory,创建文件路径,注意:iOS只提供接口,未提供具体实现;
  16. 【录像设置】NT_U3D_SetRecorderDirectory,设置文件路径;
  17. 【录像设置】NT_U3D_SetRecorderFileMaxSize,设置每个录像文件最大size,以兆(M)为单位,范围(5M~500M);
  18. 【设置播放或录像URL】NT_U3D_SetUrl,设置播放/录像url;
  19. 【播放】NT_U3D_StartPlay,开始播放;
  20. 【播放】NT_U3D_GetVideoFrame,获取底层回调的YUV数据;
  21. 【播放】NT_U3D_StopPlay,停止播放;
  22. 【录像】NT_U3D_StartRecorder,开始录像;
  23. 【录像】NT_U3D_StopRecorder,停止录像;
  24. 【关闭】NT_U3D_Close, 关闭播放器实例;
  25. 【最后调用】NT_U3D_UnInit,UnInit Player,最后调用。

2.5 Event回调

/// <summary>

/// android 传递过来 code

/// </summary>

/// <param name=”code”></param>

public void onNTSmartEvent(string param)

{

if (!param.Contains(“,”))

{

Debug.Log(“[onNTSmartEvent] android传递参数错误”);

return;

}

string[] strs = param.Split(‘,’);

string player_handle =strs[0];

string code = strs[1];

string param1 = strs[2];

string param2 = strs[3];

string param3 = strs[4];

string param4 = strs[5];

Debug.Log(“[onNTSmartEvent] code: 0x” + Convert.ToString(Convert.ToInt32(code), 16));

switch (Convert.ToInt32(code))

{

case EVENTID.EVENT_DANIULIVE_ERC_PLAYER_STARTED:

Debug.Log(“开始。。”);

break;

case EVENTID.EVENT_DANIULIVE_ERC_PLAYER_CONNECTING:

Debug.Log(“连接中。。”);

break;

case EVENTID.EVENT_DANIULIVE_ERC_PLAYER_CONNECTION_FAILED:

Debug.Log(“连接失败。。”);

break;

case EVENTID.EVENT_DANIULIVE_ERC_PLAYER_CONNECTED:

Debug.Log(“连接成功。。”);

break;

case EVENTID.EVENT_DANIULIVE_ERC_PLAYER_DISCONNECTED:

Debug.Log(“连接断开。。”);

break;

case EVENTID.EVENT_DANIULIVE_ERC_PLAYER_STOP:

Debug.Log(“停止播放。。”);

break;

case EVENTID.EVENT_DANIULIVE_ERC_PLAYER_RESOLUTION_INFO:

Debug.Log(“分辨率信息: width: ” + Convert.ToInt32(param1) + “, height: ” + Convert.ToInt32(param2));

break;

case EVENTID.EVENT_DANIULIVE_ERC_PLAYER_NO_MEDIADATA_RECEIVED:

Debug.Log(“收不到媒体数据,可能是url错误。。”);

break;

case EVENTID.EVENT_DANIULIVE_ERC_PLAYER_SWITCH_URL:

Debug.Log(“切换播放URL。。”);

break;

 

case EVENTID.EVENT_DANIULIVE_ERC_PLAYER_CAPTURE_IMAGE:

Debug.Log(“快照: ” + param1 + ” 路径:” + param3);

 

if (Convert.ToInt32(param1) == 0)

{

Debug.Log(“截取快照成功。.”);

}

else

{

Debug.Log(“截取快照失败。.”);

}

break;

case EVENTID.EVENT_DANIULIVE_ERC_PLAYER_RECORDER_START_NEW_FILE:

Debug.Log(“[record]开始一个新的录像文件 : ” + param3);

break;

case EVENTID.EVENT_DANIULIVE_ERC_PLAYER_ONE_RECORDER_FILE_FINISHED:

Debug.Log(“[record]已生成一个录像文件 : ” + param3);

break;

case EVENTID.EVENT_DANIULIVE_ERC_PLAYER_START_BUFFERING:

Debug.Log(“Start_Buffering”);

break;

case EVENTID.EVENT_DANIULIVE_ERC_PLAYER_BUFFERING:

Debug.Log(“Buffering: ” + Convert.ToInt32(param1));

break;

case EVENTID.EVENT_DANIULIVE_ERC_PLAYER_STOP_BUFFERING:

Debug.Log(“Stop_Buffering”);

break;

case EVENTID.EVENT_DANIULIVE_ERC_PLAYER_DOWNLOAD_SPEED:

Debug.Log(“download_speed:” + param1 + “Byte/s” + “, ”

+ (Convert.ToInt32(param1) * 8 / 1000) + “kbps” + “, ” + (Convert.ToInt32(param1) / 1024)

+ “KB/s”);

break;

}

}

更多资料,可以访问 https://github.com/daniulive/SmarterStreaming or http://www.daniulive.com/

[Android]大牛直播SDK基于unity3d平台的rtmp/rtsp直播播放端SDK接口说明

1.1 demo说明

  • SmartU3dAndroidPlayer: 大牛直播SDK Unity3D Android RTMP/RTSP直播播放端工程。

1.2 功能说明

标准接口:

  • 音频:AAC/G.711/speex;
  • 视频:264;
  • 播放协议:RTMP/RTSP;
  • 支持RTSP TCP/UDP模式切换;
  • 支持纯音频、纯视频、音视频播放;
  • 支持秒开模式;
  • 音视频多种render机制;
  • 支持buffer设置;
  • 真正靠谱的超低延迟;
  • 支持多实例播放;
  • 支持播放url快速切换;
  • 断网自动重连,支持视频追赶;
  • 支持视频video实时旋转。

增值接口:

  • 同时支持rtsp、rtmp播放;
  • 播放过程中,实时静音、取消静音;
  • 播放端回调YUV,供unity3d调用完成绘制;
  • 实时快照;
  • 实时录像。

1.3集成说明

  • Unity3D接口和调用demo,参见:SmartPlayerAndroidMono.cs
  • SmartU3dAndroidPlayer\Assets\Plugins\Android\libs下相关库到工程:
  • Smartavengine.jar加入到工程;
  • smartplayerunity3d.jar加入工程;
  • libs\arm64-v8a 和 SmartPlayer\libs\armeabi 下 libSmartPlayer.so。
  • 在SmartU3dAndroidPlayer\Assets\Plugins\Android\AndroidManifest.xml配置相关权限:

<uses-permission android: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” />

<uses-permission android:name=”android.permission.MODIFY_AUDIO_SETTINGS” />

  • 如需集成到自己系统测试,请用大牛直播SDK的app name(不然集成提示license failed),正式授权版按照授权app name正常使用即可:
  • 如何改app-name:
  • Unity3D模式下:File–>Build Settings–>Android–>Player Settings,设置Product Name。

1.4 调用时序(V2)

  1. 【最先调用】NT_U3D_Init:player初始化,目前预留;
  2. 【获得player句柄】NT_U3D_Open,设置上下文信息,返回player句柄;
  3. 【设置GameObject】NT_U3D_Set_Game_Object,注册Game Object,用于消息传递;
  4. 【设置硬解码】NT_U3D_SetVideoDecoderMode,设置是否用硬解码播放,如硬解码不支持,自动适配到软解码;
  5. 【audio输出类型】NT_U3D_SetAudioOutputType(),如果use_audiotrack设置为0,将会自动选择输出设备,如果设置为1,使用audiotrack模式;
  6. 【缓冲设置】NT_U3D_SetBuffer,设置播放端缓存数据buffer,以毫秒(ms)为单位,如超低延迟模式下,不需buffer数据,设置为0;
  7. 【RTSP TCP/UDP设置】NT_U3D_SetRTSPTcpMode,设置TCP/UDP播放模式,注意:此接口仅用于RTSP;
  8. 【实时静音-可实时调用】NT_U3D_SetMute,设置播放过程中,实时静音/取消静音;
  9. 【快速启动】NT_U3D_SetFastStartup,Set fast startup(快速启动),设置快速启动后,如果CDN缓存GOP,daniulive player可快速出帧;
  10. 【低延迟模式】NT_U3D_SetPlayerLowLatencyMode,针对类似于直播娃娃机等期待超低延迟的使用场景,超低延迟播放模式下,延迟甚至可达到200~400ms;
  11. 【视频显示角度设置-可实时调用】NT_U3D_SetRotation,针对类似于安防摄像头或其他设备出来的图像倒置现象,支持视频播放view顺时针旋转, 当前支持 0度,90度, 180度, 270度 旋转,注意除了0度之外, 其他角度都会额外消耗性能;
  12. 【下载速度回调设置】NT_U3D_SetReportDownloadSpeed,设置下载速度上报, 默认不上报下载速度;
  13. 【快照设置】NT_U3D_SetSaveImageFlag(),设置是否需要在播放或录像过程中快照;
  14. 【快照-录像或播放后,可随时调用】NT_U3D_SaveCurImage,播放过程中,根据设置路径和文件名,实时快照;
  15. 【快速切换url-可实时调用】NT_U3D_SwitchPlaybackUrl,快速切换播放url,快速切换时,只换播放source部分,适用于不同数据流之间,快速切换(如娃娃机双摄像头切换或高低分辨率流切换);
  16. 【录像设置】NT_U3D_CreateFileDirectory,创建文件路径;
  17. 【录像设置】NT_U3D_SetRecorderDirectory,设置文件路径;
  18. 【录像设置】NT_U3D_SetRecorderFileMaxSize,设置每个录像文件最大size,以兆(M)为单位,范围(5M~500M);
  19. 【设置播放或录像URL】NT_U3D_SetUrl,设置播放/录像url;
  20. 【播放】NT_U3D_StartPlay,开始播放;
  21. 【播放】NT_U3D_GetVideoFrame,获取底层回调的YUV数据;
  22. 【播放】NT_U3D_StopPlay,停止播放;
  23. 【录像】NT_U3D_StartRecorder,开始录像;
  24. 【录像】NT_U3D_StopRecorder,停止录像;
  25. 【关闭】NT_U3D_Close, 关闭播放器实例;
  26. 【最后调用】NT_U3D_UnInit,UnInit Player,最后调用。

1.5 Event回调

/// <summary>

/// android 传递过来 code

/// </summary>

/// <param name=”code”></param>

public void onNTSmartEvent(string param)

{

if (!param.Contains(“,”))

{

Debug.Log(“[onNTSmartEvent] android传递参数错误”);

return;

}

string[] strs = param.Split(‘,’);

string player_handle =strs[0];

string code = strs[1];

string param1 = strs[2];

string param2 = strs[3];

string param3 = strs[4];

string param4 = strs[5];

Debug.Log(“[onNTSmartEvent] code: 0x” + Convert.ToString(Convert.ToInt32(code), 16));

switch (Convert.ToInt32(code))

{

case EVENTID.EVENT_DANIULIVE_ERC_PLAYER_STARTED:

Debug.Log(“开始。。”);

break;

case EVENTID.EVENT_DANIULIVE_ERC_PLAYER_CONNECTING:

Debug.Log(“连接中。。”);

break;

case EVENTID.EVENT_DANIULIVE_ERC_PLAYER_CONNECTION_FAILED:

Debug.Log(“连接失败。。”);

break;

case EVENTID.EVENT_DANIULIVE_ERC_PLAYER_CONNECTED:

Debug.Log(“连接成功。。”);

break;

case EVENTID.EVENT_DANIULIVE_ERC_PLAYER_DISCONNECTED:

Debug.Log(“连接断开。。”);

break;

case EVENTID.EVENT_DANIULIVE_ERC_PLAYER_STOP:

Debug.Log(“停止播放。。”);

break;

case EVENTID.EVENT_DANIULIVE_ERC_PLAYER_RESOLUTION_INFO:

Debug.Log(“分辨率信息: width: ” + Convert.ToInt32(param1) + “, height: ” + Convert.ToInt32(param2));

break;

case EVENTID.EVENT_DANIULIVE_ERC_PLAYER_NO_MEDIADATA_RECEIVED:

Debug.Log(“收不到媒体数据,可能是url错误。。”);

break;

case EVENTID.EVENT_DANIULIVE_ERC_PLAYER_SWITCH_URL:

Debug.Log(“切换播放URL。。”);

break;

 

case EVENTID.EVENT_DANIULIVE_ERC_PLAYER_CAPTURE_IMAGE:

Debug.Log(“快照: ” + param1 + ” 路径:” + param3);

 

if (Convert.ToInt32(param1) == 0)

{

Debug.Log(“截取快照成功。.”);

}

else

{

Debug.Log(“截取快照失败。.”);

}

break;

case EVENTID.EVENT_DANIULIVE_ERC_PLAYER_RECORDER_START_NEW_FILE:

Debug.Log(“[record]开始一个新的录像文件 : ” + param3);

break;

case EVENTID.EVENT_DANIULIVE_ERC_PLAYER_ONE_RECORDER_FILE_FINISHED:

Debug.Log(“[record]已生成一个录像文件 : ” + param3);

break;

case EVENTID.EVENT_DANIULIVE_ERC_PLAYER_START_BUFFERING:

Debug.Log(“Start_Buffering”);

break;

case EVENTID.EVENT_DANIULIVE_ERC_PLAYER_BUFFERING:

Debug.Log(“Buffering: ” + Convert.ToInt32(param1));

break;

case EVENTID.EVENT_DANIULIVE_ERC_PLAYER_STOP_BUFFERING:

Debug.Log(“Stop_Buffering”);

break;

case EVENTID.EVENT_DANIULIVE_ERC_PLAYER_DOWNLOAD_SPEED:

Debug.Log(“download_speed:” + param1 + “Byte/s” + “, ”

+ (Convert.ToInt32(param1) * 8 / 1000) + “kbps” + “, ” + (Convert.ToInt32(param1) / 1024)

+ “KB/s”);

break;

}

}

经测试,Android、iOS端效果如下,播放端延迟低于1秒,也可能是unity3d平台下最快最稳定的rtmp播放器/rtsp播放器:

视频效果图:

更多资料,可以访问 https://github.com/daniulive/SmarterStreaming or http://www.daniulive.com/

大牛直播SDK-Windows RTMP/RTSP/本地FLV播放器使用说明

大牛直播播放器SDK相对推送SDK来说,接口没有那么多,不过客户95%以上的常规需求均已覆盖,目前支持RTMP和RTSP直播播放,还有本地flv文件回放:

大牛直播SDK播放端提供C++/C#两套接口,对外提供32/64位库。

我们不一样:

大牛直播SDK windows播放器,行业内无需赘述,也许是最好用的Windows rtmp/rtsp直播播放器SDK

如何使用

RTMP/RTSP播放

根据提示,在RTMP/RTSP URL或FLV文件处,输入需要播放的url,如“rtmp://live.hkstv.hk.lxdns.com/live/hks”;

设置缓冲(buffer)

播放RTMP/RTSP流之前,可以设置缓冲时间(单位:毫秒),SDK支持0~10000ms区间设置;

RTMP秒开

如果给出的rtmp url服务器缓存GOP,选中秒开模式,大牛直播SDK可以快速播放rtmp,实现秒开效果;

设置RTSP TCP/UDP模式

如果播放rtsp url,可以设置使用TCP/UDP播放;

FLV本地文件播放

根据提示,在RTMP/RTSP URL或FLV文件处,输入整体的flv文件全路径,如“E:\daniulivetestflv.flv”,SDK会获取到FLV文件的时长(Duration)和当前播放位置。

FLV文件seek

在“设置位置(秒)”处输入需要跳转的秒数,设置后,可直接跳转到指定位置,并从flv制定位置开始播放;

FLV文件暂停

点击“暂停”按钮,即可暂停播放本地flv文件,如需回复播放,点击“恢复”按钮即可;

RTMP/RTSP/FLV文件播放实时静音

播放过程中,可选择实时静音/取消静音;

RTMP/RTSP/FLV文件播放实时快照

点击“设置截图路径”,播放过程中,点击“截图”按钮,即可完成快照保存;

RTMP/RTSP/FLV文件实时录像

点击“录像配置”,设置录像路径,播放或非播放状态下,点击“录像”,可拉取rtmp或rtsp流录制本地文件,如需截取flv文件一部分,亦可通过开始录像/停止录像重新录制mp4文件。

RTMP/RTSP/FLV文件切换地址

在url输入框输入新的播放地址,点击“切换地址”按钮,SDK快速跳转到指定地址,此功能如android/iOS播放端,用于快速切换URL,适用于多路URL轮询;

RTMP/RTSP/FLV文件播放过程中旋转view

不是所有的url播放角度都朝观众预期的方向,如需view旋转,用户可点击旋转按钮,我们的SDK将会对view进行 0° 90° 180° 270°旋转;

播放过程中全屏

Windows C++ Demo双击播放画面或点击“全屏”按钮,进入全屏模式,再次双击,退出全屏。

功能列表

  •  超低延迟的rtmp播放器;
  •  超低延迟的rtsp播放器;
  •  完美支持多实例播放(同时播放多路stream,可同时支持rtmp、rtsp stream播放);
  •  支持RTSP TCP/UDP模式切换;
  •  支持播放端,buffer设置;
  •  支持秒开模式;
  •  windows双击画面进入全屏模式;
  •  audio支持aac/speex/g.711;
  •  windows/iOS播放端sdk支持回调编码过的音视频数据(Video:H.264/YUV Audio:aac/speex/pcma/pcmu)到上层;
  •  支持自定义播放布局;
  •  支持播放过程中,’实时静音/取消静音’;
  •  支持播放段视频view实时旋转(0° 90° 180° 270°);
  •  支持播放url快速切换,同等配置的流,切换url依旧可以录制到同一个文件
  •  [快照]支持播放/录像过程中,随时快照
  •  [windows点播播放器]支持本地flv文件播放(支持获取flv文件的duration(时长);支持显示当前播放位置;支持开始播放或播放过程中seek(跳转播放位置),也许是行业内seek最快的flv点播播放器。)
  •  支持针对类似于娃娃机直播方案的超低延迟模式设置(公网200~400ms)。

更多资料,可以访问官网 http://daniulive.com 或 https://github.com/daniulive/SmarterStreaming/

版本下载:

windows-推送-播放版-2018-04-24

windows-推送-播放版64位-2018-04-24

WIN-PlayerSDK-CPP-Demo-2018-04-24

大牛直播SDK-Windows RTMP推送端使用说明

由于大牛直播SDK Demo主要侧重于SDK接口展示,庞大的功能让好多使用者望而却步,以下是Windows推送端SDK简单的介绍:

大牛直播SDK推送端提供C++/C#两套接口,对外提供32/64位库。

我们不一样:

  1. 大牛直播SDK自有框架,易于扩展,自适应算法让延迟更低、采集编码传输效率更高;
  2. 所有功能以SDK接口形式提供,所有状态,均有event回调,完美支持断网自动重连;
  3. SDK模块化,可和大牛直播播放器SDK组合实现流媒体数据转发、连麦、一对一互动等场景;
  4. 推送叠加以层级模式提供,开发者可以自行组合数据源(如多摄像头/屏幕/水印叠加);
  5. 支持外部YUV/RGB/H.264/AAC/SPEEX/PCMA/PCMU数据源接入;
  6. 所有参数均可通过SDK接口单独设置,亦可通过默认参数,傻瓜式设置;
  7. 推送、录像模块完全分离,可单独使用亦可组合使用;
  8. 业内甚至很难找到效果接近的SDK可以PK。

使用说明:

视频采集设置:

问题[确认数据源]:采集桌面还是摄像头?如果桌面,全屏还是部分区域?

回答:

  1. 如果是摄像头:可以选择摄像头列表,然后分辨率、帧率。
  2. 如果是屏幕:默认帧率是5帧,可以根据实际场景调整,选取屏幕区域,可以实时拉取选择需要采集或录像区域;
  3. 如果是叠加模式:可选择摄像头叠加到屏幕,还是屏幕叠加到摄像头;
  4. 更高需求的用户,可以设置水印或应用层遮盖。

问题:如果是摄像头,采集到的摄像头角度不对怎么办?

回答:我们支持摄像头镜像和翻转设置,摄像头可通过SDK接口轻松实现水平/垂直翻转、镜像效果。

码率设置:

问题[设置码率]:自己设置码流还是用我们推荐值?

回答:

选择使用平均码率,关键帧间隔一般设置到屏幕或摄像头设置帧率的2~5倍(如帧率15,关键帧间隔可以设置到60),默认可以2倍,码率如果是专业用户,可以自行设定,如果是普通用户,可以点击“获取默认值”,拿到大牛直播SDK推荐的码率。

NOTE:点击“推送”或“录像”之前,一定设置码率,如不想手动设置,请点击“获取默认值”!!!

音频采集设置:

问答式:采集音频吗?如果采集,采集麦克风还是扬声器的,亦或混音?

回答:

  1. 如果想采集电脑输出的音频(比如音乐之类),可以选择“采集扬声器”;
  2. 如果想采集麦克风音频,可以选择“采集麦克风”,并选择相关设备;
  3. 如果两个都想采集,可以两个都选择,混音输出。

音频编码:

问题:是AAC还是SPEEX?

回答:我们默认是AAC编码模式,如果需要码率更低,可以选择SPEEX编码模式,码率更低。

音频处理:

问题:我想过滤背景噪音怎么办?

回答:选中“噪音抑制”。

问题:我想做一对一互动怎么办?

回答:选中“回音消除”。

问题:我推送或者录像过程中,随时静音怎么办?

回答:推送过程中,随时选择或取消选择“静音”功能。

推送:

问题:我想同时推送到多个url怎么办(比如一个内网服务器,一个外网服务器)?

回答:同时填写多个url,然后点推送即可。

截图:

问题:我想推送或者录像过程中,截取当前图像怎么办?

回答:那就设置好截图路径,推送或录像过程中,随时点击“截图”。

录像:

问题:我还想录像,怎么办?

回答:设置录像文件存放目录,文件前缀、单个文件大小,是否加日期、时间,随时录制即可。

功能列表:

windows屏幕截取/摄像头推送录像

  1. 视频源相关:
  •  [屏幕/摄像头]支持帧率、关键帧间隔、码率、编码profile、编码速度等设置;
  •  [屏幕]支持屏幕裁剪、支持DXGI采集模式,根据帧率和推送分辨率,自动推荐码流;
  •  [屏幕]支持选择特定窗口采集,并支持动态分辨率、码率自适应;
  •  [摄像头]支持摄像头选择、分辨率设置、帧率设置、水平反转、垂直反转、旋转(0° 90° 180° 270°);
  •  [扩展数据]支持外部H.264接口输入;
  1. 音频源相关
  •  [音频]采集麦克风;
  •  [音频]采集扬声器;
  •  [扩展数据]AAC, Speex WB, PCMA, PCMU数据接口输入;
  1. 摄像头和屏幕合成
  •  [摄像头和屏幕实时切换]支持推送过程中,摄像头和屏幕互相切换,单画面显示摄像头或屏幕;
  •  [摄像头叠加到屏幕] 支持摄像头按照设置坐标,叠加到屏幕指定位置,并支持实时关闭叠加层;
  •  [屏幕叠加到摄像头] 支持屏幕按照设定坐标,叠加到摄像头指定位置,并支持实时关闭叠加层;
  1. 水印和透明度遮挡
  •  [实时水印]支持动态水印设置,完美支持文字水印、实时时间水印和图片水印
  •  [透明度]可以设置透明度处理(设置遮盖);
  1. 音频合成
  •  [音频]支持扬声器和麦克风音频混音输出(同时选择“采集扬声器”和“采集麦克风”);
  1. 音频处理
  •  [音频]支持音频“端点检测(VAD)”,自适应码流,音频码流更节省;
  •  [音频]支持回音消除功能(一对一功能:可通过在两台windows机器同时开启daniulive的推送和播放端demo,相互推送播放测试);
  •  [音频]支持噪音抑制功能;
  •  [音频]支持自动增益控制;
  1. 音视频推送类型选择
  •  [视频]支持推送H.264;
  •  [音频]支持推送AAC;
  •  [音频]支持推送Speex;
  •  [音频]支持推送PCMA/PCMU;
  1. 音视频类型、静音、快照、录像等
  •  [音视频]支持纯音频、纯视频、音视频推送;
  •  [音频]推送过程中实时静音/取消静音;
  •  [对接服务器]完美支持自建服务器或CDN;
  •  [录像]录像和推送完全分离,完美支持“边推送边录像”、“先推送、后录像”、“先录像,后推送;
  •  [录像]支持设置录像文件前缀、录像文件大小,录像文件增加日期、时间;
  •  [快照]支持推送或录像过程中,随时快照

更多资料,可以访问官网 http://daniulive.com 或 https://github.com/daniulive/SmarterStreaming/

版本下载:

windows-推送-播放版-2018-04-24

windows-推送-播放版64位-2018-04-24

WIN-PublisherSDK-CPP-Demo-2018-04-24

大牛直播SDK release note

视沃科技(大牛直播SDK)2018-08-03 release note:

1.Android支持内置轻量级RTSP服务SDK;

2. iOS支持内置轻量级RTSP服务SDK;

3. 发布最新版本移动端SDK调用说明.

视沃科技(大牛直播SDK)2018-07-30 release note:

1.Windows 录像SDK支持rtsp h265录制,也许是业内为数不多的支持RTSP H.265录制到MP4文件的录像SDK.

视沃科技(大牛直播SDK)2018-07-25 release note:

1.Windows 播放SDK支持rtsp h265播放.

2.优化Windows推送和播放.

视沃科技(大牛直播SDK)2018-07-19 release note:

1.Android/iOS推送SDK增加推送字符串和二进制数据接口.

2.Android/iOS播放SDK增加用户数据回调接口.

3.Android/iOS播放SDK增加SEI数据回调接口.

4.Android/iOS播放SDK增加水平反转、垂直反转接口.

视沃科技(大牛直播SDK)2018-06-25 release note:

1.Windows推送内置rtsp server,无需部署服务器,即可发布rtsp音视频流.

2.安卓推送SDK扩展H264/AAC接口,方便用户直接传sps/pps给sdk.

3.安卓推送SDK支持可变分辨率水印.

4.Windows/安卓/iOS播放SDK优化rtsp播放.

5.Windows推送demo增加rtsp相关操作.

6.同步C#工程至2018年6月1日release版本.

视沃科技(大牛直播SDK)2018-06-01 release note:

1.Windows推送SDK增加预览接口.

2.Windows推送demo增加预览功能,可以先预览后推送.

3.Windows播放SDK深度优化rtsp播放,比好更好!

视沃科技(大牛直播SDK)2018-05-30 release note:

大牛直播SDK官方支持Android/iOS Unity3d RTMP/RTSP直播SDK.

视沃科技(大牛直播SDK)2018-05-10 release note:

1.Windows推送SDK增加发送文本,二进制数据接口.

2.Windows播放SDK增加吐文本,二进制数据接口.

3.Windows播放SDK增加吐H264 Sei数据接口.

4.Windows播放SDK增加水平垂直反转接口.

5.优化Windows播放SDK,降低CPU.

6.优化Windows推送SDK.

视沃科技(大牛直播SDK)2018-04-28 release note:

1.[Android]增加转发demo(rtsp转rtmp推送,rtmp转rtmp推送).

2.[Android]播放SDK优化rtsp播放.

3.[Android]播放SDK增加吐h264,aac/pcmu/pcma/speex接口.

4.[Android]推送SDK增加新的推送H264,AAC/PCMU/PCMA/Speex接口.

5.[Android]优化安卓推送SDK.

视沃科技(大牛直播SDK)2018-04-24 release note:

1.Windows推送SDK增加摄像头水平镜像,垂直反转接口, 增加90度,180度,270度旋转接口.

2.Windows推送SDK支持窗口采集推送,支持动态切换窗口.

3.Windows推送SDK增加设置多个视频码率的接口.

4.Windows推送SDK增加在采集屏幕时停用Win7 Aero的接口.

5.Windows推送SDK优化摄像头采集.

6.优化Windows播放SDK.

视沃科技(大牛直播SDK)2018-04-20 release note

1.Windows推送SDK增加DXGI屏幕采集方式,大大提高win8及以上系统桌面采集速度;

2.Windows推送SDK增加CPU自适应动态调整机制,降低SDK对机器性能的依赖性;

3.Windows推送SDK整体优化;

4.Windows推送SDK和播放SDK静态连接运行时库,方便各个vs版本对接;

5.优化Windows RTSP播放,兼容性和播放体验更优异。

视沃科技(大牛直播SDK)2018-03-29 release note

1.IOS播放SDK增加录像接口;

2.IOS播放SDK增加吐H264/AAC/PCMU/PCMA/SPEEX接口;

3.IOS推送SDK增强推送H264接口;

4.IOS推送SDK增加推送AAC/PCMU/PCMA/SPEEX接口;

5.IOS推送SDK支持推屏;

6.IOS增加播放-转发-录像三合一Demo;

7.IOS增加基于ReplayKit录屏推送demo;

8.IOS推送和播放SDK增加V2接口。

视沃科技(大牛直播SDK)2018-03-05 release note

1.[windows播放端]支持播放过程中,rtsp/rtmp或本地flv文件实时切换;

2.[windows转发端]支持转发过程中,拉取的rtsp/rtmp或本地flv文件实时内容切换;

3.[Android推送|播放端]Android全面升级V2接口(Android studio工程),并优化后台推屏幕/摄像头Demo。

视沃科技(大牛直播SDK)2018-02-28 release note

1.[windows播放端]支持本地flv点播:

  • 支持获取flv文件的duration(时长);
  • 支持显示当前播放位置;
  • 支持开始播放或播放过程中seek(跳转播放位置),也许是行业内seek最快的flv点播播放器。
  1. [windows转发端]支持本地flv文件转发,亦可支持指定位置转发。

视沃科技(大牛直播SDK)2018-02-01新功能抢先体验版:

1.[android]提供V2接口,支持播放端录像。

2.[iOS]支持播放端录像;

3.[iOS]支持iOS端转发功能(拉取rtsp/rtmp流,转发到设定rtmp url);

比“最好”还好:

  1. 大牛直播SDK录像

a) 支持switchUrl接口;

b) 同等参数配置的两个url,可以录制到同一个mp4文件(彻底解决了娃娃机抓取等场景,因为频繁切换url,想申诉时,用户只能录屏,用新的SDK接口,同等摄像头参数配置,无论怎么切换url,自动录制到一个mp4文件)

c) 不同参数配置的两个url,自动识别,自动录制到不同mp4文件。

  1. iOS转发:

a) 大牛直播SDK转发功能,同样支持switchUrl接口,切换不同分辨率的url,一样正常转发;

b) 配合大牛直播播放SDK,转发数据切换,自动适配。

  1. 大牛直播SDK的播放、录像、转发功能完全分离:

a) 可以只播放,随时录像,随时转发;

b) 可以只录像,随时播放,随时转发;

c) 可以只转发,随时播放,随时录像。

视沃科技(大牛直播SDK)2017-12-22 release note

1.iOS播放SDK增加旋转接口.

/**

  • 设置顺时针旋转, 注意除了0度之外, 其他角度都会额外消耗性能
  • @param degress: 当前支持 0度,90度, 180度, 270度 旋转
  • @return {0} if successful */
  • (NSInteger)SmartPlayerSetRotation:(NSInteger)degress;

2.iOS播放推送SDK整体优化,点击本地下载

2017-11-20 release note

  1. 更新android studio demo工程,点击本地下载

视沃科技(大牛直播SDK)2017-11-16 release note

  1. [windows平台] 发布Windows C#多路流媒体转发模块SDK Demo,点击本地下载
  2. android Player增加buffer状态显示和实时带宽占用接口.
  3. iOS推送和播放端整体优化.

2017-11-10 release note:

  1. windows/android/iOS Player SDK增加”超低延迟”模式,适用于类似直播娃娃机等相关场景.
  2. iOS Player增加buffer状态显示和实时带宽占用接口.
  3. iOS Player增加回调YUV数据接口.
  4. android/iOS推送和播放器整体优化.

视沃科技(大牛直播SDK)2017-10-25 release note:

1.[Windows播放端]SDK增加下载速度上报接口.

2.[Windows播放端]SDK增加获取下载速度接口.

3.[Windows播放端]SDK增加buffer开始,停止,进度通知.

4.[Windows播放端]SDK增加吐PCM数据接口.

5.[Windows播放端]SDK增加和服务器链接状态上报接口.

6.[Windows播放端]SDK支持64位.

7.[Windows推送端]SDK支持64位.

8.[文档]更新ppt产品介绍.

视沃科技(大牛直播SDK)2017-09-25 release note:

1.[Windows播放端] sdk增加吐编码过的音视频数据接口.

2.[Windows推送端] sdk增加推送H264数据接口.

3.[Windows推送端] sdk增加推送AAC, Speex WB, PCMA, PCMU数据接口.

4.[Windows转发] 新增多路拉流转发demo(对应”windows-推送-播放版-2017-09-25″–>SmartStreamRelayDemo.exe)

大牛直播SDK十万个为什么

1. 大牛直播企业使用,需要商业授权吗?

回答:是的,企业用需要商业授权。

2. 大牛直播,大家都搞开源,你干嘛收费?

回答:首先,我们是正规公司,我们愿意用更实在的回报,让业内真正靠谱的技术人员(10年以上实打实的流媒体经验,不服来战)得到更体面的生活,以专注极致的态度,致力于比快更快、比靠谱更靠谱的流媒体SDK。

3. 大牛直播的SDK demo怎么这么简单?

回答:demo只是SDK调用说明,看似简单甚至粗糙,主要为了方便大家用更少的时间集成到自己工程,我们预期开发者只看Demo和API,甚至不看我们的集成说明就可以用起来。

4. 大牛直播延迟这么低,是不是在服务器做了什么手脚?

回答:在相同的服务器和网络环境下,用我们的推送+播放,随便和能找到的第三方产品比较。

5. 大牛直播怎么baidu之类搜索引擎信息那么少?

回答:可以用更友好和人性化的搜索引擎,比如google,我们没有在baidu做推广。

6. 大牛直播限定客户用第三方服务器或者CDN吗?

回答:标准的rtmp server我们都支持,支持标准rtmp协议封装的CDN厂商,我们也都支持。

7. 大牛直播SDK长时间运行,稳定性怎么样?

回答:windows就不说了,一直开着跑(推送端Demo默认有一小时限制(可联系我们单独开放,倒不是担心SDK性能,主要是防止一些居心叵测的同志推一些乱七八糟的东西到我们测试服务器),播放端可以放开跑),在PC或移动设备还有电的情况下,跑到满意为止。

8. 大牛直播支持纯音频或纯视频推送吗?

回答:不仅支持纯音频、纯视频、音视频推送,还支持边推送边录像,windows播放端还支持直接拉流录像,或者只播放。

9. 你们怎么没有萌颜功能?

回答:我们只做最擅长的部分,我们保证我们做的部分行业内领先,我们不做的,已经非常友好的提供了接口,大家可以找行业内领先的第三方对接,PS:Windows推送端,我们可以直接和YY、六间房特效伴侣对接。

10. 大牛直播支持什么格式的水印?

回答:android端支持文字水印、实时时间水印、logo图片水印,windows端,提供文字、时间、logo水印,windows水印还可以动态开启关闭。

11. 大牛直播什么时候支持屏幕采集?

回答:windows支持、Android支持、iOS也支持。

12. 大牛直播的SDK,可以出个和第三方对比测试报告吗?

回答:欢迎大家公平合理的施展测试才华,我们官方不会出。

13. 大牛直播方便做第三方对接吗?

回答:我们提供video编码前RGB/YUV,编码后H.264, audio编码后AAC接口。

14. 大牛直播时软编码还是硬编码?解码呢?

回答:编码软、硬都支持,解码也是。

15. 大牛直播支持rtsp播放了吗?

回答:有客户跟我们反馈,国内特别是移动端,实在没有太像样的对直播支持非常友好的rtsp播放SDK,我们目前三个平台均支持rtsp。

16. 大牛直播支持多实例播放吗?

回答:支持,而且支持同时播放rtsp/rtmp流,不同流,还可分别软硬解码。

17. 大牛直播支持实时静音吗?

回答:推送和播放端都支持。

18. 大牛直播提供CDN租赁服务吗?

回答:我们的SDK可以支持CDN对接,但是自己不做运营。

19. 大牛直播可以支持自建服务器吗?

回答:我们提供自建服务器方案,传统行业需求的客户,可联系我们商务。

20. 大牛直播和其他SDK优势在哪里?

回答:功能上对外宣布有的,除了标明beta版(稳定期),随便比,随便测。

21. 大牛直播有出教程的打算吗?

回答:目前没有,太忙了。

22. 大牛直播为什么不多写些blog?

回答:太忙了。

23. 大牛直播支持点播吗?

回答:后续做全平台推送、播放、录制加密的时候,并同步出播放方案(实际上Windows播放器已经支持本地flv文件播放了,也支持本地flv推送),目前点播native player体验也还可以,真需要用的,可以参见我们上层开放的,播放本地回放文件的代码。

24. 我想做大牛直播的产品代理,可以吗?

回答:相当可以,有一定资源的个人和公司,欢迎联系我们,QQ 89030985 手机 130-7210-2209。

25. 现在PC端屏幕采集推流的工具都太慢啦,大牛直播什么时候支持PC端屏幕采集?

回答:已支持,并支持扬声器或麦克风采集,还支持屏幕和摄像头合成等,功能、性能体验没得说。

26. 推流端,支持录像吗?拉流端呢?

回答:必须有,而且已经有,推送端和播放端都有录像功能,而且完全录像和推送、播放完全分离。

27. 我还想转发,比如拉取rtsp/rtmp摄像头,转发到其他rtmp服务器?

回答:Windows和iOS已经完美支持,而且支持多路转发,欢迎体验。

28. 我还想一对一互动咋整?

回答:Windows和Android老早就支持,欢迎体验。

29. 为什么大牛直播,只支持rtmp/rtsp播放?

回答:目前来看,大而全的播放器,基本都是拿开源改的,我们侧重于小而精。

30. PC端,摄像头和屏幕可以合成吗?

回答:不仅可以,还可以多图层叠加,不仅可以叠加,还可以,摄像头和屏幕,单屏切换,还有水印,功能太多了。

31. 如何看待同行的竞争?

回答:有竞争才有压力,有竞争更能居安思危,我们期待更多的同行更良性的竞争。

32. 默认参数很蛋疼,我想自己设置码流、关键字间隔之类,可以吗?

回答:windows/android/iOS三个平台都支持。

33. 我是做传统行业的,想推送端录像和推送功能分离,录的过程中想推就推、推的过程中,想录就录,这个要求过不过分?能不能实现?

回答:不过分,已实现。

34. 推送端,有背景噪音,很蛋疼,可以处理吗?

回答:Windows和android平台支持噪音抑制。

35. 推送端、播放端想截图怎么办?

回答:windows/android/iOS推送或播放,都可以截图。

36. 大牛直播支持不支持在线认证?

回答:无后门、无备用钥匙。

37. 为什么别的SDK一直降价,你们的还这么坚挺?

回答:这世界没有什么东西是物美价廉的,我们期望以靠谱的口碑,为客户提供更优质的产品和技术支撑,如果没有质量保障,靠降价来吸引客户选择是最愚蠢和不负责任的行为

大牛直播录像SDK

大牛直播录像SDK可作为单独功能模块使用(如同时多路录像存档),亦分布于以下模块,和其他模块组合调用

  1. windows/android/iOS推送端SDK Demo;
  2. windows/android/iOS播放端SDK Demo;

大牛直播录像SDK不同于普通录像接口,更智能,和推送、播放、转发、内置轻量级RTSP服务功能完全分离,支持随时录像

此外,大牛直播录像SDK在录像过程中,支持切换不同URL,如两个URL配置一致,则可以录制到同一个MP4文件,如不一致,可自动分割到下一个文件。

此外,大牛直播录像SDK支持设置单个录像文件大小、录像路径等,并支持纯音频、纯视频、音视频录制模式。

支持RTSP H.265录制到MP4文件

从开始录像,到录像结束均有event callback上来,网络堵塞、音视频同步均做了非常友好的处理,大牛直播录像SDK是目前市面上为数不多真正好用的商业化录像SDK。

相关接口实现(以播放端为例):

Windows平台:

		/*
		设置本地录像目录, 必须是英文目录,否则会失败
		*/
		NT_UINT32(NT_API *SetRecorderDirectory)(NT_HANDLE handle, NT_PCSTR dir);

		/*
		设置单个录像文件最大大小, 当超过这个值的时候,将切割成第二个文件
		size: 单位是KB(1024Byte), 当前范围是 [5MB-800MB], 超出将被设置到范围内
		*/
		NT_UINT32(NT_API *SetRecorderFileMaxSize)(NT_HANDLE handle, NT_UINT32 size);

		/*
		设置录像文件名生成规则
		*/
		NT_UINT32(NT_API *SetRecorderFileNameRuler)(NT_HANDLE handle, NT_SP_RecorderFileNameRuler* ruler);


		/*
		设置录像回调接口
		*/
		NT_UINT32(NT_API *SetRecorderCallBack)(NT_HANDLE handle,
			NT_PVOID call_back_data, SP_SDKRecorderCallBack call_back);

		/*
		启动录像
		*/
		NT_UINT32(NT_API *StartRecorder)(NT_HANDLE handle);

		/*
		停止录像
		*/
		NT_UINT32(NT_API *StopRecorder)(NT_HANDLE handle);

Android平台:

	/**
	 * Create file directory
	 *
	 * @param path,  E.g: /sdcard/daniulive/rec
	 *
	 * <pre> The interface is only used for recording the stream data to local side. </pre>
	 *
	 * @return {0} if successful
	 */
	public native int SmartPlayerCreateFileDirectory(String path);

	/**
	 * Set recorder directory.
	 *
	 * @param path: the directory of recorder file.
	 *
	 * <pre> NOTE: make sure the path should be existed, or else the setting failed. </pre>
	 *
	 * @return {0} if successful
	 */
	public native int SmartPlayerSetRecorderDirectory(long handle, String path);

	/**
	 * Set the size of every recorded file.
	 *
	 * @param size: (MB), (5M~500M), if not in this range, set default size with 200MB.
	 *
	 * @return {0} if successful
	 */
	public native int SmartPlayerSetRecorderFileMaxSize(long handle, int size);

	/**
	 * Start recorder stream
	 *
	 * @param handle: return value from SmartPlayerOpen()
	 *
	 * @return {0} if successful
	 */
	public native int SmartPlayerStartRecorder(long handle);

	/**
	 * Stop recorder stream
	 *
	 * @param handle: return value from SmartPlayerOpen()
	 *
	 * @return {0} if successful
	 */
	public native int SmartPlayerStopRecorder(long handle);

iOS平台:

/**
 * 录像相关:
 *
 * @param path 录像文件存放目录
 *
 * @return {0} if successful
 */
- (NSInteger)SmartPlayerSetRecorderDirectory:(NSString*)path;

/**
 * 录像相关:
 *
 * @param size 每个录像文件的大小 (5~500M), 默认200M
 *
 * @return {0} if successful
 */
- (NSInteger)SmartPlayerSetRecorderFileMaxSize:(NSInteger)size;

/**
 * 录像相关:
 *
 * Start recorder(开始录像)
 *
 * @return {0} if successful
 */
- (NSInteger)SmartPlayerStartRecorder;

/**
 * 录像相关:
 *
 * Stop recorder(停止录像)
 *
 * @return {0} if successful
 */
- (NSInteger)SmartPlayerStopRecorder;

大牛直播跨平台RTSP/RTMP转RTMP转发SDK

一个好的转发模块,首先要低延迟!其次足够稳定灵活,如果可以跨平台,还能以SDK形式提供,会给开发者提供更大的便利!

大牛直播SDK转发模块全面支持Windows、Android和iOS平台

我们不一样

  1. 大牛直播SDK转发模块,你可以看成我们强劲的播放器SDK+推流SDK合体,通过高效的数据传递,播什么,就能录什么,也能转什么
  2. 拉取本地或远程的rtsp/rtmp流,推到客户需要的rtmp服务器,让不通用或同时无法支撑多路访问的流,推到客户期望的服务器或CDN;
  3. 支持多路流拉取转发,超低资源占用
  4. 支持同一路转发流,数据源不断切换(比如,rtsp或rtmp不同数据源url之间切换,依然推到同一个rtmp地址,播放端无缝支持);
  5. 岂止是转发,还能随时本地预览
  6. 岂止是本地预览,还能同时有选择的多路录像
  7. 拒绝无聊的开源模块拼凑和一成不变的逻辑,行业内屈指可数以SDK形式提供的协议转换/转发模块,客户调用更方便;
  8. 跨平台,多路多实例;
  9. 拒绝无聊的吹嘘拒绝喧宾夺主的花哨页面纯干货,致力于靠谱好用的转发SDK

Windows平台(对应SmartStreamRelayDemo.exe):

支持同时多路拉取rtmp/rtsp流/本地flv文件,并分别转发到服务器(超低资源占用,支持设备性能内多路转发)

Windows转发平台支持功能:

  1. 支持拉取rtmp流;
  2. 支持拉取rtsp流;
  3. 支持本地flv文件转发(支持制定文件位置转发,或转发过程中seek);
  4. 支持本地预览;
  5. 支持转发过程中,实时静音;
  6. 支持转发过程中,切换rtmp/rtsp/flv本地文件url;
  7. 支持边转发,边本地录像。

 

Android平台(对应SmartRelayDemoV2):

Android转发平台支持功能:

  1. 支持拉取rtmp流;
  2. 支持拉取rtsp流;
  3. 支持本地预览;
  4. 支持转发过程中,实时静音;
  5. 支持转发过程中,切换rtmp/rtsp url;
  6. 支持边转发,边本地录像。

iOS平台(对应SmartiOSRelayDemoV2):

iOS转发平台支持功能:

  1. 支持拉取rtmp流;
  2. 支持拉取rtsp流;
  3. 支持本地预览;
  4. 支持转发过程中,实时静音;
  5. 支持转发过程中,切换rtmp/rtsp url;
  6. 支持边转发,边本地录像。

更多资料,可以访问官网 http://daniulive.com 或 https://github.com/daniulive/SmarterStreaming/

大牛直播iOS平台Demo工程

大牛直播SDK iOS Demo下载

Demo文件说明:
1. SmartiOSPlayer:2018年2月10日之前的播放器demo,接口展示比较全面,不涵盖录像;
2. SmartiOSPlayerV2: 大牛直播SDK播放端demo,V2版,涵盖实时录像功能;
3. SmartiOSPublisherV2: 大牛直播SDK推送端demo;
4. SmartiOSRelayDemoV2: 大牛直播SDK互动、转发、录像三合一Demo;
5. SmartiOSScreenPublisherV2: 大牛直播SDK无纸化推屏/会议demo。

未授权版本,限制app-name,如果需要集成到自己工程里面调试,可以用以下名字:
1. iOS推送端:SmartiOSPublisher
2. iOS转发端:SmartiOSRelayDemo
3. iOS播放端:SmartiOSPlayer或者SmartiOSPlayerV2
4. iOS后台推屏:DaniuliveExtStream
5. APICloud对接测试名字:自定义loader

详细集成说明请参见”视沃科技-大牛直播移动端SDK(V2)调用说明2.5.pdf”.

大牛直播Android平台Demo工程

大牛直播SDK android Demo下载

Demo文件说明:
1. SmartPlayerV2: 大牛直播SDK播放端demo;
2. SmartPublisherV2: 大牛直播SDK推送端demo;
3. SmartEchoCancellationV2: 大牛直播SDK一对一互动demo;
4. SmartServiceCameraPublisherV2: 大牛直播SDK无纸化推屏/会议demo;
5. SmartServicePublisherV2: 大牛直播SDK后台推摄像头demo.

未授权版本,限制app-name,如果需要集成到自己工程里面调试,可以用以下名字:
1. android推送端:SmartPublisherSDKDemo
2. android后台Service推送:SmartServicePublisherSDKDemo
3. android一对一互动:SmartEchoCancellation
4. android播放器:SmartPlayerSDKDemo

详细集成说明请参见”视沃科技-大牛直播移动端SDK(V2)调用说明2.5.pdf”.

大牛直播RTMP/RTSP播放器SDK

windows播放器/android播放器/iOS播放器

  •  超低延迟的rtmp播放器;
  •  超低延迟的rtsp播放器;
  •  完美支持多实例播放(同时播放多路stream,可同时支持rtmp、rtsp stream播放);
  •  支持RTSP TCP/UDP模式切换;
  •  支持播放端,buffer设置;
  •  支持秒开模式;
  •  windows双击画面进入全屏模式;
  •  audio支持aac/speex/g.711;
  •  Windows支持RTSP H.265播放,并支持RTSP H.265录制到MP4文件
  •  windows/iOS播放端sdk支持回调编码过的音视频数据(Video:H.264/YUV Audio:aac/speex/pcma/pcmu)到上层;
  •  android播放端sdk支持回调编码过的音视频数据(Video:YUV/RGB Audio:pcma/pcmu)到上层;
  •  支持自定义播放布局;
  •  音视频多种render机制;
  •  支持播放过程中,’实时静音/取消静音’;
  •  支持播放段视频view实时旋转(0° 90° 180° 270°);
  •  支持播放段视频view水平反转、垂直反转;
  •  支持播放url快速切换,同等配置的流,切换url依旧可以录制到同一个文件
  •  android/iOS支持软硬解码,业内真正靠谱的超低延迟、低资源占用播放rtsp/rtmp 1080p+;
  •  [快照]支持播放/录像过程中,随时快照
  •  [windows点播播放器]支持本地flv文件播放(支持获取flv文件的duration(时长);支持显示当前播放位置;支持开始播放或播放过程中seek(跳转播放位置),也许是行业内seek最快的flv点播播放器。)
  •  支持针对类似于娃娃机直播方案的超低延迟模式设置(公网200~400ms)。

分平台说明:

  1. Windows平台

大牛直播SDK-Windows RTMP/RTSP/本地FLV播放器使用说明

大牛直播推流SDK

Windows屏幕截取/摄像头推送录像

  1. 视频源相关:
  •  [屏幕/摄像头]支持帧率、关键帧间隔、码率、编码profile、编码速度等设置;
  •  [屏幕]支持屏幕裁剪,根据帧率和推送分辨率,自动推荐码流;
  •  [摄像头]支持摄像头选择、分辨率设置、帧率设置;
  •  [扩展数据]支持外部H.264接口输入;
  1. 音频源相关
  •  [音频]采集麦克风;
  •  [音频]采集扬声器;
  •  [扩展数据]AAC, Speex WB, PCMA, PCMU数据接口输入;
  1. 摄像头和屏幕合成
  •  [摄像头和屏幕实时切换]支持推送过程中,摄像头和屏幕互相切换,单画面显示摄像头或屏幕;
  •  [摄像头叠加到屏幕] 支持摄像头按照设置坐标,叠加到屏幕指定位置,并支持实时关闭叠加层;
  •  [屏幕叠加到摄像头] 支持屏幕按照设定坐标,叠加到摄像头指定位置,并支持实时关闭叠加层;
  1. 水印和透明度遮挡
  •  [实时水印]支持动态水印设置,完美支持文字水印、实时时间水印和图片水印
  •  [透明度]可以设置透明度处理(设置遮盖);
  1. 音频合成
  •  [音频]支持扬声器和麦克风音频混音输出(同时选择“采集扬声器”和“采集麦克风”);
  1. 音频处理
  •  [音频]支持音频“端点检测(VAD)”,自适应码流,音频码流更节省;
  •  [音频]支持回音消除功能(一对一功能:可通过在两台windows机器同时开启daniulive的推送和播放端demo,相互推送播放测试);
  •  [音频]支持噪音抑制功能;
  •  [音频]支持自动增益控制;
  1. 音视频推送类型选择
  •  [视频]支持推送H.264;
  •  [音频]支持推送AAC;
  •  [音频]支持推送Speex;
  •  [音频]支持推送PCMA/PCMU;
  1. 音视频类型、静音、快照、录像等
  •  [音视频]支持纯音频、纯视频、音视频推送;
  •  [音频]推送过程中实时静音/取消静音;
  •  [对接服务器]完美支持自建服务器或CDN;
  •  [录像]录像和推送完全分离,完美支持“边推送边录像”、“先推送、后录像”、“先录像,后推送;
  •  [录像]支持设置录像文件前缀、录像文件大小,录像文件增加日期、时间;
  •  [快照]支持推送或录像过程中,随时快照

Android推流/iOS推流

  •  多分辨率选择;
  •  支持横竖屏推送;
  •  音视频推送、纯音频推送、纯视频推送;
  •  支持边采集、边录像
  •  支持rtmp推送 live|record模式设置;
  •  真正靠谱的录像、推流分离模式,支持推流过程中随时开启录像,录像过程中,随时推流;
  •  支持本地录像文件回放、处理;
  •  采集过程中,前后摄像头切换;
  •  提供编码前(YUV/RGB)、编码后音视频(H.264/AAC)接口对接,方便AR/VR设备调用。
  •  android/iOS自带美颜功能;
  •  android完美支持文字水印、实时时间水印和图片水印
  •  支持推送端实时静音/取消静音
  •  支持软硬编码自适应;
  •  android支持后台service推送摄像头或屏幕(推送屏幕需要5.0+版本);
  •  iOS支持后台推送屏幕(基于ReplayKit,需要iOS 10.0+版本);
  •  android支持实时传递远端PCM数据;
  •  支持gop间隔、帧率、bierate、android编码profile和编码速度设置;
  •  支持推送端镜像设置;
  •  [音频]android支持噪音抑制功能;
  •  [音频]android支持自动增益控制;
  •  [音频]android支持Speex推送;
  •  [音频]android支持Speex编码质量设置;
  •  [快照]支持推送或录像过程中,随时快照;
  •  iOS支持裁剪模式设置;
  •  完美支持各个厂家CDN。

相关平台说明:

  1. Windows平台:

大牛直播SDK-Windows推送端使用说明