視沃科技(大牛直播SDK)RTMP推送-RTSP/RTMP直播SDK

視沃科技-大牛直播SDK?daniulive.com

始于2014年,國內外為數不多致力于極致體驗的超強全自研跨平臺(windows/android/iOS)流媒體內核,通過模塊化自由組合,支持實時RTMP推流、RTMP/RTSP直播播放(支持RTSP/RTMP H.265)、實時錄像、多路流媒體轉發、音視頻導播、動態視頻合成、音頻混音、互動直播、內置輕量級RTSP服務等,比快更快,業界真正靠譜的超低延遲直播SDK(1秒內,低延遲模式下200~400ms)。

適用于在線教育、無紙化推屏/會議、智慧教室、直播答題、智能可視門禁對講、智慧安防、智能家居、物聯網、智能車載、傳統硬件領域、超低延遲娃娃機抓取播放方案、媒體移動直播、應急指揮調度(針對保險、城管、交警、消防、公安等職能管理部門的單兵應急執法系統)、可視化購物、遠程專家診斷、可視化巡檢、(如電信/電力線路/鐵路沿線/水利設施/油田/消防設施巡檢)、移動視頻安防監控,企業內訓、金融在線直播室、微信直播、監控對接、活動現場直播、游戲直播、秀場直播等場景。

latest release note

除此之外,大牛直播SDK播放端,支持APICloudReact Native二次封裝,并且全平臺支持Unity3D平臺,也可能是Unity3D平臺下首款真正高穩定、超低延遲的rtmp/rtsp直播播放器。

android/iOS播放器SDK(V2)APICloud調用說明

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

大牛直播SDK基于unity3d平臺的rtmp/rtsp直播播放端SDK視頻演示

Unity3D-Windows播放端APP下載(更新于2018/09/04)

Unity3D-Android播放端APK下載(更新于2018/10/24)

Windows端

  • ?RTMP直播推流SDK?rtmp推送SDK(支持同時推多路url,支持RTMP擴展H.265推送(64位庫));
  • ?RTMP/RTSP直播播放器SDK?業內首屈一指的rtmp/rtsp超低延遲直播播放器SDK(支持RTMP H.265擴展播放);
  • ?Unity3D RTMP/RTSP直播播放器SDK?業內首家Windows支持Unity3D的超低延遲RTMP/RTSP直播播放器SDK,支持快照、錄像、實時靜音、view旋轉、快速切換URL等特性;
  • ?RTMP/RTSP多路流媒體轉RTMP推送SDK?支持同時多路拉取rtmp/rtsp流/本地flv文件,并分別轉發到服務器,支持轉發過程中,拉取的rtsp/rtmp或本地flv文件實時內容切換,業內為數不多支持RTSP/RTMP H.265拉流轉發的SDK(提供配套RTMP擴展H.265服務器);
  • ?輕量級RTSP服務SDK?為滿足內網無紙化/電子教室等內網超低延遲需求,避免讓用戶配置單獨的服務器,大牛直播SDK在推送端支持輕量級RTSP服務SDK,推送端SDK支持的功能,內置輕量級RTSP服務SDK后,功能繼續支持,windows端64位庫支持RTSP H.265視頻輸出;
  • ?內網RTSP網關SDK?內網RTSP網關SDK,系內置輕量級RTSP服務SDK擴展,完成外部RTSP/RTMP數據拉取并注入到輕量級RTSP服務SDK工作,多個內網客戶端直接訪問內網輕量級RTSP服務獲取公網數據,無需部署單獨的服務器,支持RTSP/RTMP H.265數據接入;
  • ?導播SDK?數據源:1. rtmp/rtsp音視頻流;2. 本地屏幕/攝像頭/音頻數據;3.本地flv文件;多路流合成一路實時導播推送;
  • ?錄像SDK?支持拉取rtmp/rtsp流實時錄像模塊/實時快照功能,支持純音頻、純視頻、音視頻錄制模式,支持音頻(PCMU/PCMA,Speex等)轉AAC后再錄像,業內為數不多的支持RTSP/RTMP H.265錄制到MP4文件的錄像SDK;
  • ?[互動SDK] Windows一對一互動(可windows與windows/android互動);
  • ?連麥SDK?以標準協議為基礎,完美支持Windows連麥;
  • ?[點播播放器SDK] 支持本地flv文件播放(支持獲取flv文件的duration(時長);支持顯示當前播放位置;支持開始播放或播放過程中seek(跳轉播放位置),也許是行業內seek最快的flv點播播放器);
  • ?SEI擴展數據發送/接收SDK?支持推送端通過H.264 SEI信息擴展,實時傳輸文本/二進制數據信息(如實時字幕/時間戳/題目分發/公告廣播等),播放端做相應解析和回顯;
  • ?視頻處理SDK?屏幕/多攝像頭/水印/遮擋區域多層自由合成模塊;
  • ?音頻處理SDK?多路混音、回音消除、噪音抑制、自動增益、VAD檢測模塊;

Android端

  • ?RTMP直播推流端SDK?Android屏幕、攝像頭RTMP推流SDK;
  • ?RTMP/RTSP直播播放器SDK?業內首屈一指的rtmp/rtsp超低延遲直播播放器SDK(支持RTMP H.265擴展播放);
  • ?Unity3D RTMP/RTSP直播播放器SDK?業內首家Android支持Unity3D的超低延遲RTMP/RTSP直播播放器SDK,支持快照、錄像、實時靜音、view旋轉、快速切換URL等特性;
  • ?錄像SDK?支持拉取rtmp/rtsp流實時錄像模塊/實時快照功能,支持純音頻、純視頻、音視頻錄制模式,支持音頻(PCMU/PCMA,Speex等)轉AAC后再錄像,業內為數不多的支持RTSP/RTMP H.265錄制到MP4文件的錄像SDK;
  • ?RTMP/RTSP多路流媒體轉RTMP推送SDK?支持實時拉取的rtmp/rtsp流轉發到指定rtmp url;
  • ?輕量級RTSP服務SDK?為滿足內網無紙化/電子教室等內網超低延遲需求,避免讓用戶配置單獨的服務器,大牛直播SDK在推送端支持輕量級RTSP服務SDK,推送端SDK支持的功能,內置輕量級RTSP服務SDK后,功能繼續支持;
  • ?[互動SDK] Android一對一互動(可android與windows/android/iOS互動);
  • ?SEI擴展數據發送/接收SDK?支持推送端通過H.264 SEI信息擴展,實時傳輸文本/二進制數據信息(如實時字幕/時間戳/題目分發/公告廣播等),播放端做相應解析和回顯;
  • ?視頻處理SDKAndroid文字水印、png圖片水印;
  • ?音頻處理SDKAndroid回音消除、噪音抑制、自動增益、VAD檢測模塊;

iOS端

  • ?RTMP直播推流端SDK?iOS屏幕(基于ReplayKit)、攝像頭RTMP推流SDK;
  • ?RTMP/RTSP直播播放器SDK?業內首屈一指的rtmp/rtsp超低延遲直播播放器SDK(支持RTMP H.265擴展播放);
  • ?Unity3D RTMP/RTSP直播播放器SDK?業內首家iOS支持Unity3D的超低延遲RTMP/RTSP直播播放器SDK,支持快照、錄像、實時靜音、view旋轉、快速切換URL等特性;
  • ?錄像SDK?支持拉取rtmp/rtsp流實時錄像模塊/實時快照功能,支持純音頻、純視頻、音視頻錄制模式,支持音頻(PCMU/PCMA,Speex等)轉AAC后再錄像,業內為數不多的支持RTSP/RTMP H.265錄制到MP4文件的錄像SDK;
  • ?RTMP/RTSP多路流媒體轉RTMP推送SDK?支持實時拉取的rtmp/rtsp流轉發到指定rtmp url;
  • ?輕量級RTSP服務SDK?為滿足內網無紙化/電子教室等內網超低延遲需求,避免讓用戶配置單獨的服務器,大牛直播SDK在推送端支持輕量級RTSP服務SDK,推送端SDK支持的功能,內置輕量級RTSP服務SDK后,功能繼續支持;
  • ?SEI擴展數據發送/接收SDK?支持推送端通過H.264 SEI信息擴展,實時傳輸文本/二進制數據信息(如實時字幕/時間戳/題目分發/公告廣播等),播放端做相應解析和回顯;

本地下載

很多開發者反應,由于項目龐大,github下載整個工程很慢,我們已經把相關demo文件和使用說明,全部上傳到QQ群共享:

或者直接從私有服務器下載(Windows提供C#/C++ demo, android提供android studio demo,iOS提供xcode demo):

大牛直播SDK相關demo本地下載

NOTE:?Windows平臺,以C++ SDK Demo為最新,C# Demo更新速度稍滯于C++ Demo。

大牛直播SDK集成和調用說明

大牛直播SDK Demo使用說明

上層源碼目錄

  1. android推流 SmartPublisherV2https://github.com/daniulive/SmarterStreaming/tree/master/SourceCode/AndroidStudio/SmartPublisherV2
  2. android推流 SmartServicePublisherV2(后臺service推送屏幕)https://github.com/daniulive/SmarterStreaming/tree/master/SourceCode/AndroidStudio/SmartServicePublisherV2
  3. android推流 SmartServiceCameraPublisherV2(后臺service推送攝像頭)https://github.com/daniulive/SmarterStreaming/tree/master/SourceCode/AndroidStudio/SmartServiceCameraPublisherV2
  4. android一對一回音消除 SmartEchoCancellationV2https://github.com/daniulive/SmarterStreaming/tree/master/SourceCode/AndroidStudio/SmartEchoCancellationV2
  5. android播放器 SmartPlayerV2:https://github.com/daniulive/SmarterStreaming/tree/master/SourceCode/AndroidStudio/SmartPlayerV2
  6. android轉發-錄像-播放三合一 SmartRelayDemoV2:https://github.com/daniulive/SmarterStreaming/tree/master/SourceCode/AndroidStudio/SmartRelayDemoV2
  7. iOS推流 SmartiOSPublisherV2:https://github.com/daniulive/SmarterStreaming/tree/master/SourceCode/IOS/SmartiOSPublisherV2
  8. iOS后臺推屏 SmartiOSScreenPublisherV2:https://github.com/daniulive/SmarterStreaming/tree/master/SourceCode/IOS/SmartiOSScreenPublisherV2
  9. iOS播放器 SmartiOSPlayerV2:https://github.com/daniulive/SmarterStreaming/tree/master/SourceCode/IOS/SmartiOSPlayerV2
  10. iOS轉發-錄像-播放三合一 SmartiOSRelayDemoV2:https://github.com/daniulive/SmarterStreaming/tree/master/SourceCode/IOS/SmartiOSRelayDemoV2

功能支持


1. Windows視頻采集處理SDK

  1. 支持視頻源
  • ?支持Windows屏幕采集、屏幕裁剪特定窗口采集、攝像頭采集、擴展外部H.264數據對接;
  1. 攝像頭和屏幕合成
  • ?[攝像頭和屏幕實時切換]支持推送過程中,攝像頭和屏幕互相切換,單畫面顯示攝像頭或屏幕;
  • ?[攝像頭疊加到屏幕] 支持攝像頭按照設置坐標,疊加到屏幕指定位置,并支持實時關閉疊加層;
  • ?[屏幕疊加到攝像頭] 支持屏幕按照設定坐標,疊加到攝像頭指定位置,并支持實時關閉疊加層;
  1. 水印和透明度遮擋
  • ?[實時水印]支持動態水印設置,完美支持文字水印、實時時間水印和圖片水印
  • ?[透明度]可以設置透明度處理(設置遮蓋);
  1. 對應Demo:
  • ?測試程序:SmartPublisherDemo.exe;
  • ?C++工程:WIN-PublisherSDK-CPP-Demo;
  • ?C#工程:WIN-PublisherSDK-CSharp-Demo。

2. Windows音頻采集處理SDK

  1. 支持音頻源
  • ?支持Windows采集麥克風揚聲器和外部AAC, Speex WB, PCMA, PCMU數據接口輸入;
  1. 音頻合成
  • ?[音頻]支持揚聲器和麥克風音頻混音輸出(同時選擇“采集揚聲器”和“采集麥克風”);
  1. 音頻處理
  • ?支持音頻“端點檢測(VAD)”,自適應碼流,音頻碼流更節省;
  • ?支持回音消除功能;
  • ?支持噪音抑制功能;
  • ?支持自動增益控制。
  1. 對應Demo:
  • ?測試程序:SmartPublisherDemo.exe;
  • ?C++工程:WIN-PublisherSDK-CPP-Demo;
  • ?C#工程:WIN-PublisherSDK-CSharp-Demo。

3. Windows/Android/iOS RTMP直播推流SDK

如不單獨說明,系Windows、Android、iOS全平臺支持。

  • ?[視頻采集處理]Windows平臺涵蓋“Windows視頻采集處理SDK”功能;
  • ?[音頻采集處理]Windows平臺涵蓋“Windows音頻采集處理SDK”功能;
  • ?[本地預覽]Windows平臺支持攝像頭/屏幕/合成數據實時預覽功能,Android/iOS平臺支持本地前后置攝像頭預覽;
  • ?[攝像頭反轉/旋轉]Windows平臺支持攝像頭水平反轉、垂直反轉、0°/90°/180°/270°旋轉;
  • ?[RTMP推流]超低延時的RTMP協議直播推流SDK(Windows支持RTMP擴展H.265推送);
  • ?[視頻格式]Windows平臺支持H.264/H.265編碼,Android/iOS平臺支持H.264編碼;
  • ?[音頻格式]Windows/Android/iOS平臺支持AAC編碼,Windows/Android平臺支持Speex編碼;
  • ?[音頻編碼]Windows/Android平臺支持Speex推送、Speex編碼質量設置;
  • ?[H.264硬編碼]Android/iOS支持H.264硬編碼;
  • ?[硬編碼碼自適應]Android/iOS平臺支持硬編碼自適應,如檢測到硬編碼不支持,自動切換到軟編;
  • ?[編碼參數配置]支持gop間隔、幀率、bit-rate、軟編碼profile、軟編碼速度設置;
  • ?[多實例推送]支持多實例推送(如同時推送屏幕/攝像頭和外部數據);
  • ?[RTMP擴展H.265]Windows推送SDK支持RTMP擴展H.265推送,針對攝像頭采集編碼,使用H.265可變碼率,帶寬大幅節省,效果直逼傳統H.265編碼攝像頭;
  • ?[橫豎屏推流]Android/iOS平臺支持支持橫屏、豎屏推流;
  • ?[多分辨率支持]支持攝像頭或屏幕多種分辨率設置;
  • ?[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。

4. Windows/Android/iOS RTMP、RTSP直播播放器SDK

如不單獨說明,系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模式硬解和普通模式硬解碼;
  • ?[硬解碼自適應]Android/iOS平臺支持硬解碼碼自適應,如檢測到硬解碼不支持,自動切換到軟解;
  • ?[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組合使用,錄像相關功能,可參見”8. 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。

5. Windows/Android/iOS內置輕量級RTSP服務SDK

如不單獨說明,系Windows、Android、iOS全平臺支持。

  • ?[基礎功能]支持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。

6. Windows內網RTSP網關SDK

內網RTSP網關SDK,系內置輕量級RTSP服務SDK擴展,完成外部RTSP/RTMP數據拉取并注入到輕量級RTSP服務SDK工作,多個內網客戶端直接訪問內網輕量級RTSP服務獲取公網數據,無需部署單獨的服務器,支持RTSP/RTMP H.265數據接入。 簡單來說:內置輕量級RTSP服務SDK和內置RTSP網關SDK的區別在于數據來源不同,內置輕量級RTSP服務SDK數據來源于終端設備自帶攝像頭數據/屏幕數據/外部編碼前后數據,內置RTSP網關SDK的數據源是RTSP/RTMP流數據。

  • ?[音頻格式]AAC;
  • ?[視頻格式]H.264、H.265;
  • ?[接入協議]支持內外網RTMP/RTSP流接入;
  • ?[輸出協議]RTSP,拉取的RTSP/RTMP流,注入輕量級RTSP服務SDK;
  • ?[音頻轉碼]支持音頻(PCMU/PCMA,Speex等)轉AAC后注入;
  • ?[端口設置]支持RTSP端口設置;
  • ?[鑒權設置]支持RTSP鑒權用戶名、密碼設置;
  • ?[獲取session連接數]支持獲取當前RTSP服務會話連接數;
  • ?[多服務支持]支持同時創建多個內置RTSP服務;
  • ?[H.265支持]Windows內置rtsp server支持發布H.265視頻(64位庫);
  • ?[RTSP url回調]支持設置后的rtsp url通過event回調到上層;

對應Demo:

  • ?Windows測試程序:SmartStreamRelayDemo.exe;
  • ?Windows C++工程:WIN-RelaySDK-CPP-Demo;
  • ?Windows C#工程:WIN-RelaySDK-CSharp-Demo。

7. Windows/Android/iOS RTMP/RTSP多路流媒體轉RTMP推送SDK

如不單獨說明,系Windows、Android、iOS全平臺支持。

  • ?[拉流]支持拉取RTSP流;
  • ?[拉流]支持拉取RTMP流;
  • ?[預覽]支持拉取到的RTMP/RTSP隨時本地預覽、關閉預覽;
  • ?[拉流音頻調節]支持拉取的RTMP/RTSP流靜音;
  • ?[音頻轉碼]支持拉取的RTMP/RTSP的PCMA/PCMU/SPEEX音頻格式轉AAC后再轉發到RTMP服務器;
  • ?[url切換]支持轉發過程中,拉取的RTMP/RTSP或本地FLV文件實時內容切換
  • ?[轉發]超低延遲轉發拉取的rtsp/rtmp流到rtmp server;
  • ?[H.265支持]業內首家支持RTSP/RTMP H.265轉RTMP推送的SDK(提供配套RTMP擴展H.265服務器);

對應Demo:

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

8. Windows導播SDK

  • ?[拉流]支持拉取RTSP流;
  • ?[拉流]支持拉取RTMP流;
  • ?[混音合成]支持本地采集到屏幕或攝像頭數據,和遠程拉取得RTSP或RTMP流做合成、混音輸出;
  • ?[導播]支持導播過程中,隨時切斷某一路音視頻或音頻;
  • ?[混音]支持音頻混音(同時選擇“采集麥克風”+“采集揚聲器”);
  • ?[合成]多路流合成一路流后,推送到RTMP服務器;
  • ?[擴展錄像快照]多路合成后的流,支持本地錄像、快照。

對應Demo:

  • ?測試程序:SmartMixStreamDemo.exe;
  • ?C++工程:WIN-MixStreamSDK-CPP-Demo;

9. Windows/Android/iOS錄像SDK

  • ?[拉流]支持拉取RTSP流錄像;
  • ?[拉流]支持拉取RTMP流錄像;
  • ?[推流端錄像]支持推送端同步錄像;
  • ?[邏輯分離]大牛直播錄像SDK不同于普通錄像接口,更智能,和推送、播放、轉發、內置輕量級RTSP服務SDK功能完全分離,支持隨時錄像;
  • ?[url切換]在錄像過程中,支持切換不同URL,如兩個URL配置一致,則可以錄制到同一個MP4文件,如不一致,可自動分割到下一個文件;
  • ?[參數設置]支持設置單個錄像文件大小、錄像路徑等,并支持純音頻、純視頻、音視頻錄制模式;
  • ?[音頻轉碼]支持音頻(PCMU/PCMA,Speex等)轉AAC后再錄像;
  • ?[265支持]支持RTSP/RTMP H.265錄制到MP4文件;
  • ?[推送端265錄像]Windows推送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。

10. Windows/Android/iOS SEI擴展數據發送/接收SDK

  • ?[RTSP SEI]支持內置RTSP服務SDK攜帶SEI擴展信息(H.264);
  • ?[RTMP SEI]支持RTMP推送SDK攜帶SEI擴展信息(H.264);
  • ?[自定義數據]持發送自定義用戶數據(如自定義utf8字符串);
  • ?[二進制數據]支持發送二進制數據;
  • ?[播放端解析]RTSP/RTMP直播播放端SDK支持utf8文本、二進制、和原SEI數據解析。

對應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。

編譯注意事項

  • iOS平臺支持真機和模擬器編譯運行.
  • iOS播放端編譯時找不到 libSmartPlayerSDK.a 時,請先到 SmartiOSPlayer/SmartiOSPlayer/libs 目錄, 解壓libSmartPlayerSDK.zip.
  • iOS推送端編譯時找不到 libSmartPublisherSDK.a 時,請先到 SmartiOSPublisher/SmartiOSPublisher/libs 目錄, 解壓libSmartPublisherSDK.zip.
  • 未授權版本,限制app-name,如果需要集成到自己工程里面調試,可以用以下名字:
Windows推送端:SmartPublisherDemo
Windows播放端:SmartPlayer
Windows轉發端:SmartStreamRelayDemo
Windows合流導播端:SmartMixStreamDemo
android推送端:SmartPublisherSDKDemo
android后臺Service推送:SmartServicePublisherSDKDemo
android一對一互動:SmartEchoCancellation
android播放器:SmartPlayerSDKDemo
iOS推送端:SmartiOSPublisher
iOS轉發端:SmartiOSRelayDemo
iOS播放器:SmartiOSPlayer
  • 集成到自己工程,如何改名字(以推送端為例):
android:strings.xml:
<string name="app_name">SmartPublisherSDKDemo</string>
iOS:Info.plist-->右鍵Open As-->Source Code,添加或者編輯
<key>CFBundleName</key>	
<string>SmartiOSPublisher</string>

聯系我們

點擊查看聯系方式

QQ交流群:

大牛直播SDK技術交流群1:499687479

大牛直播SDK技術交流群2:294891451

內網RTSP網關SDK

內網RTSP網關SDK,系內置輕量級RTSP服務SDK擴展,完成外部RTSP/RTMP數據拉取并注入到輕量級RTSP服務SDK工作,多個內網客戶端直接訪問內網輕量級RTSP服務獲取公網數據,無需部署單獨的服務器,支持RTSP/RTMP H.265數據接入。

簡單來說:內置輕量級RTSP服務SDK和內置RTSP網關SDK的區別在于數據來源不同,內置輕量級RTSP服務SDK數據來源于終端設備自帶攝像頭數據/屏幕數據/外部編碼前后數據,內置RTSP網關SDK的數據源是RTSP/RTMP流數據。

  • ?[音頻格式]AAC;
  • ?[視頻格式]H.264、H.265;
  • ?[接入協議]支持內外網RTMP/RTSP流接入;
  • ?[輸出協議]RTSP,拉取的RTSP/RTMP流,注入輕量級RTSP服務SDK;
  • ?[傳輸模式]Windows支持單播組播模式,Android/iOS平臺支持單播模式;
  • ?[音頻轉碼]支持音頻(PCMU/PCMA,Speex等)轉AAC后注入;
  • ?[端口設置]支持RTSP端口設置;
  • ?[鑒權設置]支持RTSP鑒權用戶名、密碼設置;
  • ?[獲取session連接數]支持獲取當前RTSP服務會話連接數;
  • ?[多服務支持]支持同時創建多個內置RTSP服務;
  • ?[H.265支持]Windows內置rtsp server支持發布H.265視頻(64位庫);
  • ?[RTSP url回調]支持設置后的rtsp url通過event回調到上層;

對應Demo:

  • ?Windows測試程序:SmartStreamRelayDemo.exe;
  • ?Windows C++工程:WIN-RelaySDK-CPP-Demo;
  • ?Windows C#工程:WIN-RelaySDK-CSharp-Demo;
  • ?iOS工程:SmartiOSRelayDemoV2.

基本使用步驟:

  1. 點擊“配置查看Rtsp服務”按鈕,啟動rtsp服務;
  2. 輸入需要拉流的rtsp或rtmp地址;
  3. 點擊拉流,獲取rtsp或rtsp流數據;
  4. 點擊“發送rtsp流”,即可把數據注入內網rtsp網關sdk;
  5. 發送成功后,會回調可用來播放的內網rtsp url;
  6. 播放端,輸入步驟5回調的rtsp地址,完成拉流播放;
  7. 如果查看連接的內網播放session數,點擊“配置查看Rtsp服務”,可實時查詢每個rtsp service連接的session數;
  8. 如需本地拉取的rtsp或rtmp流,點擊“預覽”;
  9. 如需停止,點擊“停止rtsp流”;

音頻采集處理SDK

Windows音頻采集處理SDK

  1. 支持音頻源
  • ?支持Windows采集麥克風揚聲器和外部AAC, Speex WB, PCMA, PCMU數據接口輸入;
  1. 音頻合成
  • ?[音頻]支持揚聲器和麥克風音頻混音輸出(同時選擇“采集揚聲器”和“采集麥克風”);
  1. 音頻處理
  • ?支持音頻“端點檢測(VAD)”,自適應碼流,音頻碼流更節省;
  • ?支持回音消除功能;
  • ?支持噪音抑制功能;
  • ?支持自動增益控制。
  1. 對應Demo:
  • ?測試程序:SmartPublisherDemo.exe;
  • ?C++工程:WIN-PublisherSDK-CPP-Demo;
  • ?C#工程:WIN-PublisherSDK-CSharp-Demo。

視頻采集處理SDK

Windows視頻采集處理SDK

  1. 支持視頻源
  • ?支持Windows屏幕采集、屏幕裁剪特定窗口采集、攝像頭采集、擴展外部H.264數據對接;
  1. 攝像頭和屏幕合成
  • ?[攝像頭和屏幕實時切換]支持推送過程中,攝像頭和屏幕互相切換,單畫面顯示攝像頭或屏幕;
  • ?[攝像頭疊加到屏幕] 支持攝像頭按照設置坐標,疊加到屏幕指定位置,并支持實時關閉疊加層;
  • ?[屏幕疊加到攝像頭] 支持屏幕按照設定坐標,疊加到攝像頭指定位置,并支持實時關閉疊加層;
  1. 水印和透明度遮擋
  • ?[實時水印]支持動態水印設置,完美支持文字水印、實時時間水印和圖片水印
  • ?[透明度]可以設置透明度處理(設置遮蓋);
  1. 對應Demo:
  • ?測試程序:SmartPublisherDemo.exe;
  • ?C++工程:WIN-PublisherSDK-CPP-Demo;
  • ?C#工程:WIN-PublisherSDK-CSharp-Demo。

大牛直播連麥SDK

大牛直播連麥SDK,系一對一互動SDK的擴展,關于一對一互動SDK說明,可點我查看

連麥SDK,目前覆蓋Windows平臺,如一對一互動SDK提及,基于官方現有RTMP、RTSP推送、或內置RTSP服務、播放SDK,產品穩定度高,行業內首屈一指的超低延遲特性,采用通用的RTMP服務器,如nginx、SRS,更有利于私有部署。

連麥SDK特別適用于教育培訓、指揮系統等場景,連麥后的流數據,以RTMP流形式出去,并支持連麥流數據雙屏錄制、快照等操作。

以Windows與android端連麥為例(Windows端作為連麥主體端/指揮中心):

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”,點擊開始播放。

iOS端

  1. 打開SmartiOSEchoCancellation工程
  2. [推送]根據需求,選擇合適的分辨率和幀率,輸入推送地址,如”rtmp://player.daniulive.com:1935/hls/streamios”,點擊開始推送;
  3. [播放]輸入Windows推送的原始rtmp推送地址,如此次設置,輸入 “rtmp://player.daniulive.com:1935/hls/streamorg”,點擊開始播放。

至此,以Windows為連麥主體端的設置完成,可與Windows、Android、iOS平臺完成連麥操作,如第三方平臺(windows/android/iOS)需要觀看此次實時互動視頻(連麥效果),在播放端,輸入合流后的rtmp推送地址,此次demo為 “rtmp://player.daniulive.com:1935/hls/streammix”,即可完成播放。

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

大牛直播錄像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流錄像;
  • ?[推流端錄像]支持RTMP|RTSP推送端同步錄像;
  • ?[輕量級RTSP服務錄像]支持輕量級RTSP服務SDK同步錄像;
  • ?[推流端錄像實時暫停/恢復]支持推送端錄像過程中實時暫停錄像、恢復錄像
  • ?[邏輯分離]大牛直播錄像SDK不同于普通錄像接口,更智能,和推送、播放、轉發、內置輕量級RTSP服務SDK功能完全分離,支持隨時錄像;
  • ?[url切換]在錄像過程中,支持切換不同URL,如兩個URL配置一致,則可以錄制到同一個MP4文件,如不一致,可自動分割到下一個文件;
  • ?[參數設置]支持設置單個錄像文件大小、錄像路徑等,并支持純音頻、純視頻、音視頻錄制模式;
  • ?[音頻轉碼]支持音頻(PCMU/PCMA,Speex等)轉AAC后再錄像;
  • ?[265支持]支持RTSP/RTMP H.265錄制到MP4文件;
  • ?[推送端265錄像]推送端SDK支持H265錄像;
  • ?[推送端外部編碼數據對接錄像]支持推送端外部編碼后數據(H.264/AAC)對接錄像;
  • ?[事件回調]從開始錄像,到錄像結束均有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。

目前,大牛直播SDK Windows平臺已發布基于轉發SDK的官方定制版系統,相關鏈接

[Windows平臺多路RTSP|RTMP轉RTMP推送官方定制版]

大牛直播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;
  • ?[實時靜音]支持播放過程中,實時靜音/取消靜音;
  • ?[實時快照]支持播放過程中截取當前播放畫面;
  • ?[只播關鍵幀]Windows平臺支持實時設置是否只播放關鍵幀;
  • ?[渲染角度]支持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推送);
  • ?[音視頻加密]RTMP支持AES128/AES192/AES256/SM4(國密)逐幀數據加密
  • ?[音視頻加密]支持RTMP?H.264/H.265加密
  • ?[音視頻加密]支持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/iOS平臺支持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)對接;
  • ?[擴展錄像功能]完美支持和錄像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使用說明

如何基于ReplayKit實現低延遲rtmp推屏

目錄

1背景說明

2 iOS錄制屏幕三要素

3集成說明

4 SDK對接

5 SDK運行

6如何在移動端測試

7 Demo下載

1背景說明

在ReplayKit live未出來之前,iOS推流屏幕信息,必須使用實際或虛擬的AirPlay模式,使用起來非常不便,自iOS 10開始,蘋果在 iOS 9 的 ReplayKit 保存錄屏視頻的基礎上,增加了視頻流實時直播功能,iOS 11新增的ReplayKit2,進一步提升了Replaykit的易用性,可以對整個手機實現屏幕錄制,不再局限于特定App。ReplayKit的出現,讓直播更穩定、對設備性能要求低、并可直接嵌入主 app。

2?iOS錄制屏幕三要素

宿主App:被錄屏的應用(對應SmartiOSScreenPublisherV2)

容器App:本身與錄屏直播沒有直接關系, 僅僅提供錄屏App擴展的發布渠道(對應DaniuliveExtSetupUI)

錄屏App擴展:實現錄屏和直播的主要功能(對應DaniuliveExt)

3集成說明

添加擴展:File->New Target:

填寫Product Name:

配置好Product Name(記得勾選”Include UI Extension”)。點”Finish”后可以看到,工程多了兩個目錄,target也多了兩個,對應直播擴展和UI擴展:

APP內需要處理的兩個擴展:

Broadcast UI Extension:?提供類似用戶登錄、URL設置等配置選項的界面,本實例,由于我們在DaniuliveExtSetupUI中新創建了MainInterface.storyboard,將info.plist中的:

NSExtensionPrincipalClass

BroadcastSetupViewController

換成

NSExtensionMainStoryboard

MainInterface

Broadcast Upload Extension:接收圖像和音頻數據, 進行直播,集成daniulive推送SDK的工作主要在Upload擴展的代碼中進行,info.plist中添加音頻權限:

NSMicrophoneUsageDescription

請允許使用麥克風

如需生成后臺可直接啟用的錄制程序,info.plist中NSExtensionPointIdentifier改為:

NSExtensionPointIdentifier

com.apple.broadcast-services-upload

如需APP內部debug,查看SampleHandler里面的log,請設置為

NSExtensionPointIdentifier

com.apple.broadcast-services

4 SDK對接

導入DaniuliveSDK,對應“DaniuliveExt\daniuliveSDK”下的include和libs。

添加依賴庫:

編寫UI擴展(對應DaniuliveExtSetupUI):

//Called when the user has finished interacting with the view controller and a broadcast stream can start

– (void)userDidFinishSetup?{

// Broadcast url that will be returned to the application

NSURL *broadcastURL = [NSURL URLWithString: _rtmpUrl.text];

// Service specific broadcast data example which will be supplied to the process extension during broadcast

NSString *endpointURL = _rtmpUrl.text;

NSDictionary *setupInfo = @{@”endpointURL”?: endpointURL};

// Set broadcast settings

RPBroadcastConfiguration *broadcastConfig = [[RPBroadcastConfiguration alloc] init];

// Tell ReplayKit that the extension is finished setting up and can begin broadcasting

[self.extensionContext completeRequestWithBroadcastURL:broadcastURL broadcastConfiguration:broadcastConfig setupInfo:setupInfo];

}

– (void)userDidCancelSetup?{

// Tell ReplayKit that the extension was

// cancelled by the user

NSError * err = [NSError errorWithDomain:@”com.daniulive.ios”

code:-1

userInfo:nil];

[self.extensionContext cancelRequestWithError:err];

}

SampleHandler.m調用SDK即可:

[if !supportLists]1.?[endif]初始化并推送:

[self InitPublisher];

[self StartPublisher];

[if !supportLists]2.?[endif]實時數據回調處理:

– (void)processSampleBuffer:(CMSampleBufferRef)sampleBuffer

withType:(RPSampleBufferType)sampleBufferType {

switch (sampleBufferType) {

case RPSampleBufferTypeVideo:

{

NSLog(@”RPSampleBufferTypeVideo”);

if(_smart_publisher_sdk)

{

[_smart_publisher_sdk SmartPublisherPostVideoSampleBuffer:sampleBuffer];

}

}

break;

case RPSampleBufferTypeAudioApp:

NSLog(@”RPSampleBufferTypeAudioApp”);

if (s_headPhoneIn || s_isMicEnable == Mic_Disable)

{

if (CMSampleBufferDataIsReady(sampleBuffer) != NO)

{

if(_smart_publisher_sdk)

{

NSInteger type = 2;

[_smart_publisher_sdk SmartPublisherPostAudioSampleBuffer:sampleBuffer inputType:type];

}

}

}

break;

case RPSampleBufferTypeAudioMic:

NSLog(@”RPSampleBufferTypeAudioMic”);

if(_smart_publisher_sdk)

{

NSInteger type = 1;

[_smart_publisher_sdk SmartPublisherPostAudioSampleBuffer:sampleBuffer inputType:type];

}

break;

default:

break;

}

}

[if !supportLists]3.?[endif]退出:

[self StopPublisher];

[self UnInitPublisher];

NOTE:集成時DaniuliveExt請使用daniulive demo里面的app-name測試,如需授權,請聯系大牛直播SDK工作人員。

5 SDK運行

1. 先運行SmartiOSScreenPublisherV2,在移動端生成宿主app;

2. 再運行DaniuliveExtSetupUI,加載到宿主app;

3. 最后運行DaniuliveExt,加載到宿主app。

6如何在移動端測試

前臺啟動,設置推送的url,點擊“開始推屏”:

后臺啟動(推屏rtmp url可在前臺推送url頁面設置):

 

7 Demo下載

測試Demo可以到Github或者QQ群共享下載

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

CSDN Demo下載鏈接:?https://download.csdn.net/download/renhui1112/10313775

QQ群:

大牛直播精英群: 294891451

大牛直播技術交流群: 499687479

污污直播app-污污直播破解版永久免费版