主頁 > 後端開發 > 主流的第三方直播SDK對比(騰訊云、即構、阿里云、聲網、網易云信、網宿)

主流的第三方直播SDK對比(騰訊云、即構、阿里云、聲網、網易云信、網宿)

2023-03-21 07:06:13 後端開發

直播業務概述

大家所熟知的直播平臺虎牙、斗魚、快手、抖音、B站,直播功能看似普遍,但從零到一開發卻不簡單,直播中運用到的技術難點非常之多,音頻視頻處理/編解碼,前后處理,直播分發,即時通訊等技術,學好任何一項都需要比較高的成本,將它們融合到直播功能上更是難上加難,

由于公司新專案計劃做直播產品,開發周期比較緊,經過調研:最快搭建一個直播功能的方案就是運用第三方直播SDK,低成本、效率高、風險低,本文將整理介紹幾款主流的直播SDK,便于音視頻直播的開發者清晰快速選擇適合專案的SDK,開發者最重要的是:學會站在巨人的肩膀上編程,效率更高,

以下所有資訊都是從官網檔案收集人工整理匯總而成,有部分資訊不確定或未提及若存在偏差,歡迎大家隨時指正便于修改,希望能幫助到大家選擇產品和服務快速搭建線上直播間,

直播產品介紹

2.1直播產品

直播產品定義:一個通用的直播模型一般包括三個模塊:主播方、服務器端和播放端,

2.2直播型別

業務視角分類:一般分為單主播直播、多主播直播,主要區別在推流端的數量,單主播直播的特點是只有一個推流端(主播),多個拉流端(觀眾),多主播直播的特點是有多個主播(推流端),和多個觀眾(拉流端),

  • 單主播直播:最早的直播場景,只有一個主播推流,觀眾不能與主播連麥互動,只能看主播直播,比如單主播的秀場直播、職業培訓這類場景,
  • 多主播直播:指主播之間進行互動連麥(多人連麥直播場景),主播與主播之間進行互動PK(PK直播場景)的一種直播型別,技術實作是在實時音視頻的基礎上,將實時音視頻某個房間中的畫面經云端混流后(多主播直播模式為了保證畫面同步性一般采用混流服務),通過旁路直播的方式直播出來,
  • 連麥的主播使用的都是RTC服務所以延遲較低300ms左右,因觀眾不要求完全的實時同步,一般使用的是CDN的分發網路,延遲在3s左右,

直播根據延遲角度分類:分為CDN直播和超低延遲直播,CDN直播延遲通常延遲3s以上,超低延遲直播通常延遲小于1s,

  • CDN直播:傳統的CDN直播方式,滿足高并發的基礎直播、對直播內容同步性無強要求的場景,可實作觀眾文字互動體驗,通常適合單主播多個觀眾的直播間,
  • 超低延遲直播:與單向直播相比,強調多人連麥、畫面特效等直播能力,給予觀眾“露臉發聲”與主播互動的能力,因為對實時性要求更高,

2.3 實時音視頻、旁路轉推、直播分發、低延遲直播、CDN直播的區別和關系?

在這里插入圖片描述

  • 實時音視頻(Real-Time Communication, RTC):(關鍵詞:雙人/多人通話,UDP私有協議,低延時)主要應用場景是音視頻通話和連麥直播,使用基于UDP的私有協議,其延遲可低于100ms,典型的場景:QQ電話、微信電話,即構實時音視頻RTC覆寫各平臺,除了iOS/Android/Windows之后,還支持小程式以及 WebRTC 互通,并且支持通過云端混流的方式將畫面旁路直播出去,當業務對延遲敏感,通話場景要求比較高,或是需要小程式或者 H5 場景下的雙人或多人音視頻通話可以選擇ZEGO實時音視頻,
  • 旁路轉推:旁路直播是一種技術,指的是將低延時連麥房間里的多路推流畫面復制出來,在云端將畫面混合成一路,并將混流后的畫面推流給直播 CDN 進行分發播放,因為混流后的視頻資料流和主/副播通話房間實際上并不是同一路流,而是在另外平行的一路,因而稱為旁路,即不在主路,云端錄制時,錄制的流也是通過旁路的方式從流媒體中心引出,存到COS中,
  • 直播分發:(關鍵詞:一對多,RTMP/HLS/HTTP-FLV,CDN)是一種非常典型的流媒體系統,通常會分為推流端、拉流端(或叫播放端)以及直播流媒體中心(直播源站),直播源站通常會使用CDN進行直播的分發,因此大部分情況下使用的是通用標準的協議RTMP,經CDN分發后,播放時一般可以選擇RTMP、HTTP-FLV或HLS(H5支持)等方式,
  • 超低延遲直播:延時低至600ms,提供千萬級并發的高質量直播服務,同步性更強,弱網抗性更優,
  • CDN直播:延時為 3s 左右,提供低成本、大規模穩定、端上能力豐富的直播服務,

2.3.1 直播產品和直播技術

直播所需產品 實時音視頻產品 直播分發產品
產品定義 低至200ms的端到端平均時延,提供便捷接入、高可靠、多平臺互通的音視頻服務,可完美的支持一對多、多對多的實時音視頻通話、直播、會議等場景, 直播分發,按照延遲時間的長短對應有不同的產品,
由于不同場景對互動和延遲的要求不同,按照延時程度,廠商一般會提供對應的直播分發產品,這里以ZEGO為例,分為超低延遲直播、CDN直播兩大類來說明,
直播技術 實時音視頻 旁路轉推 超低延遲直播 CDN直播
典型場景 觀眾與主播之間需要頻繁音視頻互動,比如小班課,在線會議等場景, 觀眾之間需要強同步,主播需要即時回應觀眾的文字、彈幕或者打賞資訊,比如直播大班課,一起看電影等場景, 觀眾不需要與主播音頻互動,觀眾之間的直播內容同步性無強要求,比如游戲直播,直播秀場,
延時情況 觀眾與主播連麥的內容延遲小于 400 ms, 觀眾和主播之間的內容延遲范圍在 600 ms ~ 1000 ms, 觀眾和主播之間的內容延遲大于 3000 ms,
同步性 觀眾之間的同步性強, 觀眾之間的同步性良好, 觀眾之間的同步性差,
互動體驗 優, 良, 差,
價格 較高, 適中, 較低,

第三方直播產品核心功能對比

為了便于大家更好的進行直播產品的選型,筆者將各大廠商官網的核心功能進行整理匯總,并表格形式橫向對比呈現,因各家檔案較多筆者人工查詢整理,難免有有出入歡迎大家不吝賜教指正,有出入處以各家官網檔案為準,

騰訊云-云直播 即構 -****暢直播 阿里云-視頻直播 網宿-云直播 聲網-融合CDN直播
客戶案例 bilibili,快手、now直播、斗魚 映客直播、花椒直播、咪咕直播 淘寶、釘釘、Lazada、阿里巴巴 虎牙直播、河南廣播電視臺、希沃 bilibili、斗魚、陌陌、花椒直播
產品形態 CDN 根據不同時延要求,分為CDN、CDN Plus、超低延遲直播 CDN CDN 融合CDN,可以認為是CDN

主要場景 ?CDN直播 ?CDN直播質量無法保證的場景
?質量優先的直播用戶
?CDN直播 ?CDN直播 ?單個CDN直播無法保證質量的場景
核心優勢 ?節點豐富
?價格較低
?可以基于CDN提供轉碼、錄制等增值服務
1、提供基于不同場景需求的多檔位方案
2、節點豐富,基于全球網路調度MSDN策略、流控策略等,抗弱網能力更強,保證直播流暢率和穩定性
3、有播放器的實時播放資料,云上的調度策略更加準確
4、可以進行端上的調度策略
5、提供端上處理能力,包括3A,前處理等
6、可以基于CDN提供轉碼、錄制等增值服務
7、質量監控更加全面
?節點豐富
?價格較低
?可以基于CDN提供轉碼、錄制等增值服務
?節點豐富
?價格較低
?可以基于CDN提供轉碼、錄制等增值服務
?基本等同于CDN的價格
?有播放器的實時播放資料,云上的調度策略更加準確
?可以進行端上的調度策略
?SDK端上的各種能力
?質量監控更加全面
支持的連麥人數 最多支持50人同時連麥 業內首創連麥技術,最多支持10000人同時連麥 最多支持16人直播連麥 支持60人同時語音、視頻連麥互動 最多支持128人同時互動
劣勢 受限于CDN本身的能力,在流暢率、穩定性、實時性上表現不佳 要做CDN、L3的目前有一些限制(播放器等),不如CDN有通用型 受限于CDN本身的能力,在流暢率、穩定性、實時性上表現不佳 受限于CDN本身的能力,在流暢率、穩定性、實時性上表現不佳 受限于CDN廠商本身的限制,很難進行進一步質量提升

推流協議支持 ?RTMP
?TCP/QUIC/SRT

?私有協議/RTMP
?TCP/QUIC
?RTMP
?TCP/QUIC/SRT
?RTMP
?TCP/QUIC/SRT
?私有協議/RTMP
?TCP/QUIC/SRT
拉流協議支持 ?RTMP/HTTP-FLV/HTTP-HLS
?TCP/QUIC
?私有協議/RTMP/HTTP-FLV/HTTP-HLS
?TCP/QUIC
?RTMP/HTTP-FLV/HTTP-HLS
?TCP/QUIC
?RTMP/HTTP-FLV/HTTP-HLS
?TCP/QUIC
?RTMP/HTTP-FLV/HTTP-HLS
?TCP/QUIC
調度模式 云上的調度策略 ?云上調度策略
?端上的調度策略
跨CDN廠商切換
?跨IP切換
?Quic→TCP切換
?提供基于不同場景需求的多檔位方案,支持無縫切換
云上的調度策略 云上的調度策略 ?云上調度策略
?端上的調度策略
?跨CDN廠商切換
?跨IP切換
?httpDNS→DNS
?Quic→TCP

在這里插入圖片描述

騰訊、阿里的視頻直播 是最常見的CDN直播,基于 RTMP等TCP協議實作,延遲一般在3-10S左右,抗弱網能力較差,卡頓率較高,
聲網的融合CDN直播融合了多家CDN,與聲網媒體服務進行了協同,針對CDN的卡頓率問題進行了優化,但仍受限于CDN本身的能力,
即構的暢直播提供了多種直播檔位,其中的超低延遲直播基于即構自研UDP傳輸協議實作,使用了海量資料分發網路(MSDN 網路),可以認為復用了RTC的部分優勢,因此延遲低至600ms、弱網抗性超強、卡頓率極低,

其他標配功能對比

除直播的核心推拉流功能之外,直播產品快速迭代了許多功能滿足多場景需求,基本廠商們都支持,詳見以下表格,

產品功能 騰訊云 阿里云 即構 網易云信 聲網 七牛云 金山云
推流地址自定義 支持 N/A 支持 支持 支持 支持 支持
視頻軟編碼 支持 支持 支持 支持 支持 支持 支持
視頻硬編碼 支持 支持 支持 支持 支持 支持 支持
美顏 支持 支持 支持 支持 支持 支持 支持
第三方美顏介面 支持 支持 支持 支持 支持 支持 支持
水印 支持 支持 支持 支持 支持 支持 支持
截圖 支持 支持 支持 支持 支持 支持 支持
多視頻解析度支持 支持 支持 支持 支持 支持 支持 支持
橫豎屏推流 支持 支持 支持 支持 支持 支持 支持
動態橫豎屏切換 支持 N/A 支持 支持 支持 支持 支持
連麥 支持 支持 支持 支持 支持 支持 支持
畫中畫 支持 N/A 支持 支持 支持 支持 支持
對焦/變焦 支持 支持 支持 支持 支持 支持 支持
鏡像 支持 支持 支持 支持 支持 支持 支持
閃光燈 支持 支持 支持 支持 支持 支持 支持
耳返 支持 支持 支持 支持 支持 支持 支持
藍牙耳機 支持 N/A 支持 支持 支持 支持 支持
混音 支持 支持 支持 支持 支持 支持 支持
混響 支持 N/A 支持 支持 支持 支持 支持
純音頻推流 支持 支持 支持 支持 支持 支持 支持
后臺音頻推流 支持 支持 支持 支持 支持 支持 支持
錄屏 支持 支持 支持 支持 支持 支持 支持
短視頻錄制 支持 支持 支持 支持 支持 支持 支持
動態幀率 支持 支持 支持 支持 支持 支持 支持
變聲 支持 支持 支持 支持 支持 支持 支持
升降調 支持 N/A 支持 支持 支持 支持 支持
立體聲推流 支持 支持 支持 支持 支持 支持 支持
懸浮窗 支持 支持 支持 支持 支持 支持 支持
降噪 支持 支持 支持 支持 支持 支持 支持
手機攝像頭/麥克風采集 支持 支持 支持 支持 支持 支持 支持
手機螢屏采集 支持 支持 支持 支持 N/A 支持 支持
自定義采集(外部采集) 支持 N/A 支持 支持 支持 支持 支持
推流碼率自適應 支持 支持 支持 支持 支持 支持 N/A
填充/旋轉模式 支持 N/A 支持 支持 N/A 支持 支持
SEI訊息接收 支持 支持 支持 支持 支持 支持 N/A
推流錄制 支持 支持 支持 N/A 支持 支持 支持
背景音樂播放 支持 支持 支持 支持 支持 支持 支持
音樂與人聲混音 支持 支持 支持 N/A N/A N/A N/A
H.265硬解 支持 支持 支持 N/A N/A 支持 支持
超分 N/A N/A 支持 N/A 支持 N/A 支持
音量均衡 N/A 支持 支持 N/A N/A 支持 支持
秒開優化 支持 支持 支持 支持 支持 支持 N/A
自動增益補充(AGC) N/A N/A 支持 N/A 支持 支持 N/A
回聲消除(AEC) N/A N/A 支持 N/A N/A 支持 N/A
自定義視頻渲染 N/A 支持 支持 N/A 支持 支持 支持
音視頻流加密 N/A 支持 支持 支持 支持 支持 N/A

網路直播作為新興的傳播形式能量巨大,技術進步也改變了視頻直播平臺、主播和觀眾之間的互動方式,近些年,隨著網路直播的市場規模不斷增長,同時也衍生了許多新的業務場景和互動玩法,直播產品的激烈競爭倒逼廠商開啟了自研技術之路,提升直播平臺用戶體驗,筆者關注到一些新興功能,進一步提升了對直播產品形態的演進和用戶體驗,以下為相關功能的橫向對比,

產品功能 即構 聲網 火山引擎
場景化AI降噪 非音樂場景:人聲保真效果較好,降噪效果較好
音樂場景:支持99%以上的音樂場景識別并應用對應的降噪策略
非音樂場景:降噪效果最好,但是人聲保真效果差
音樂場景:沒有
非音樂場景:人聲保真效果較好,降噪效果最差
音樂場景:沒有
萬人連麥 最多支持10000人同時上麥 最多支持128人上麥 最多支持1000人同時上麥
狀態同步 最多支持10000人的狀態同步; 不支持 不支持
分割和傳輸視頻中的主體 將主體外的區域設定為透明,實作只傳輸主體的效果,
多人異地同臺:將身處不同城市的嘉賓渲染到同一個虛擬舞臺上,實作發布會、企業年會、演唱會等場景的多人異地同臺
同場互動:只需一張虛擬背景圖,即可讓所有麥上用戶同處一個空間,在同一個“健身房”一起健身、在同一片“廣場”一起跳廣場舞,盡享沉浸式的趣味視頻連麥體驗
分割:有
傳輸:無
傳輸:無
視頻超解析度 最大支持540P超分至1080P 最大支持360P超分至720P
暗光增強 所有機型全覆寫; 部分覆寫,存在性能問題

價格對比

因各大廠商直播SDK計費模式較多且差異不大,價格對比環節只列舉部分廠商的報價供參考,大家可根據實際業務需求進行選擇,同時筆者也附上廠商官方地址有任何價格相關的疑問可直接咨詢官方,

阿里云

官網地址:https://helpcdn.aliyun.com

1、按量后付費模式

1.1 按使用流量計費

按不同區域使用的流量階梯價格計費,當月分別超額累進(以自然月為一個累計周期,下個月自動清零重新累積),定價受區域和帶寬階梯影響,

流量階梯(計費單位:元/GB) 中國內地-CN 北美-NA 歐洲-EU 亞太1區-AP1 亞太2區-AP2 亞太3區-AP3 中東非洲-MEAA 南美-SA
0~10 TB(含) 0.528 0.920 0.920 1.580 1.700 1.700 2.620 2.620
10 TB~50 TB(含) 0.506 0.920 0.920 1.580 1.700 1.700 2.620 2.620
50 TB~100 TB(含) 0.462 0.780 0.780 1.320 1.440 1.440 2.360 2.360
100 TB~1 PB(含) 0.396 0.400 0.400 1.040 1.320 1.240 1.960 1.840
大于1 PB 0.330 0.320 0.320 0.920 1.180 1.180 1.840 1.700

1.2 按峰值帶寬計費

以當日您直播觀看區域所在節點,直播加速服務分別產生的帶寬最高值(單位Mbps)為結算標準,定價受區域和帶寬階梯影響,

帶寬階梯(計費單位:元/Mbps/天) 中國內地-CN 北美-NA 歐洲-EU 亞太1區-AP1 亞太2區-AP2 亞太3區-AP3 中東非洲-MEAA 南美-SA
0~500 Mbps(含) 1.320 3.280 3.280 6.560 7.880 7.880 11.820 10.640
500 Mbps~5 Gbps(含) 1.276 3.020 3.020 6.300 7.620 7.620 11.540 10.360
5 Gbps~20 Gbps(含) 1.232 2.760 2.760 6.040 7.340 7.340 11.280 10.100
大于20Gbps 1.188 2.620 2.620 5.900 7.220 7.220 11.160 9.980

即構科技

官網網址:https://www.zego.im/

每月免費使用10000分鐘,不超過完全免費,超過部分單獨計算:

他家官網報價常規可以拿到5%-15%的優惠折扣,如果有活動趕上大促,比如今年是他們7周年,部分產品折扣力度非常大,

1.CDN直播

用量統計方式:CDN 目前默認為后付費按量計費,并提供兩種計費型別:帶寬計費和流量計費,您可根據自身業務形態,選擇適合的計費模式,

服務定價

計費檔位 計費型別 檔位說明 價格
(0Mbps,500Mbps] 帶寬 月峰值帶寬 26元/Mbps/月
(500Mbps,2Gbps] 帶寬 月峰值帶寬 24元/Mbps/月
(2Gbps,∞] 帶寬 月峰值帶寬 22元/Mbps/月
不區分階梯用量 流量 拉流累計 0.5元/GB

2.超低延遲直播

用量統計方式:目前默認為后付費按量計費,按照用戶實際拉取音視頻流的時長來統計超低延遲直播服務的用量,

服務定價

計費檔位 計費型別 檔位說明 價格(元/千分鐘)
高音質純音頻 時長 純音頻 4.00
標清視頻(SD) 時長 解析度 ≤ 360P( 480 x 360 ) 7.00
高清視頻(HD) 時長 360P < 解析度 ≤ 720P( 1280 × 720 ) 14.50
超清視頻(HD+) 時長 720P < 解析度 ≤ 1080P( 1920 × 1080 ) 57.00

聲網

官網網址:

https://www.agora.io/

融合CDN直播

流量階梯單價:下表列出各個流量階梯下每個地區的流量單價,價格單位:元/GB,

月度總流量 (GB) 中國內地 北美 歐洲 亞太 1 區 亞太 2 區 大洋洲 中東非洲 南美
0 - 10,000 0.25 0.48 0.48 0.48 0.73 0.96 0.73 0.73
10,000 (含)- 50,000 0.23 0.46 0.46 0.46 0.69 0.92 0.69 0.69
50,000 (含)- 100,000 0.21 0.42 0.42 0.42 0.63 0.84 0.63 0.63
100,000 (含)- 1,000,000 0.19 0.38 0.38 0.38 0.57 0.76 0.57 0.57
大于 1,000,000 0.16 0.32 0.32 0.32 0.48 0.64 0.48 0.48

網易云信

官網地址:https://netease.im

直播服務計費項由兩部分組成:日峰值帶寬費+增值服務費(可選)

1.普通直播

在這里插入圖片描述

總結

近幾年直播行業飛速發展,從早期的秀場直播到電商直播,以及如今火爆的互動直播,直播技術不僅對延時的要求越來越高,還加入了各類美顏特效和互動玩法,全方位提升APP的活躍留存,

同時也加速了直播技術的發展,線上直播間的搭建涉及到的技術難點非常多,直播SDK加快了直播程式開發的效率,技術成熟的直播SDK也更加穩定可靠,大家可以根據專案需求選擇合適的服務搭建直播間,也可下載演示demo具體體驗后再選擇,

轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/547441.html

標籤:Java

上一篇:Spring Boot 如果防護 XSS + SQL 注入攻擊 ?一文帶你搞定!

下一篇:單例模式

標籤雲
其他(157675) Python(38076) JavaScript(25376) Java(17977) C(15215) 區塊鏈(8255) C#(7972) AI(7469) 爪哇(7425) MySQL(7132) html(6777) 基礎類(6313) sql(6102) 熊猫(6058) PHP(5869) 数组(5741) R(5409) Linux(5327) 反应(5209) 腳本語言(PerlPython)(5129) 非技術區(4971) Android(4554) 数据框(4311) css(4259) 节点.js(4032) C語言(3288) json(3245) 列表(3129) 扑(3119) C++語言(3117) 安卓(2998) 打字稿(2995) VBA(2789) Java相關(2746) 疑難問題(2699) 细绳(2522) 單片機工控(2479) iOS(2429) ASP.NET(2402) MongoDB(2323) 麻木的(2285) 正则表达式(2254) 字典(2211) 循环(2198) 迅速(2185) 擅长(2169) 镖(2155) 功能(1967) .NET技术(1958) Web開發(1951) python-3.x(1918) HtmlCss(1915) 弹簧靴(1913) C++(1909) xml(1889) PostgreSQL(1872) .NETCore(1853) 谷歌表格(1846) Unity3D(1843) for循环(1842)

熱門瀏覽
  • 【C++】Microsoft C++、C 和匯編程式檔案

    ......

    uj5u.com 2020-09-10 00:57:23 more
  • 例外宣告

    相比于斷言適用于排除邏輯上不可能存在的狀態,例外通常是用于邏輯上可能發生的錯誤。 例外宣告 Item 1:當函式不可能拋出例外或不能接受拋出例外時,使用noexcept 理由 如果不打算拋出例外的話,程式就會認為無法處理這種錯誤,并且應當盡早終止,如此可以有效地阻止例外的傳播與擴散。 示例 //不可 ......

    uj5u.com 2020-09-10 00:57:27 more
  • Codeforces 1400E Clear the Multiset(貪心 + 分治)

    鏈接:https://codeforces.com/problemset/problem/1400/E 來源:Codeforces 思路:給你一個陣列,現在你可以進行兩種操作,操作1:將一段沒有 0 的區間進行減一的操作,操作2:將 i 位置上的元素歸零。最終問:將這個陣列的全部元素歸零后操作的最少 ......

    uj5u.com 2020-09-10 00:57:30 more
  • UVA11610 【Reverse Prime】

    本人看到此題沒有翻譯,就附帶了一個自己的翻譯版本 思考 這一題,它的第一個要求是找出所有 $7$ 位反向質數及其質因數的個數。 我們應該需要質數篩篩選1~$10^{7}$的所有數,這里就不慢慢介紹了。但是,重讀題,我們突然發現反向質數都是 $7$ 位,而將它反過來后的數字卻是 $6$ 位數,這就說明 ......

    uj5u.com 2020-09-10 00:57:36 more
  • 統計區間素數數量

    1 #pragma GCC optimize(2) 2 #include <bits/stdc++.h> 3 using namespace std; 4 bool isprime[1000000010]; 5 vector<int> prime; 6 inline int getlist(int ......

    uj5u.com 2020-09-10 00:57:47 more
  • C/C++編程筆記:C++中的 const 變數詳解,教你正確認識const用法

    1、C中的const 1、區域const變數存放在堆疊區中,會分配記憶體(也就是說可以通過地址間接修改變數的值)。測驗代碼如下: 運行結果: 2、全域const變數存放在只讀資料段(不能通過地址修改,會發生寫入錯誤), 默認為外部聯編,可以給其他源檔案使用(需要用extern關鍵字修飾) 運行結果: ......

    uj5u.com 2020-09-10 00:58:04 more
  • 【C++犯錯記錄】VS2019 MFC添加資源不懂如何修改資源宏ID

    1. 首先在資源視圖中,添加資源 2. 點擊新添加的資源,復制自動生成的ID 3. 在解決方案資源管理器中找到Resource.h檔案,編輯,使用整個專案搜索和替換的方式快速替換 宏宣告 4. Ctrl+Shift+F 全域搜索,點擊查找全部,然后逐個替換 5. 為什么使用搜索替換而不使用屬性視窗直 ......

    uj5u.com 2020-09-10 00:59:11 more
  • 【C++犯錯記錄】VS2019 MFC不懂的批量添加資源

    1. 打開資源頭檔案Resource.h,在其中預先定義好宏 ID(不清楚其實ID值應該設定多少,可以先新建一個相同的資源項,再在這個資源的ID值的基礎上遞增即可) 2. 在資源視圖中選中專案資源,按F7編輯資源檔案,按 ID 型別 相對路徑的形式添加 資源。(別忘了先把檔案拷貝到專案中的res檔案 ......

    uj5u.com 2020-09-10 01:00:19 more
  • C/C++編程筆記:關于C++的參考型別,專供新手入門使用

    今天要講的是C++中我最喜歡的一個用法——參考,也叫別名。 參考就是給一個變數名取一個變數名,方便我們間接地使用這個變數。我們可以給一個變數創建N個參考,這N + 1個變數共享了同一塊記憶體區域。(參考型別的變數會占用記憶體空間,占用的記憶體空間的大小和指標型別的大小是相同的。雖然參考是一個物件的別名,但 ......

    uj5u.com 2020-09-10 01:00:22 more
  • 【C/C++編程筆記】從頭開始學習C ++:初學者完整指南

    眾所周知,C ++的學習曲線陡峭,但是花時間學習這種語言將為您的職業帶來奇跡,并使您與其他開發人員區分開。您會更輕松地學習新語言,形成真正的解決問題的技能,并在編程的基礎上打下堅實的基礎。 C ++將幫助您養成良好的編程習慣(即清晰一致的編碼風格,在撰寫代碼時注釋代碼,并限制類內部的可見性),并且由 ......

    uj5u.com 2020-09-10 01:00:41 more
最新发布
  • Rust中的智能指標:Box<T> Rc<T> Arc<T> Cell<T> RefCell<T> Weak

    Rust中的智能指標是什么 智能指標(smart pointers)是一類資料結構,是擁有資料所有權和額外功能的指標。是指標的進一步發展 指標(pointer)是一個包含記憶體地址的變數的通用概念。這個地址參考,或 ” 指向”(points at)一些其 他資料 。參考以 & 符號為標志并借用了他們所 ......

    uj5u.com 2023-04-20 07:24:10 more
  • Java的值傳遞和參考傳遞

    值傳遞不會改變本身,參考傳遞(如果傳遞的值需要實體化到堆里)如果發生修改了會改變本身。 1.基本資料型別都是值傳遞 package com.example.basic; public class Test { public static void main(String[] args) { int ......

    uj5u.com 2023-04-20 07:24:04 more
  • [2]SpinalHDL教程——Scala簡單入門

    第一個 Scala 程式 shell里面輸入 $ scala scala> 1 + 1 res0: Int = 2 scala> println("Hello World!") Hello World! 檔案形式 object HelloWorld { /* 這是我的第一個 Scala 程式 * 以 ......

    uj5u.com 2023-04-20 07:23:58 more
  • 理解函式指標和回呼函式

    理解 函式指標 指向函式的指標。比如: 理解函式指標的偽代碼 void (*p)(int type, char *data); // 定義一個函式指標p void func(int type, char *data); // 宣告一個函式func p = func; // 將指標p指向函式func ......

    uj5u.com 2023-04-20 07:23:52 more
  • Django筆記二十五之資料庫函式之日期函式

    本文首發于公眾號:Hunter后端 原文鏈接:Django筆記二十五之資料庫函式之日期函式 日期函式主要介紹兩個大類,Extract() 和 Trunc() Extract() 函式作用是提取日期,比如我們可以提取一個日期欄位的年份,月份,日等資料 Trunc() 的作用則是截取,比如 2022-0 ......

    uj5u.com 2023-04-20 07:23:45 more
  • 一天吃透JVM面試八股文

    什么是JVM? JVM,全稱Java Virtual Machine(Java虛擬機),是通過在實際的計算機上仿真模擬各種計算機功能來實作的。由一套位元組碼指令集、一組暫存器、一個堆疊、一個垃圾回收堆和一個存盤方法域等組成。JVM屏蔽了與作業系統平臺相關的資訊,使得Java程式只需要生成在Java虛擬機 ......

    uj5u.com 2023-04-20 07:23:31 more
  • 使用Java接入小程式訂閱訊息!

    更新完微信服務號的模板訊息之后,我又趕緊把微信小程式的訂閱訊息給實作了!之前我一直以為微信小程式也是要企業才能申請,沒想到小程式個人就能申請。 訊息推送平臺🔥推送下發【郵件】【短信】【微信服務號】【微信小程式】【企業微信】【釘釘】等訊息型別。 https://gitee.com/zhongfuch ......

    uj5u.com 2023-04-20 07:22:59 more
  • java -- 緩沖流、轉換流、序列化流

    緩沖流 緩沖流, 也叫高效流, 按照資料型別分類: 位元組緩沖流:BufferedInputStream,BufferedOutputStream 字符緩沖流:BufferedReader,BufferedWriter 緩沖流的基本原理,是在創建流物件時,會創建一個內置的默認大小的緩沖區陣列,通過緩沖 ......

    uj5u.com 2023-04-20 07:22:49 more
  • Java-SpringBoot-Range請求頭設定實作視頻分段傳輸

    老實說,人太懶了,現在基本都不喜歡寫筆記了,但是網上有關Range請求頭的文章都太水了 下面是抄的一段StackOverflow的代碼...自己大修改過的,寫的注釋挺全的,應該直接看得懂,就不解釋了 寫的不好...只是希望能給視頻網站開發的新手一點點幫助吧. 業務場景:視頻分段傳輸、視頻多段傳輸(理 ......

    uj5u.com 2023-04-20 07:22:42 more
  • Windows 10開發教程_編程入門自學教程_菜鳥教程-免費教程分享

    教程簡介 Windows 10開發入門教程 - 從簡單的步驟了解Windows 10開發,從基本到高級概念,包括簡介,UWP,第一個應用程式,商店,XAML控制元件,資料系結,XAML性能,自適應設計,自適應UI,自適應代碼,檔案管理,SQLite資料庫,應用程式到應用程式通信,應用程式本地化,應用程式 ......

    uj5u.com 2023-04-20 07:22:35 more