大牛直播导播SDK

适用场景:

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

技术优势:

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

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

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

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

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

6. 支持导播过程中,随时切断某一路音视频或音频;

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

数据源:

1. rtmp/rtsp音视频流;

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

3.本地flv文件。

输出:

1. 多路流合成一路流后,推送到RTMP服务器;

2. 多路合成后的流,支持本地录像、快照。

支持平台:Windows

对应Demo:

SmartStreamRelayDemo.exe、SmartMixStreamDemo.exe

使用说明:

5张图看懂如何实现Windows RTMP实时导播功能

 

轻量级RTSP服务SDK

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

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

Windows/Android/iOS内置轻量级RTSP服务SDK功能说明

  •  [基础功能]支持Windows/Android/iOS平台RTMP直播SDK除推送RTMP外的所有常规功能;
  •  [音频格式]AAC;
  •  [视频格式]H.264、H.265;
  •  [协议类型]RTSP;
  •  [传输模式]支持单播组播模式;
  •  [端口设置]支持RTSP端口设置;
  •  [鉴权设置]支持RTSP鉴权用户名、密码设置;
  •  [获取session连接数]支持获取当前RTSP服务会话连接数;
  •  [多服务支持]支持同时创建多个内置RTSP服务;
  •  [H.265支持]Windows内置rtsp server支持发布H.265视频(64位库);
  •  [RTSP url回调]支持设置后的rtsp url通过event回调到上层。

对应Demo:

  •  Windows测试程序:SmartPublisherDemo.exe;
  •  Windows C++工程:WIN-PublisherSDK-CPP-Demo;
  •  Windows C#工程:WIN-PublisherSDK-CSharp-Demo;
  •  Android工程:SmartPublisherV2;
  •  iOS工程:SmartiOSPublisherV2。

以Windows平台为例:

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。

支持快照、录像、实时静音、buffer time设置、视频view旋转、快速切换URL等特性。

功能列表:

  •  [支持播放协议]高稳定、超低延迟(一秒内,行业内几无效果接近的播放端)、业内首屈一指的RTMP、RTSP直播播放器SDK;
  •  [多实例播放]支持多实例播放;
  •  [事件回调]支持网络状态、buffer状态等回调;
  •  [视频格式]支持RTMP扩展H.265,H.264;
  •  [音频格式]支持AAC/PCMA/PCMU/Speex;
  •  [H.264/H.265软解码]支持H.264/H.265软解;
  •  [H.264硬解码]Android/iOS支持H.264硬解;
  •  [H.265硬解]Android/iOS支持H.265硬解;
  •  [RTSP模式设置]支持RTSP TCP/UDP模式设置;
  •  [RTSP TCP/UDP自动切换]支持RTSP TCP、UDP模式自动切换;
  •  [RTSP超时设置]支持RTSP超时时间设置,单位:秒;
  •  [RTSP 401认证处理]支持上报RTSP 401事件,如URL携带鉴权信息,会自动处理;
  •  [缓冲时间设置]支持buffer time设置;
  •  [首屏秒开]支持首屏秒开模式;
  •  [低延迟模式]支持类似于线上娃娃机等直播方案的超低延迟模式设置;
  •  [复杂网络处理]支持断网重连等各种网络环境自动适配;
  •  [快速切换URL]支持播放过程中,快速切换其他URL,内容切换更快;
  •  [音视频多种render机制]Android平台,视频:surfaceview/OpenGL ES,音频:AudioTrack/OpenSL ES;
  •  [实时静音]支持播放过程中,实时静音/取消静音;
  •  [实时快照]支持播放过程中截取当前播放画面;
  •  [渲染角度]支持0°,90°,180°和270°四个视频画面渲染角度设置;
  •  [渲染镜像]支持水平反转、垂直反转模式设置;
  •  [实时下载速度更新]支持当前下载速度实时回调(支持设置回调时间间隔);
  •  [音视频自适应]支持播放过程中,音视频信息改变后自适应;
  •  [扩展录像功能]完美支持和录像SDK组合使用(支持RTMP扩展H.265流录制,支持PCMA/PCMU/Speex转AAC后录制,支持设置只录制音频或视频),录像相关功能,可参见”Windows/Android/iOS录像SDK“。

相关资料:

windows/android/iOS播放器SDK(V2)Unity3D调用说明(更新于2018/10/31)

Unity3d RTSP/RTMP直播播放端SDK视频演示

Unity3D-Windows RTSP/RTMP播放端exe下载(更新于2019/03/01)

Unity3D-Android RTSP/RTMP播放端APK下载(更新于2019/03/05)

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

2.1 demo说明

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

2.2 功能说明

标准接口:

  • 音频:AAC/PCMA/PCMU/SPEEX(RTMP);
  • 视频:H.264/H.265(RTSP);
  • 播放协议:RTMP/RTSP;
  • 支持RTSP TCP/UDP模式切换;
  • 支持RTSP timeout设置;
  • 支持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直播播放(涵盖H.265),还有本地flv文件回放。

大牛直播SDK播放端提供C++/C#两套接口,并支持IE浏览器OCX控件调用,对外提供32/64位debug/release库。

对应Demo:

  •  Windows测试程序:SmartPlayer.exe;
  •  Windows C++工程:WIN-PlayerSDK-CPP-Demo;
  •  Windows C#工程:WIN-PlayerSDK-CSharp-Demo;

如何使用

RTMP/RTSP/本地FLV播放

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

设置缓冲(buffer time)

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

RTMP秒开

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

RTSP相关设置

点击页面“Rtsp设置”按钮,可以设置RTSP timeout时间、默认TCP还是UDP模式、是否TCP-UDP模式自动切换。

RTMP解密播放

SetUrl之前,设置解密的Key和IV解密向量即可。

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双击播放画面或点击“全屏”按钮,进入全屏模式,再次双击,退出全屏。

IE浏览器OCX控件调用说明

点我查看OCX控件使用说明和SDK集成文档

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

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

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

对应Demo:

  •  Windows测试程序:SmartPublisherDemo.exe;
  •  Windows C++工程:WIN-PublisherSDK-CPP-Demo;
  •  Windows C#工程:WIN-PublisherSDK-CSharp-Demo;

使用说明:

1视频采集设置

说明:

1. 屏幕和摄像头相互切换:用于在线教育或者无纸化等场景,推送或录像过程中,随时切换屏幕或摄像头数据(切换数据源),如需实时切换,点击页面“切换到摄像头”按钮即可;

2. 设置遮盖层,用于设定一个长方形或正方形区域(可自指定区域大小),遮盖不想给用户展示的部分;

3. 水印:添加PNG水印,支持推送或录像过程中,随时添加、取消水印;

4. 摄像头叠加到屏幕:意在用于同屏过程中,主讲人摄像头悬浮于屏幕之上(可指定叠加坐标),实现双画面展示,推送或录像过程中,可以随时取消摄像头叠加;

5. 屏幕叠加到摄像头:同4,效果展示,实际根据需求实现;

6. 采集桌面:可以通过点击“选择屏幕区域”获取采集区域,并可在采集过程中,随时切换区域位置,如不设定,默认全屏采集;

7. 使用DXGI采集屏幕,采集时停用Aero;

8. 采集窗口:可设定需要采集的窗口,窗口放大或缩小,推送端会自适应码率和分辨率;

9. 采集帧率(帧/秒):默认屏幕采集5帧,可根据实际场景需求设定到10-25帧;

10. 缩放屏幕大小缩放比:用于高清或超高清屏,通过设定一定的比例因子,缩放屏幕采集分辨率;

11. 采集摄像头:可选择需要采集的摄像头、采集分辨率、帧率、是否需要水平或者垂直反转、是否需要旋转;

追加提问:

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

回答:

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

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

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

视频码率控制

我选可变码率还是平均码率?

回答:可变码率的优势在于,如果屏幕或摄像头变化不大,码率超低,特别是H.265编码,平均码率,码率比较均匀,需设置平均码率+最大码率,一般摄像头采集建议选择可变码率,屏幕采集选择平均码率,如需采用可变码率,请取消“使用平均码率”选项。

265编码还是H.264编码?

回答:Windows 64位库支持H.265编码,如果推RTMP流,需要服务器支持RTMP H.265扩展,播放器SDK,也需要同步支持RTMP H.265扩展播放。

如果是轻量级RTSP服务SDK对接的话,只需要播放器支持RTSP H.265即可。

如果推摄像头数据,建议采用可变码率+H.265编码。

如何设置码率参数更合理?

回答:

关键帧间隔:一般来说,设置到帧率的2-4倍,比如帧率20,关键帧间隔可以设置到40-80;

平均码率:可以点击“获取视频码率默认值”,最大码率是平均码率的2倍;

视频质量:如果使用可变码率,建议采用大牛直播SDK默认推荐视频质量值;

编码速度:如高分辨率,建议1-3,值越小,编码速度越快;

H.264 Profile:默认baseline profile,可根据需要,酌情设置High profile;

NOTE:点击“推送”或“录像”或启动内置RTSP服务SDK之前,请务必设置视频码率,如不想手动设置,请点击“获取视频码率默认值”!!!

音频采集设置

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

回答:

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

音频编码

问题:是AAC还是SPEEX?

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

音频处理

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

回答:选中“噪音抑制”,“噪音抑制“请和“自动增益控制”组合使用,“端点检测(VAD)”可选设置

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

回答:选中“回音消除”,可以和“噪音抑制”、“自动增益控制”组合使用。

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

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

6多路推送

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

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

截图(快照)

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

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

录像

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

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

9 实时预览

问题:我还想看看视频特别是合成后的效果,怎么办?

回答:点击页面的“预览”按钮,就可以看到。

我是外行,我想快速测试推屏怎么办?

回答:

1. 推屏幕:

2. 推摄像头:

相关资料和测试程序下载:

Github: https://github.com/daniulive/SmarterStreaming

官网:https://www.daniulive.com

大牛直播SDK release note

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

1.iOS推送SDK增加录像实时暂停、恢复功能;

2.优化iOS播放和推送SDK.

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

1.Android推送SDK增加录像实时暂停、恢复功能;

2.Android推送SDK优化音频输入;

3.优化Android播放和推送SDK.

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

1.Windows推送SDK增加录像实时暂停、恢复功能;

2.Windows推送SDK扬声器采集增加静音帧补偿接口;

3.Windows播放SDK支持硬解码(h264,h265硬解);

4.优化Windows推送播放SDK.

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

1.iOS推送SDK支持RTMP h265加密;

2.iOS推送SDK支持RTMP h264加密;

3.iOS推送SDK支持AAC/Speex/G711加密;

4.iOS播放SDK支持对应的加密流播放;

5.iOS RTMP支持AES128, AES192, AES256, SM4(国密)加解密;

6.iOS内置轻量级RTSP服务SDK支持组播模式;

7.iOS播放SDK支持RTSP mjpeg播放;

8.优化iOS播放和推送SDK.

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

1.Android推送SDK支持RTMP h265加密;

2.Android推送SDK支持RTMP h264加密;

3.Android推送SDK支持AAC/Speex/G711加密;

4.Android播放SDK支持对应的加密流播放;

5.Android RTMP支持AES128, AES192, AES256, SM4(国密)加解密;

6.Android推送SDK增加rgbx图像输入裁剪接口;

7.优化Android播放和推送SDK.

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

1.Windows推送SDK支持RTMP SM4(国密)加密;

2.Windows播放SDK支持相应RTMP SM4(国密)加密流播放;

3.优化Windows播放和推送SDK.

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

1. Android/iOS平台发布Flutter RTSP/RTMP播放SDK二次封装接口:

Flutter下实现低延迟的跨平台RTSP/RTMP播放(相关接口说明和调用实例)

Flutter-Android RTSP/RTMP播放端APK下载(更新于2019/04/10)

Flutter RTSP/RTMP直播播放端SDK视频演示

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

1.Windows推送SDK支持RTMP h265加密;

2.Windows推送SDK支持RTMP h264加密;

3.Windows推送SDK支持AAC/Speex/G711加密;

4.Windows播放SDK支持对应的加密流播放;

5.Windows RTMP支持AES128, AES192, AES256加密;

6.优化Windows桌面采集;

7.优化Windows播放和推送SDK.

[相关介绍]RTMP防盗播整体加解密方案

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

1. Windows播放SDK发布IE浏览器OCX控件:

[控件下载]  Windows OCX控件

[相关介绍] 点我查看OCX控件使用说明和SDK集成文档

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

1.Android平台全面支持x86、 x86-64位架构, 方便在模拟器上运行;

2.Android播放SDK支持rtsp mjpeg播放;

3.Android内置轻量级RTSP服务SDK支持组播模式;

4.Android推送SDK支持RGB565格式数据对接;

5.优化Android播放和推送SDK.

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

1.Windows推送SDK增加屏幕缩放功能,屏幕采集码率更低,体验更好;

2.Windows播放SDK支持rtsp mjpeg播放;

3. 优化Windows播放和推送SDK.

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

1. 发布iOS一对一互动SDK,相关功能介绍和使用说明,请点击链接

2. iOS推送端SDK增加回音消除接口;

3. iOS播放端SDK增加回音消除接口;

4. 增加iOS一对一互动SDK demo(SmartiOSEchoCancellation);

5. 优化iOS播放和推送SDK.

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

1. 为了更好的满足电子教室、无纸化办公等内网直播场景,减少服务器部署和带宽瓶颈:

1.1  Windows轻量级RTSP服务SDK支持组播方案;

1.2 Windows内网RTSP网关SDK支持组播方案;

2. 优化Windows播放和推送SDK.

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

1. 大牛直播SDK发布Android“RTSP直播推流SDK”,相关功能介绍和使用说明,请点击链接;

2. Android rtsp推送支持H.264、H.265推送;

3. Android rtsp推送支持aac推送;

4. Android rtsp推送支持rtp over udp和rtp over tcp两种传输方式;

5. Android rtsp推送支持鉴权;

6. Android rtsp推送支持401事件上报;

7. Android rtsp推送支持重连和异常网络处理等常用功能;

8. 优化Android播放和推送SDK;

9. Android推屏demo支持横竖屏自动切换.

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

1. 大牛直播SDK发布iOS“RTSP直播推流SDK”,相关功能介绍和使用说明,请点击链接;

2. iOS rtsp推送支持H.264、H.265推送;

3. iOS rtsp推送支持aac推送;

4. iOS rtsp推送支持rtp over udp和rtp over tcp两种传输方式;

5. iOS rtsp推送支持鉴权;

6. iOS rtsp推送支持401事件上报;

7. iOS rtsp推送支持重连和异常网络处理等常用功能;

8. 优化iOS播放和推送SDK.

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

1. Windows推送SDK支持MJPEG格式的摄像头采集;

2. Windows推送SDK支持外部音频和内置麦克风混音;

3. 优化Windows播放和推送SDK.

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

1. 大牛直播SDK发布Windows“RTSP直播推流SDK”,相关功能介绍和使用说明,请点击链接;

2. Windows RTSP直播推流SDK支持RTMP直播推流SDK的除协议栈外的所有功能,支持RTSP H.264/H.265(64位库)推送,支持TCP/UDP模式设置、支持RTSP鉴权模式和401处理、支持网络重连和各种异常网络状态处理;

3. 优化Windows播放和推送SDK.

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

1. iOS播放端录像SDK支持录制纯音频或纯视频;

2. iOS播放端SDK支持RTMP/RTSP H.265硬解码,如硬解码不支持,自动跳转至软解码;

3. iOS推送端SDK支持H.265硬编码(可变码率,超低码率占用),RTMP推送和内置RTSP服务均支持H.265;

4. iOS推送端SDK支持音频软、硬编码设置;

5. iOS推送端SDK支持H.264软编码可变码率设置;

6. iOS推送端SDK支持设置H.264软编码profile设置(baseline/main/high profile);

7. iOS推送端SDK支持H.264软编码速度设置;

8. iOS推送端SDK支持外部PCM数据传输SDK;

9. iOS支持内置RTSP网关SDK(SmartiOSRelayDemoV2).

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

1. 安卓推送SDK支持H.265(hevc)硬编码;

2. 安卓推送SDK支持RTMP扩展H.265推送;

3. 安卓内置轻量级RTSP服务SDK支持H.265作为数据源;

4. 安卓推送SDK支持H.264可变码率设置接口;

5. 安卓SDK demo功能页面更新。

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

1. 大牛直播SDK发布“内置RTSP网关SDK”,相关功能介绍和使用说明,请点击链接;

2. 内网RTSP网关SDK,系内置轻量级RTSP服务SDK扩展,完成外部RTSP/RTMP数据拉取并注入到轻量级RTSP服务SDK工作,多个内网客户端直接访问内网轻量级RTSP服务获取公网数据,无需部署单独的服务器,支持RTSP/RTMP H.265数据接入;

3. Windows播放SDK增加音视频录制选项(可以单独录制视频或者音频);

4. 优化Windows播放和推送SDK.

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

1. 安卓播放SDK支持H265(hevc)硬解(SetSmartPlayerVideoHevcHWDecoder,H.264/H.265硬解码可单独设置),硬解码使用设置surface模式(Demo对应is_enable_hardware_render_mode变量控制),H.265资源占用更低;

2. 安卓推送SDK和播放SDK整体优化;

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

1. Windows推送SDK支持h265编码(64位库);

2. Windows推送SDK支持rtmp h265推送,针对摄像头采集编码,使用H.265可变码率,带宽大幅节省,效果直逼传统H.265编码摄像头;

3. Windows推送SDK支持H265录像;

4. Windows内置rtsp server支持发布h265视频(64位库);

5. 优化Windows推送和播放sdk。

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

1. iOS播放SDK支持rtmp h.265播放;

2. iOS转发SDK支持h265转发(rtsp/rtmp h265转rtmp h265推送,提供配套RTMP H.265扩展服务器测试);

3. iOS播放端SDK优化;

4. iOS推送端SDK优化。

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

1. 安卓转发SDK支持音频(PCMU/PCMA,Speex等)转AAC后再推流;

2. 安卓播放SDK支持音频(PCMU/PCMA,Speex等)转AAC后再录像接口;

3. 安卓播放SDK优化rtmp h264播放;

4. 安卓播放SDK支持rtmp扩展h265播放;

5. 安卓转发SDK优化rtsp转发;

6. 安卓播放SDK优化rtsp录像;

7. 安卓播放SDK优化rtsp h264播放;

8. 安卓转发SDK支持h265转发(rtsp/rtmp h265转rtmp h265推送);

9. 安卓播放SDK硬解码支持Surface直接绘制模式;

10. 安卓推送SDK优化音频编码, 降低音频码率.

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

1. Windows转发SDK支持h265转发(rtsp/rtmp h265转rtmp h265推送)

2. Windows播放SDK优化rtsp h264播放;

3. Windows播放SDK优化rtsp录像;

4. Windows转发SDK优化rtsp转发;

5. Windows推送SDK常规优化.

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

1. Windows播放SDK支持rtmp扩展h265播放;

2. Windows播放SDK优化rtmp h264播放

3. Windows推送SDK增加外部PCM音频数据对接接口;

4. iOS录像SDK支持音频(PCMU/PCMA,Speex等)转AAC后再录像接口;

5. iOS转发SDK支持音频(PCMU/PCMA,Speex等)转AAC后再推流.

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

1. 安卓播放SDK支持rtsp h265播放;

2.安卓播放SDK支持rtsp h265录像;

3. 安卓播放SDK增加rtsp超时时间设置接口;

4. 安卓播放SDK增加rtsp tcp-udp自动切换设置接口;

5. 安卓播放SDK上报rtsp 401事件;

6. 安卓推送SDK吐编码后的AAC数据;

7. 安卓推送SDK吐编码后的H264数据方便对接第三方平台.

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

1. Windows播放SDK支持音频(PCMU/PCMA,Speex等)转AAC后再录像接口;

2. Windows转发支持音频(PCMU/PCMA,Speex等)转AAC后再推流;

3. Windows推送SDK优化音频推送.

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

1.  iOS播放SDK增加rtsp超时时间设置接口;

2. iOS播放SDK增加rtsp tcp-udp自动切换设置接口;

3. iOS播放SDK上报rtsp 401事件;

4. iOS播放SDK支持rtsp h265播放;

5. iOS录像SDK支持rtsp h265录制;

6. iOS推送、播放SDK支持模拟器编译运行;

7. 更新Windows推送、播放、转发C#demo至官方最新版本;

8. 更新Windows Unity3d播放demo(Daniulive-Unity3D-Win-SmartPlayer-2018-09-04);

9. 更新Windows SDK集成说明文档(视沃科技-Windows-SDK集成说明2.8.pdf)。

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

1.Windows播放SDK增加rtsp超时时间设置接口;

2. Windows播放SDK增加rtsp tcp-udp自动切换设置接口;

3. Windows播放SDK上报rtsp 401事件;

4. 优化Windows rtsp播放;

5. 优化Windows推送.

视沃科技(大牛直播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.

…….

大牛直播SDK十万个为什么

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

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

2. 大牛直播SDK为什么要收费?

回答:国内外为数不多致力于极致体验的流媒体内核SDK,以更及时、专业的服务,提供比快更快、比靠谱更靠谱的流媒体SDK。

3. 大牛直播SDK 为什么接口那么多,demo这么简单?

回答:多归多,几乎没有累赘的接口,demo只是SDK调用说明,看似简单甚至粗糙,我们预期开发者只看Demo和API,甚至不看我们的集成说明就可以用起来。

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

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

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

回答:可以尝试下google/bing等,我们没有做baidu推广。

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

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

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

回答:行业内最不怕测试的SDK。

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

回答:支持。

9. 大牛直播SDK怎么没有萌颜功能?

回答:我们只做最擅长的部分,我们不做的,提供对接接口。

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

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

11. 大牛直播SDK支持屏幕采集吗?

回答:windows支持、Android支持(Android 5.0+)、iOS也支持(基于ReplayKit)。

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

回答:欢迎非利益驱动的公司或开发者做对比测试,我们官方不会出。

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

回答:我们提供video编码前RGB/YUV,播放端编码后H.264, audio编码后AAC接口,为了方便对接第三方平台,甚至支持android推送端回调编码后H.264/AAC数据到上层。

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

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

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

回答:不仅支持,而且支持RTSP H.265播放、录像,支持TCP/UDP模式自动切换等,行业内几无对手!

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

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

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

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

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

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

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

回答:如果内置RTSP服务这块,可直接用我们内置RTSP服务SDK,rtmp服务器的话建议Nginx或SRS。

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

回答:说到做到!

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

回答:太忙了。

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

回答:太忙了。

23. 大牛直播SDK支持内置RTSP服务吗?

回答:支持、windows/android/iOS三个平台都支持,而且支持同时启动多个服务。

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

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

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

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

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

回答:必须有,推送端和播放端都有录像功能,而且完全录像和推送、播放完全分离,甚至支持音频(PCMU/PCMA,Speex等)转AAC后再录像。

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

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

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

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

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

回答:目前来看,大而全的播放器,基本都是拿开源改的,我们侧重于全自研内核的超低延迟、超强体验的SDK,目前来看,RTMP、RTSP直播SDK,几乎对手!

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

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

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

回答:期待更多的良心竞争。

32. 默认参数不符合我们的业务预期,我想自己设置码率、帧率、关键帧间隔之类,可以吗?

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

33. 大牛直播SDK的功能是完全分离的吗?

回答:如RTMP推送、RTSP推送、录像、内置RTSP服务,可单独使用,亦可组合使用。

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

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

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

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

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

回答:不支持,无后门。

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

回答:我们期望以更专业的技术支撑,提供足够诚意、真正靠谱的商业技术方案..

38. 我们是游戏或教育客户,想把sdk融入到unity3d环境下,怎么办?

回答:大牛直播SDK播放端SDK支持windows/android/iOS三个平台unity3d接口..

39. 我们是特定行业客户,想实现RTMP加密传输方案,可以吗?

回答:大牛直播SDK的RTMP推送端、RTMP播放端已全面覆盖基于AES(AES128/AES192/AES256)和SM4(国密)的逐帧加密支持,也可能是业内位数不多支持RTMP直播流整体加密的技术方案公司。

40. Flutter据说很火,有没有针对这个平台做接口?

回答:Android和iOS平台播放端已支持Flutter平台。

41. 有没有针对H.265的技术方案?

回答:大牛直播SDK已全面覆盖H.265的RTSP/RTMP推送和内置服务SDK,并支持H.265视频数据的录像。

大牛直播录像SDK

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

  1. windows/android/iOS推送端SDK Demo和windows/android/iOS播放端SDK Demo集成了录像SDK;
  2. 大牛直播录像SDK不同于普通录像接口,更智能,和推送、播放、转发、内置轻量级RTSP服务功能完全分离,支持随时录像;
  3. 此外,大牛直播录像SDK在录像过程中,支持切换不同URL,如两个URL配置一致,则可以录制到同一个MP4文件,如不一致,可自动分割到下一个文件;
  4. 大牛直播录像SDK支持设置单个录像文件大小、录像路径等,并支持纯音频、纯视频、音视频录制模式;
  5. Windows播放SDK支持音频(PCMU/PCMA,Speex等)转AAC后再录像;
  6. 支持RTSP/RTMP H.265(hevc)录制到MP4文件
  7. 从开始录像,到录像结束均有event callback上来,网络堵塞、音视频同步均做了非常友好的处理,大牛直播录像SDK是目前市面上为数不多真正好用的商业化录像SDK。

功能支持:

  •  [拉流]支持拉取RTSP流录像;
  •  [拉流]支持拉取RTMP流录像;
  •  [推流端录像]支持推送端同步录像;
  •  [推流端录像实时暂停/恢复]Windows平台支持推送端录像过程中实时暂停录像、恢复录像
  •  [逻辑分离]大牛直播录像SDK不同于普通录像接口,更智能,和推送、播放、转发、内置轻量级RTSP服务SDK功能完全分离,支持随时录像;
  •  [url切换]在录像过程中,支持切换不同URL,如两个URL配置一致,则可以录制到同一个MP4文件,如不一致,可自动分割到下一个文件;
  •  [参数设置]支持设置单个录像文件大小、录像路径等,并支持纯音频、纯视频、音视频录制模式;
  •  [音频转码]支持音频(PCMU/PCMA,Speex等)转AAC后再录像;
  •  [265支持]支持RTSP/RTMP H.265录制到MP4文件;
  •  [推送端265录像]Windows/Android推送端SDK支持H265录像;
  •  [事件回调]从开始录像,到录像结束均有event callback上来,网络堵塞、音视频同步均做了非常友好的处理。

对应Demo:

  •  Windows测试程序:SmartPlayer.exe;
  •  Windows C++工程:WIN-PlayerSDK-CPP-Demo;
  •  Windows C#工程:WIN-PlayerSDK-CSharp-Demo;
  •  测试程序:SmartPublisherDemo.exe;
  •  C++工程:WIN-PublisherSDK-CPP-Demo;
  •  C#工程:WIN-PublisherSDK-CSharp-Demo。
  •  Android工程:SmartPlayerV2;
  •  iOS工程:SmartiOSPlayerV2;
  •  Android工程:SmartPublisherV2;
  •  iOS工程:SmartiOSPublisherV2。

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

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形式提供,会给开发者提供更大的便利!

大牛直播跨平台RTSP/RTMP转RTMP转发SDK目前已全面覆盖Windows、Android和iOS平台,行业内以高稳定、低延迟、超低资源占用和强大的功能拓展能力深受开发者欢迎。

Windows/Android/iOS RTMP/RTSP多路流媒体转发SDK功能支持:

  1. 支持拉取rtmp流;
  2. 支持拉取rtsp流;
  3. Windows支持本地flv文件转发(支持制定文件位置转发,或转发过程中seek);
  4. 支持本地预览;
  5. 支持转发过程中,实时静音;
  6. 支持转发过程中,切换rtmp/rtsp url,此外,windows平台还支持切换本地flv文件;
  7. 支持录像模块扩展,可边转发边录制,每个文件录制开始结束,均有状态回馈;
  8. 支持内网RTSP网关模块扩展,拉取的流数据,可以流入到内网RTSP网关模块,对外微型RTSP媒体流服务(RTSP url),便于内网访问;
  9. 音频:AAC,并支持拉流后的音频(PCMU/PCMA,Speex等)转AAC后再转发;
  10. 视频:H.264、H.265,支持h265转发(rtsp/rtmp h265转rtmp h265推送)

对应Demo:

  •  Windows测试程序:SmartStreamRelayDemo.exe;
  •  Windows C++工程:WIN-RelaySDK-CPP-Demo;
  •  Windows C#工程:WIN-RelaySDK-CSharp-Demo;
  •  Android工程:SmartRelayDemoV2;
  •  iOS工程:SmartiOSRelayDemoV2。

Windows平台(对应SmartStreamRelayDemo.exe):

注意:Windows,先输入需要拉流URL或本地FLV路径,并输入,需要推流的rtmp url,点击“拉流”后,再点击“推流”,即可完成转发动作。

如需把音频转AAC后再转发,选中页面“转AAC”选项即可。

Android平台(对应SmartRelayDemoV2):

iOS平台(对应SmartiOSRelayDemoV2):

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

大牛直播iOS平台Demo工程

版本下载:

SDK 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.8

大牛直播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

大牛直播RTSP/RTMP播放器SDK特点:

在没测试过大牛直播SDK的RTMP和RTSP播放器之前,你甚至不相信行业内,RTMP和RTSP播放器(特别是RTMP播放器)延迟可以稳定的做到1秒以内。

无需赘述,全自研内核,行业内一致认可的跨平台RTSP/RTMP直播播放器SDK,功能齐全、高稳定、超低延迟、近200家公司明智之选。

功能支持:

如不单独说明,系Windows、Android、iOS全平台支持。

  •  [支持播放协议]高稳定、超低延迟(一秒内,行业内几无效果接近的播放端)、业内首屈一指的RTMP/RTSP直播播放器SDK;
  •  [多实例播放]支持多实例播放(如同时播放多路RTMP/RTSP流);
  •  [事件回调]支持网络状态、buffer状态等回调;
  •  [视频格式]支持RTSP H.265、RTMP扩展H.265,RTSP/RTMP H.264;
  •  [音频格式]RTMP/RTSP支持AAC/PCMA/PCMU,此外RTMP还支持Speex;
  •  [H.264/H.265软解码]支持H.264/H.265软解;
  •  [H.264硬解码]Android/iOS支持H.264硬解;
  •  [H.265硬解]Android支持H.265硬解;
  •  [H.264/H.265硬解码]Android支持设置Surface模式硬解和普通模式硬解码;
  •  [RTSP模式设置]支持RTSP TCP/UDP模式设置;
  •  [RTSP TCP/UDP自动切换]支持RTSP TCP、UDP模式自动切换;
  •  [RTSP超时设置]支持RTSP超时时间设置,单位:秒;
  •  [RTSP 401认证处理]支持上报RTSP 401事件,如URL携带鉴权信息,会自动处理;
  •  [缓冲时间设置]支持buffer time设置;
  •  [首屏秒开]支持首屏秒开模式;
  •  [低延迟模式]支持类似于线上娃娃机等直播方案的超低延迟模式设置(公网200~400ms);
  •  [复杂网络处理]支持断网重连等各种网络环境自动适配;
  •  [快速切换URL]支持播放过程中,快速切换其他URL,内容切换更快;
  •  [音视频多种render机制]Android平台,视频:surfaceview/OpenGL ES,音频:AudioTrack/OpenSL ES;
  •  [实时静音]支持播放过程中,实时静音/取消静音;
  •  [实时快照]支持播放过程中截取当前播放画面;
  •  [渲染角度]支持0°,90°,180°和270°四个视频画面渲染角度设置;
  •  [渲染镜像]支持水平反转、垂直反转模式设置;
  •  [实时下载速度更新]支持当前下载速度实时回调(支持设置回调时间间隔);
  •  [解码前视频数据回调]支持H.264/H.265数据回调;
  •  [解码后视频数据回调]支持解码后YUV/RGB数据回调;
  •  [解码前音频数据回调]支持AAC/PCMA/PCMU/SPEEX数据回调;
  •  [音视频自适应]支持播放过程中,音视频信息改变后自适应;
  •  [扩展录像功能]完美支持和录像SDK组合使用,录像相关功能,可参见”Windows/Android/iOS录像SDK“;
  •  [全屏]Windows平台双击画面进入全屏模式;
  •  [Windows本地FLV播放器]支持本地FLV文件播放(支持获取FLV文件的duration(时长);支持显示当前播放位置;
  •  [Windows本地FLV播放器]支持开始播放或播放过程中seek(跳转播放位置),也许是行业内seek最快的flv点播播放器)。

对应Demo:

  •  Windows测试程序:SmartPlayer.exe;
  •  Windows C++工程:WIN-PlayerSDK-CPP-Demo;
  •  Windows C#工程:WIN-PlayerSDK-CSharp-Demo;
  •  Android工程:SmartPlayerV2;
  •  iOS工程:SmartiOSPlayerV2。

大牛直播RTMP推流SDK

大牛直播RTMP推送端SDK特点:

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

功能支持:

如不单独说明,系Windows、Android、iOS全平台支持。

  •  [视频采集处理]Windows平台涵盖“Windows视频采集处理SDK”功能;
  •  [音频采集处理]Windows平台涵盖“Windows音频采集处理SDK”功能;
  •  [本地预览]Windows平台支持摄像头/屏幕/合成数据实时预览功能,Android/iOS平台支持本地前后置摄像头预览;
  •  [摄像头反转/旋转]Windows平台支持摄像头水平反转、垂直反转、0°/90°/180°/270°旋转;
  •  [摄像头采集]除常规YUV格式外,还支持MJPEG格式的摄像头采集;
  •  [RTMP推流]超低延时的RTMP协议直播推流SDK(Windows/Android/iOS支持RTMP扩展H.265推送);
  •  [音视频加密]Windows平台RTMP支持AES128/AES192/AES256/SM4(国密)逐帧数据加密
  •  [音视频加密]Windows平台支持RTMP H.264/H.265加密
  •  [音视频加密]Windows平台支持RTMP AAC/Speex/G711加密
  •  [视频格式]Windows/Android平台支持H.264/H.265编码(Android H.265硬编码),iOS平台支持H.264编码;
  •  [音频格式]Windows/Android/iOS平台支持AAC编码,Windows/Android平台支持Speex编码;
  •  [音频编码]Windows/Android平台支持Speex推送、Speex编码质量设置;
  •  [H.264硬编码]Android/iOS平台支持H.264硬编码;
  •  [H.265硬编码]Android平台支持H.265硬编码;
  •  [硬编码自适应]Android/iOS平台支持硬编码自适应,如检测到硬编码不支持,自动切换到软编(iOS如H.265硬编,先切换到H.264硬编码,如不支持再尝试H.264软编);
  •  [软硬编码参数配置]支持gop间隔、帧率、bit-rate设置;
  •  [软编码参数配置]支持软编码profile、软编码速度、可变码率设置;
  •  [多实例推送]支持多实例推送(如同时推送屏幕/摄像头和外部数据);
  •  [RTMP扩展H.265]Windows/Android/iOS推送SDK支持RTMP扩展H.265推送,Windows针对摄像头采集软编码,使用H.265可变码率,带宽大幅节省,效果直逼传统H.265编码摄像头,Android/iOS平台支持H.265硬编码;
  •  [横竖屏推流]Android/iOS平台支持支持横屏、竖屏推流;
  •  [多分辨率支持]支持摄像头或屏幕多种分辨率设置;
  •  [Windows推屏]Windows平台支持屏幕裁剪、窗口采集、屏幕/摄像头数据合成等多种模式推送;
  •  [移动端推屏]Android平台支持后台service推送摄像头或屏幕(推送屏幕需要5.0+版本);
  •  [移动端推屏]iOS平台支持后台推送屏幕(基于ReplayKit,需要iOS 10.0+版本);
  •  [事件回调]支持各种状态实时回调;
  •  [水印]Windows平台支持文字水印、png水印、实时遮挡,Android平台支持文字水印、png水印;
  •  [RTMP推送模式]支持RTMP推送 live|record模式设置(需服务器支持);
  •  [镜像]Android/iOS平台支持前置摄像头实时镜像功能;
  •  [前后摄像头实时切换]Android/iOS平台支持采集过程中,前后摄像头切换;
  •  [复杂网络处理]支持断网重连等各种网络环境自动适配;
  •  [动态码率]支持根据网络情况自动调整推流码率;
  •  [实时静音]支持推送过程中,实时静音/取消静音;
  •  [实时快照]支持推流过程中,实时快照;
  •  [纯音频推流]支持仅采集音频流并发起推流功能;
  •  [纯视频推流]支持特殊场景下的纯视频推流功能;
  •  [降噪]Windows/Android平台支持环境音、手机干扰等引起的噪音降噪处理、自动增益、VAD检测(一般噪音抑制和自动增益组合使用);
  •  [回音消除]Android平台支持实时传递远端PCM数据,方便回音消除处理;
  •  [外部编码前视频数据对接]支持YUV数据对接;
  •  [外部编码前音频数据对接]支持PCM对接;
  •  [外部编码后视频数据对接]支持外部H.264数据对接;
  •  [外部编码后音频数据对接]外部AAC/PCMA/PCMU/SPEEX数据对接;
  •  [编码后数据输出]Android平台支持输出编码后的H264/AAC数据到上层,方便对接第三方平台(如GB28181)对接(接口说明和demo请点击以下链接);
  •  [扩展录像功能]完美支持和录像SDK组合使用,录像相关功能,可参见”8. Windows/Android/iOS录像SDK“;
  •  [基础美颜]iOS平台自带基础美颜功能;
  •  [裁剪模式]Android/iOS平台支持特定分辨率摄像头裁剪模式设置;
  •  [服务器兼容]支持支持自建服务器(如Nginx、SRS)或CDN。

对应Demo:

  •  Windows测试程序:SmartPublisherDemo.exe;
  •  Windows C++工程:WIN-PublisherSDK-CPP-Demo;
  •  Windows C#工程:WIN-PublisherSDK-CSharp-Demo;
  •  Android工程:SmartPublisherV2;
  •  iOS工程:SmartiOSPublisherV2。

移动端使用说明不再赘述,点击查看Windows使用说明

rtmp/rtsp/hls公网测试地址

相信大家在调试播放器的时候,都有这样的困惑,很难找到合适的公有测试源,以下是大牛直播整理的真正可用的直播地址源。

其中,rtmp和rtsp的url,用https://github.com/daniulive/SmarterStreaming提供的播放器验证通过。

hls的地址,用vlc验证通过。

1. RTMP协议直播源

香港卫视:rtmp://live.hkstv.hk.lxdns.com/live/hks

2. RTSP协议直播源

大熊兔(VOD):rtsp://184.72.239.149/vod/mp4://BigBuckBunny_175k.mov

国外电视台:rtsp://rtsp-v3-spbtv.msk.spbtv.com/spbtv_v3_1/214_110.sdp

3. HTTP协议直播源

香港卫视:http://live.hkstv.hk.lxdns.com/live/hks/playlist.m3u8