【音视频SDK测评】线上K歌软件开发技术选型
摘要
在线K歌软件的开发有许多技术难点,需考虑到音频录制和处理、实时音频传输和同步、音频压缩和解压缩、设备兼容性问题等技术难点外,此外,开发者还应关注音乐版权问题,确保开发的应用合规合法。
前言
前面写了几期关于直播 SDK 技术选型的文章,主要是从RTC实时音视频、超低延迟直播、CDN直播等不同即时通讯场景下多个角度进行详细的介绍,很多同学表示对泛娱乐行业的直播技术部分很感兴趣,希望能够有一些更为深入的分析介绍。
主流的第三方直播SDK对比(腾讯云、即构、阿里云、声网、网易云信、网宿)
我用ChatGPT做直播技术选型,卷死了同事
安排!今天就对泛娱乐行业的线上K歌场景技术选型进行探讨,本文将分析在线K歌功能的核心技术指标,以及该场景下的功能玩法。帮助开发者在不同场景下,能做出正确的K歌软件开发的技术选型。
在线K歌软件开发与直播技术的关系
在线K歌是社交娱乐场景下新型的互动玩法,通过音乐让人与人之间建立联系,让交流变得更加简单,有效地提升了平台用户的停留时长。丰富多样的K歌玩法可以让应用更加有趣,吸引更多的用户。此外,K歌玩法还可以应用到各种各样的社交场景,如语聊房、相亲平台和直播间等。
在线K歌功能主要由以下几个部分组成:
1.音频录制与处理技术:实现用户录制自己的音频,并对音频进行降噪、去回声、混响等处理,提高音质。
2.实时流媒体技术:将用户录制的音频实时传输到服务器上进行处理和存储,实现实时合唱功能。
3.音频合成技术:将多个用户录制的音频进行实时合成,实现实时合唱功能。
4.音乐数据处理技术:通过歌词和音频的匹配,实现歌词同步显示。
5.云计算技术:使用云服务器进行音频的处理和存储,提高在线K歌实时合唱的稳定性和可扩展性。
直歌K歌解决方案如何提升开发者开发效率
在线K歌功能是一个涉及多方面技术的复杂系统,它需要音频、视频、网络、人工智能等多种技术的支持。其中,实现在线K歌的主要技术难点包括以下方面:
1.音频处理技术:在线K歌需要实现对用户声音的实时采集、降噪、 混响 、变调等处理,以保证声音质量。
2.视频处理技术:在线K歌不仅需要处理用户的声音,还需要处理用户的视频,包括实时拍摄、美颜、特效等,以提升用户的体验感。
3.网络传输技术:在线K歌需要实现音频、视频的实时传输,因此需要具备低延迟、高带宽、高可靠性的网络传输技术。
4.人工智能技术:为了提升用户的K歌体验,在线K歌需要实现对用户演唱的实时评分和建议,这需要利用人工智能技术来实现。
5.安全保障技术:在线K歌要求用户提供音频、视频等个人信息,因此需要采取安全保障技术,保护用户的隐私和信息安全。
要想实现线上KTV功能,需要团队具备相应的技术能力和经验并投入大量的时间和人力成本,同时需要具备音视频处理、网络传输、安全加密等多方面的技术能力,还需对用户行为和用户体验进行深入的研究和优化。
综上所述,笔者推荐使用第三方直播 SDK 厂商,据了解 即构 在线KTV解决方案 ([点这里】, 支持独唱、轮唱、合唱、线下OMO歌房等多种玩法,助力开发者极速搭建含海量版权音乐的在线K歌房。
一站式的在线KTV解决方案可以简化开发者的工作量,能够帮助开发者完成的主要工作包括:
- 提供直播API和高效的音视频处理功能,开发者不需要搭建服务器即可快速集成直播功能并实现音频录制、合成、混音等处理。
- 提供了实时流媒体技术,将用户录制的音频实时传输到服务器上进行处理和存储,实现实时合唱功能
- 丰富的模板和组件:提供了现成的模板和组件,包括UI组件、在线K歌场景模板等,快速地搭建在线K歌应用的界面和场景
- 提供云服务技术:使用云服务器进行音频的处理和存储,提高在线K歌应用的实时合唱场景的稳定性和可拓展性。
选用第三方服务能节省开发成本和开发周期,市面上成熟的服务商具备专业的技术能力和经验,能够提供稳定的技术支持和服务。同时还能提供更加全面和完善解决方案和用户玩法,如实时合唱、抢唱等新颖玩法。
行业头部玩家都在用的音乐+实时场景玩法
经笔者调研发现,泛娱乐社交行业的产品在用户留存和商业变现方面一直面临挑战,行业头部玩家们开始尝试在应用中加入在线K歌的玩法。因为K歌本身就具有较高的用户粘性,可以帮助用户更好地留存,且可以快速积累用户UGC内容。同时,在线K歌也能够拓展商业变现渠道,例如通过付费、高级会员以及虚拟礼物等形式来实现盈利。因此,在线K歌成为了一种越来越受欢迎的泛娱乐社交产品玩法。
| 类型 | 典型产品 | 案例介绍 |
|---|---|---|
| 歌房 | 抖音KTV | 市面上最大的歌房产品,近两年重点做活跃+营收,加入在线K歌的经典玩法:排麦,踢麦和保麦,营收和活跃效果显著,日活接近千万。 |
| 歌房 | 全民K歌歌房 | 腾讯音乐营收的重头,近几年重点做留存和活跃,加入在线K歌的经典玩法:排麦,踢麦和保麦,留存和活跃极高,日活几百万。 |
| 歌房 | 网易云派对 | 音乐软件做社交的派对,具有唱歌、自习室等玩法 |
| 社交产品 | Soul-KTV | Soul的群聊派对模式,上线KTV实时合唱模式补充实时互动玩法。上线后留存和上麦率显著提升。 |
| 社交产品 | Blued | 在实时语聊房和1V1房间中加入KTV合唱功能,提升了实时场景用户留存和时长,变现得到了大幅度提升。 |
| 直播 | 花椒 | 直播场景中加入音乐作为BGM或K歌直播 |
| 直播 | 映客 | 直播场景中加入音乐作为BGM或K歌直播 |
| 陪玩 | TT语音 | 定位游戏工具,在游戏匹配的语聊房中加入KTV实时合唱,明显带动营收和留存 |
| 陪玩 | 比心 | 同TT语音,引入KTV能力,实现留存和营收的双增长 |
功能说明:
排麦:用户加入到歌曲的排队列表中,等待唱歌。
踢麦:将用户从排队列表中删除,让其他用户有机会唱歌。
保麦:为离开或不能唱歌的户保留排队列表的位置,无需重新排队。
在线K歌应用的直播技术选型需要考虑哪些因素
选择直播技术方案一般情况下需要考虑以下四个因素,其中选择解决方案拓展性、核心技术性能这两个重要的因素进行细致说明:
- 支持多平台开发
- 解决方案拓展性
- 核心技术性能
- 典型客户案例
首先,方案需要支持多平台开发,以便应用可以在不同的设备和操作系统上运行,满足更多用户的需求。其次,方案的完整性也非常重要,包括音视频采集、编解码、传输、播放等各个环节,应该有完善的解决方案。此外,技术指标表现也是一个重要的考虑因素,例如延迟、码率、画质等指标需要达到用户可接受的水平。最后,商业化成熟案例也可以帮助我们更好地评估方案的可行性和实用性,可以参考其他企业的经验和案例,为自己的方案做出更加明智的选择。
一、是否支持多平台开发
选择支持多种设备和平台的直播技术,有统一API接口、代码复用、自动化构建、跨平台调试等优势,可以提升开发效率,且覆盖更广泛的用户群体,提高应用的使用率和用户满意度。
二、解决方案的拓展性如何?
进行在线KTV选型时,解决方案的拓展性是一个非常重要的考虑因素。可以帮助我们选择一个能够满足不断变化的用户需求和市场竞争的解决方案。拓展性是指方案在未来可以通过增加新的功能和模块,进行升级和扩展,以适应不断变化的用户需求和市场竞争。解决方案的拓展性主要包含以下三个方面:
- 丰富的玩法模式
- 产品功能生态
- 第三方拓展能力
1. 丰富的玩法模式:
在实际的应用过程中,用户的需求往往是多元化的。因此,选择一个拥有丰富的玩法模式的解决方案,可以满足更多用户的需求,增加应用的使用率。例如,在线KTV应用可以提供包括K歌、直播、PK等多种玩法模式,以吸引更多的用户。
| 模式 | 案例 | 玩法 | 特点 |
|---|---|---|---|
| 独唱 | 全民K歌 | 观众上麦后点歌等待,歌曲开始播放后开始独唱。 | 一种单人唱歌模式,常用语中心化的秀场直播场景。 |
| 跟唱 | TT语音 | 观众上麦后点歌等待,歌曲开始播放后跟着主唱一起演唱 | 一种多人唱歌模式,提升用户参与度和互动率。常用于语聊场景。 |
| 挑战PK | 全民K歌、TT语音 | 以房间/主播为单位进行PK挑战,通过唱歌比赛来决定胜负。 | 可以增加用户之间的互动,提高用户黏性。K歌场景的营收主力。 |
| 1V1陪唱 | 比心 | 用户选择喜欢的歌曲并发起1V1陪唱邀请,系统自动匹配陪唱者一起演唱 | 1V1场景付费陪伴模式,高营收中ARPU |
| 付费点唱 | 全民K歌 | 用户付费点唱,主播为其演唱。 | 交友厅+KTV的玩法,高营收高ARPU |
| 实时合唱 | TT语音 | 观众上麦后点歌排麦等待,跟着主唱一起合唱歌曲 | 当前K歌场景下的新玩法,行业头部应用均加入该玩法,该玩法下用户活跃和营收数据表现不错。 |
实时合唱方案因其能够让用户与更多人一起分享音乐,成为在线K歌场景中非常受欢迎的功能之一。通过实现低延迟、高质量的音视频传输和多人协同演唱,可以满足用户的多元化需求,增加平台的活跃度和营收。
经调研发现,近几年主流的音视频厂商都推出实时合唱解决方案,行业内普遍采用的合唱方案为“串行合唱”,合唱各方串行加入,伴奏由主唱端混入。该方案下,主唱体验缺失,本质上是一种“伪实时合唱”。
即构科技通过技术手段实现了低延迟、多方伴奏同步和服务端精准混流等功能,为用户提供了更加真实、优质的实时合唱体验,实现“真实时合唱。
即构 实时合唱方案优势
- 端到端延迟低至 70 ms,达到人体无感官延迟水平,全球用户均可享受真正实时的体验。
- 多方伴奏精准同步, 各端在同一时刻启动伴奏播放,打造优质的合唱体验。
- 服务端精准混流,各方合唱者声音和伴奏混音成一路流,通过 NTP 时间精准对齐各方演唱进度后混音。听众仅需拉一路流就能听到良好合唱效果,弱网体验佳。
在线K歌的互动玩法和功能组件之间是紧密相关的,需要各个组件之间协同工作,才能实现一个完整的在线K歌平台。互动玩法是在线K歌的核心,包括音乐、歌词、伴奏、评分以及用户之间的互动等。这些互动玩法需要依赖一系列的功能组件来实现,包括音频处理、视频处理、网络传输、数据存储等。
2. 产品功能生态:
解决方案的拓展性也包括产品功能生态的丰富性。在应用的不同阶段,需要不断增加新的功能和模块,以满足不断变化的用户需求。因此,选择一个拥有完善的产品功能生态的解决方案,可以帮助应用快速迭代和升级。例如,在线KTV应用可以增加一些辅助功能,如自动调音、人声消除等,以提高用户的演唱体验。
参考市面上比较成熟的第三方音视频厂商即构 科技 [了解更多],
即构在线K歌解决方案提供海量正版曲库,九大场景化能力,自研音视频引擎高清音质体验。据了解,即构 KTV SDK 集成了多家国内知名音乐版权商,一套 SDK 实现音乐版权的快速接入,无需调换 SDK,并且对周杰伦等热门明星歌手和抖音这类短视频平台的热门歌曲都进行了覆盖。

海量正版音乐曲库,解决版权合规问题
| 序号 | 功能 | 功能描述 |
|---|---|---|
| 1 | 劲歌热榜 | 含4大榜单及数十个分类歌单,热门歌曲可直接获取 |
| 2 | 曲库组件 | 海量版权音乐资源,可搜索、获取、下载歌曲和歌词资源 |
| 3 | 播放组件 | 支持开始/暂停/恢复歌曲,同时支持切换原唱和伴奏,调节人声与伴奏音量等 |
| 4 | 歌词组件 | 支持歌词与歌曲逐行/逐字同步播放,实时对齐 |
| 5 | 互动玩法 | 包含唱歌评分、获取片段资源等功能,可能支持唱歌排行、嗨歌抢唱等业务场景 |
| 6 | 丰富音效 | 用户在演唱时使用丰富的音效,增强演唱效果 |
| 7 | 麦位管理 | 房主可进行麦位控制,用户可进行上麦、下麦操作 |
| 8 | 智能降噪 | 通过算法智能减少环境等噪音,提高人声质量 |
| 9 | 实时合唱 | 超低延迟实时合唱效果,高度还原线下合唱体验 |
3. 第三方拓展能力:
在不断变化的市场竞争中,选择一个拥有强大的第三方拓展能力的解决方案,可以帮助应用更好地与其他应用和服务进行整合,提高应用的互联互通性和用户体验。例如,在线KTV应用可以与其他音乐应用或社交应用进行整合,以提供更多的互动和社交功能。
| 功能 | 功能描述 | 适用场景 |
|---|---|---|
| 音效播放器 | 支持播放MP3、WAV等格式的音频文件 | 氛围,播放掌声、笑声等短时音效 |
| 媒体播放器 | 支持MP3、MP4等格式本地文件和在线(HTTP)媒体文件 | 、BGM场景:播放背景音乐和伴奏 |
| 混音 | 支持混入媒体播放器、音效播放器等音频 | 在房间内播放音乐等内容,混音后输出 |
| 混响 | 支持模拟多种音效,如录音室、唱片、空灵、摇滚等 | 在唱歌时展示不同音效,提升输出质量 |
| 变声 | 支持改变声音特征,如变形金刚、大叔等声音特征 | 改变演唱者声音以便添加趣味性 |
| 耳返 | 插入耳机后,唱歌返回自己声音,提供超低延时耳返 | 唱歌必备能力,享受KTV和舞台级别体验 |
| 声浪与音频频谱 | 声浪指示说话音量大小,音频频道指示当前音频领域分量信息 | 展示当前睡在说话与频域分量信息 |
| 媒体次要信息 | 随流媒体传输应用层 | 音乐场景用于传输播放进度,以便展示歌词 |
| 本地音频录制 | 录制唱歌音频数据至本地文件 | 需要二次处理音频片段场景,如分享,检测等 |
| 高精度歌词同步 | 伴奏和歌词实时对齐 | 逐字歌词,让用户唱对节奏 |
三、核心技术性能
笔者通过调研,整理了在线K歌场景的技术指标。为了提供高品质的音乐体验,需要关注以下四个核心技术指标:端到端延迟、人声伴奏、音质保真、降噪回声处理。
- 端到端延迟:指从用户唱歌开始到听到自己的声音的时间间隔。延迟越低,用户在唱歌时的实时感受越好。
- 人声伴奏:指将用户唱的人声和伴奏合并成一首完整的歌曲。伴奏应该与用户的人声精准同步,且音质应该保证高清晰度和高还原度。
- 音质保真:指将用户的人声和伴奏录制的音质保持高还原度,使得用户的唱歌声音真实自然。
- 降噪回声处理:指处理人声中的噪音和回声等杂音,以提高音质,使得用户的唱歌声音更加清晰自然。
以上四个指标是在线K歌场景下的核心技术指标,直播厂商需要根据这些指标来提供高质量的在线K歌解决方案。
以即构、声网、TRTC为例:
| 核心技术指标 | 即构 | 声网 | 腾讯音视频 |
|---|---|---|---|
| 延迟 | 60ms,从演唱到收听,端到端延迟低至60毫秒 | 低至 64ms 端到端超低延时 | 低于300ms超低时延合唱体验 |
| 人声伴奏齐唱 | 5ms,人声与伴奏几乎完全同步,误差不超过5ms,远超行业水准 | 伴奏、歌词、人声多端精准同步 | 伴奏、人声、歌词精准同步。 |
| 音质高保真效果 | 混音20ms,服务端精准混流,多端误差不超过20毫秒 | 声网 SOLO™、NOVA™ 语音引擎,支持 48kHz 全频带采样,还原声音高保真度,音频 MoS 分高达 4.7 | 支持48kHz采样率,128kbps码率及立体声音频,媲美纯正 CD 效果 |
| 降噪回声处理 | 3A+AI回声处理,智能回声处理,扬声器外放也保持高音质体验无回声,人声表现接近无损 | 音频 MOS 分高达 4.7 | AI 智能降噪 |
| 低延迟耳返 | 超低延迟耳返体验,ios20ms+、android 40ms+,开启耳返后,演唱者在唱歌时可获得更好的反馈。 | 50 ms 超低延时耳返,告别走音跑调 | 支持低延时耳返功能,告别走音跑调。 |
如何选型:头部应用体验和厂商推荐
在线K歌行业头部APP体验
以在线K歌头部APP全民K歌、Soul为例,体验了在线K歌实时合唱功能。针对延迟、听感、外放场景、卡顿等指标感受如下:
总体结论:综合来看,Soul-KTV场景演唱和收听效果比全民K歌-大合唱的效果更佳
- 延迟:作为经常唱歌的我,从听感上直观感受,Soul合唱房内的同步性更好,声音更加齐。
- 外放场景:Soul的效果在外放场景下优势极其明显,与戴有线耳机演唱无明显差异。全民K歌在多人外放合唱时出现了明显的吞音现象,声音质模糊,伴奏杂乱有回音,观众体验较差,合唱者之间不可用。
- 听感:Soul对于演唱者体验的保障相比全民K歌更佳,远端合唱人声音质和氛围感较好。
- 卡顿:从听感上,Soul合唱房内的卡顿率比全民K歌更低。找了专业人士了解,全民K歌的安卓合唱通过硬性的延迟降低保证了安卓的合唱同步,但是该操作会提升卡顿,整体卡顿次数明显高于Soul。
音视频厂商-成熟的在线K歌解决方案
写到最后,对比了几个主流的音视频厂商,官网上都说自己提供了高质量的在线K歌解决方案,开发者可根据不同的需求和场景可以进行选型对比。如果您对于实时合唱的延迟和音质有较高的要求,可以选择[即构在线K歌实时合唱解决方案]
即构 提供的实时合唱方案支持多人同时在线合唱,端到端延迟低于70ms,支持多方伴奏精准同步和服务端精准 混流 ,同时还提供了智能降噪、自适应 码率 等技术,可以有效提升用户的K歌体验。
以下来自即构实时合唱解决方案的资料,可以参考。
全网首创的独家“真”实时合唱方案

服务端精准 混流

顶尖的技术指标


结语
最后,进行方案选型时应先深度分析自己的业务场景,包括但不限于:业务模型、用户体验、产品功能、业务流程、技术框架等因素,便于我们选择出最适合业务场景的方案。如何低成本不花精力学习、使用已熟练掌握的技术方案更快的实现,对个人/团队技术选型均适用。对此,欢迎大家私信评论一起交流…
相关文章:
【音视频SDK测评】线上K歌软件开发技术选型
摘要 在线K歌软件的开发有许多技术难点,需考虑到音频录制和处理、实时音频传输和同步、音频压缩和解压缩、设备兼容性问题等技术难点外,此外,开发者还应关注音乐版权问题,确保开发的应用合规合法。 前言 前面写了几期关于直播 …...
Jackson:String转object反序列化失败
场景 消费mq时String转Object 代码 for (MessageExt msg : msgs) {String msgBody new String(msg.getBody(), StandardCharsets.UTF_8);BinlogEvent binlogEvent JsonUtil.silentString2Object(msgBody, BinlogEvent.class);binlogEvent.setPort(Long.valueOf(port));tCo…...
Spark_Core---6
spark 相关概念补充 课程目标 了解spark的安装部署知道spark作业提交集群的过程 6.1 spark的安装部署 1、下载spark安装包 http://spark.apache.org/downloads.html 高版本不存在cdh的编译版本,可以从官网下载源码版本,指定高版本hadoop进行编译 编译…...
游戏运营需要什么条件和准备?
游戏运营是一个复杂的过程,需要综合考虑多个因素。以下是一些游戏运营需要的条件和准备: 1、良好的游戏产品 首先,需要有一款优秀、有吸引力的游戏产品。游戏的质量和内容决定了用户是否愿意下载、留存和付费。 2、游戏运营团队 拥有专业…...
SVN限制Message提交的格式
限制Message提交的格式必须为以下格式 [Version] [Description] [TPA] [Doors] REPOS"$1" TXN"$2"# Make sure that the log message contains some text. SVNLOOK/usr/bin/svnlook MSG$SVNLOOK log -t "$TXN" "$REPOS"if [[ $MSG ~ …...
windows下安装anaconda、pycharm、cuda、cudnn、PyTorch-GPU版本
目录 一、anaconda安装及虚拟环境创建 1.anaconda的下载 2.Anaconda的安装 3.创建虚拟环境 3.1 环境启动 3.2 切换镜像源 3.3环境创建 3.4 激活环境 3.5删除环境 二、pycharm安装 1.pycharm下载 2.pycharm的安装 三、CUDA的安装 1.GPU版本和CUDA版本、cudnn版本、显卡…...
【计算机网络】传输层协议 -- UDP协议
文章目录 1. 传输层相关知识1.1 端口号1.2 端口号范围划分1.3 知名端口号1.4 一些相关命令 2. UDP协议2.1 UDP协议格式2.2 UDP协议的特点2.3 什么是面向数据报2.4 UDP的缓冲区2.5 UDP使用注意事项2.6 基于UDP的应用层协议 1. 传输层相关知识 传输层是计算机网络中的一个重要层…...
python制作超高难度走迷宫游戏,你要来挑战嘛~(赶紧收藏)
前言 嗨喽~大家好呀,这里是魔王呐 ❤ ~! 走迷宫,是一项充满智慧的挑战~ 作为经常刷短视频的我们,见识过不少迷宫小游戏 当然印象深刻的当然是小动物走迷宫 这里有几组挑战走迷宫的小可爱。先来看看吧! (1ÿ…...
springboot整合tio-websocket方案实现简易聊天
写在最前: 常用的http协议是无状态的,且不能主动响应到客户端。最初想实现状态动态跟踪只能用轮询或者其他效率低下的方式,所以引入了websocket协议,允许服务端主动向客户端推送数据。在WebSocket API中,浏览器和服务…...
《TCP IP网络编程》第十三章
第 13 章 多种 I/O 函数 13.1 send & recv 函数 Linux 中的 send & recv: send 函数定义: #include <sys/socket.h> ssize_t send(int sockfd, const void *buf, size_t nbytes, int flags); /* 成功时返回发送的字节数,失败…...
驱动开发 day8 (设备树驱动,按键中断实现led亮灭)
//编译驱动 (注意Makefile的编译到移植到开发板的内核) make archarm //清除编译生成文件 make clean ****************************************** //安装驱动 insmod mycdev.ko //卸载驱动 rmmod mycdev 需要在<内核路径>/arch/arm/boot/dts/ 修改 stm32mp157a-fsm…...
DataX将MySQL数据同步到HDFS中时,空值不处理可以吗
DataX将MySQL数据同步到HDFS中时,空值存到HDFS中时,默认是存储为\N,这样会有两个缺点: 会产生歧义,如果MySQL业务数据中有\N数据,那么存储到HDFS上是\N,null值存储也是\N,当用Hive查…...
P3373 【模板】线段树 2(乘法与加法)(内附封面)
【模板】线段树 2 题目描述 如题,已知一个数列,你需要进行下面三种操作: 将某区间每一个数乘上 x x x;将某区间每一个数加上 x x x;求出某区间每一个数的和。 输入格式 第一行包含三个整数 n , q , m n,q,m n,…...
实现langchain-ChatGLM API调用客户端(及未解决的问题)
langchain-ChatGLM是一个基于本地知识库的LLM对话库。其基于text2vec-large-Chinese为Embedding模型,ChatGLM-6B为对话大模型。原项目地址:https://github.com/chatchat-space/langchain-ChatGLM 对于如何本地部署ChatGLM模型,可以参考我之前…...
【AltWalker】模型驱动:轻松实现自动化测试用例的生成和组织执行
目录 模型驱动的自动化测试 优势 操作步骤 什么是AltWalker? 安装AltWalker 检查是否安装了正确的版本 牛刀小试 创建一个测试项目 运行测试 运行效果 在线模型编辑器 VScode扩展 本地部署 包含登录、选择产品、支付、退出登录的模型编写 模型效果 1…...
大数据课程E3——Flume的Sink
文章作者邮箱:yugongshiye@sina.cn 地址:广东惠州 ▲ 本章节目的 ⚪ 掌握Sink的HDFS Sink; ⚪ 掌握Sink的Logger Sink; ⚪ 掌握Sink的File Roll Sink; ⚪ 掌握Sink的Null Sink; ⚪ 掌握Sink的AVRO Sink; ⚪ 掌握Sink的Custom Sink; 一、HDFS Sink …...
如何快速做单元测试?
首先写unit test之前,要确认自己的测试遵循两个原则: 1、尽量不要干涉原来的代码。从阅读代码的体验来说,不要让你的测试(哪怕是一小段if..else...的代码)出现在你准备测试的代码中。 2、代码要只是测试某个class里面…...
不同对象的集合转换
https://blog.csdn.net/qq_42483473/article/details/128984514 import com.alibaba.fastjson.JSON;import java.util.ArrayList; import java.util.List;/*** author */ public class ObjectConversion {/*** 从List<A> copy到List<B>* param list List<B>…...
【机器学习】Gradient Descent
Gradient Descent for Linear Regression 1、梯度下降2、梯度下降算法的实现(1) 计算梯度(2) 梯度下降(3) 梯度下降的cost与迭代次数(4) 预测 3、绘图4、学习率 首先导入所需的库: import math, copy import numpy as np import matplotlib.pyplot as plt plt.styl…...
直播读弹幕机器人:直播弹幕采集+文字转语音(附完整代码)
目录 前言代码实现请求数据解析数据文字转语音完整代码 高级点的tk界面版 前言 直播读弹幕机器人是指能够实时读取直播平台上观众发送的弹幕,并将其转化为语音进行播放的机器人。这种机器人通常会使用文字转语音技术,将接收到的弹幕文本转为语音&#x…...
Python|GIF 解析与构建(5):手搓截屏和帧率控制
目录 Python|GIF 解析与构建(5):手搓截屏和帧率控制 一、引言 二、技术实现:手搓截屏模块 2.1 核心原理 2.2 代码解析:ScreenshotData类 2.2.1 截图函数:capture_screen 三、技术实现&…...
在软件开发中正确使用MySQL日期时间类型的深度解析
在日常软件开发场景中,时间信息的存储是底层且核心的需求。从金融交易的精确记账时间、用户操作的行为日志,到供应链系统的物流节点时间戳,时间数据的准确性直接决定业务逻辑的可靠性。MySQL作为主流关系型数据库,其日期时间类型的…...
linux之kylin系统nginx的安装
一、nginx的作用 1.可做高性能的web服务器 直接处理静态资源(HTML/CSS/图片等),响应速度远超传统服务器类似apache支持高并发连接 2.反向代理服务器 隐藏后端服务器IP地址,提高安全性 3.负载均衡服务器 支持多种策略分发流量…...
微信小程序 - 手机震动
一、界面 <button type"primary" bindtap"shortVibrate">短震动</button> <button type"primary" bindtap"longVibrate">长震动</button> 二、js逻辑代码 注:文档 https://developers.weixin.qq…...
Rust 异步编程
Rust 异步编程 引言 Rust 是一种系统编程语言,以其高性能、安全性以及零成本抽象而著称。在多核处理器成为主流的今天,异步编程成为了一种提高应用性能、优化资源利用的有效手段。本文将深入探讨 Rust 异步编程的核心概念、常用库以及最佳实践。 异步编程基础 什么是异步…...
全面解析各类VPN技术:GRE、IPsec、L2TP、SSL与MPLS VPN对比
目录 引言 VPN技术概述 GRE VPN 3.1 GRE封装结构 3.2 GRE的应用场景 GRE over IPsec 4.1 GRE over IPsec封装结构 4.2 为什么使用GRE over IPsec? IPsec VPN 5.1 IPsec传输模式(Transport Mode) 5.2 IPsec隧道模式(Tunne…...
分布式增量爬虫实现方案
之前我们在讨论的是分布式爬虫如何实现增量爬取。增量爬虫的目标是只爬取新产生或发生变化的页面,避免重复抓取,以节省资源和时间。 在分布式环境下,增量爬虫的实现需要考虑多个爬虫节点之间的协调和去重。 另一种思路:将增量判…...
鸿蒙DevEco Studio HarmonyOS 5跑酷小游戏实现指南
1. 项目概述 本跑酷小游戏基于鸿蒙HarmonyOS 5开发,使用DevEco Studio作为开发工具,采用Java语言实现,包含角色控制、障碍物生成和分数计算系统。 2. 项目结构 /src/main/java/com/example/runner/├── MainAbilitySlice.java // 主界…...
RabbitMQ入门4.1.0版本(基于java、SpringBoot操作)
RabbitMQ 一、RabbitMQ概述 RabbitMQ RabbitMQ最初由LShift和CohesiveFT于2007年开发,后来由Pivotal Software Inc.(现为VMware子公司)接管。RabbitMQ 是一个开源的消息代理和队列服务器,用 Erlang 语言编写。广泛应用于各种分布…...
【JVM】Java虚拟机(二)——垃圾回收
目录 一、如何判断对象可以回收 (一)引用计数法 (二)可达性分析算法 二、垃圾回收算法 (一)标记清除 (二)标记整理 (三)复制 (四ÿ…...
