当前位置: 首页 > news >正文

「我在淘天做技术」音视频技术及其在淘宝内容业务中的应用

「我在淘天做技术」音视频技术及其在淘宝内容业务中的应用

作者:李凯

一、前言

近年来,内容电商似乎已经充分融入到人们的生活中:在闲暇时间,我们已经习惯于拿出手机,从电商平台的直播间、或者短视频链接下单自己心仪的商品。

尽管优质的货品、实惠的价格、精致的布景、有趣的内容输出都是非常关键的影响因素,内容电商也必须基于两个前提:画质要高清、播放要流畅。曾经,有不少商家和主播因为直播间画质较差的问题而苦恼,不了解如何实现高画质开播。

在一系列前沿音视频技术的加持下,淘宝音视频技术团队解决了这个问题。

下图是一个直播间画质体验极致打磨案例,主播通过团队自研的一系列音视频技术,包括视频编码、视频增强处理、视频质量评价等,实现了超低码率的 1080p 高清直播:

左:720p 直播;右:超低码率 1080p 直播

同样还有短视频画质体验极致打磨案例,通过团队自研的上述音视频技术,实现了视频清晰度和纹理细节的大幅提升:

左:增强前;右:增强后

不难发现,在上述案例中,改造后的画面质感变得更好,从「标清」飞跃到了「超清」,人像肤色也变得更自然,连商品色彩都更加准确了。这种肉眼可识别的提升,都来自团队提供的音视频技术能力加持,打造业界领先的音视频体验,尤其是视频画质和流畅度。

但从技术层面上说,如何分析、定位视频内容存在的问题并找到有针对性的改造方法,仍然是一个复杂的过程。这就要从音视频技术的前世今生说起。

二、互联网视频化趋势

时至今日,数字电视的技术已经能够很好的满足我们的视听体验了。在数字电视带来的体验升级的过程中,随着技术的进步,人们告别了磁带,录像带这种存储介质,过渡到了 VCD,DVD 以及如今的 blue-ray(蓝光),也衍生除了对应的 MPEG-2 (H.262),H.264/AVC,H.265/HEVC 和 H266/VVC 这样的视频编码、压缩技术,用以提高画质并有效地节省存储和带宽成本。

广电的这一套视频技术非常专业,制作成本和周期也很高,包括完整,成熟的工业化链路,比如布景、拍摄、处理、剪辑、编码、传输、通信等。长期优质的消费体验,其实给了消费者很强的心智。广电很大程度上就代表了专业,代表了优质的体验,尤其是画质方面。

而 2010 年代中,出现了明显的视频互联网化的趋势,视频的制作和分享在大规模地从传统的广电向互联网,OTT 迁徙。长视频,中视频,直播,短视频相关业务在互联网上蓬勃发展。对于一个互联网公司来说,在技术层面,视频的互联网化做得越好,体验越优,越能更好地吸引商家和 C 端用户。内容的电商化或电商的内容化也成为了很多互联网头部公司的焦点战役。

互联网视频的制作和分享成本非常低,对于 C 端用户来说更是几乎接近于零。为支持好视频的互联网化,很大的工程技术工作就是把之前广电链路的能力在互联网平台上得以实现,从而提供广电级别的视频播放体验。

三、淘宝中的音视频技术

在淘宝的实际内容化业务中,包括视频内容的供给和分发等环节的整个视频业务生命周期,需要综合视频生产、视频处理、视频传输、视频呈现、和音频端到端的的全链路能力,才能确保整体视频的高画质和流畅度。而消费者对于视频画质的需求是越来越高的,比如要兼顾较高的清晰度和播放的流畅度,也要控制从生产到下发的整体成本。

这意味着平台的视频处理技术演进必须面对千变万化的市场需求和业务体量爆炸式增长所带来的各种挑战。为此,团队支持淘宝直播Tab2(逛逛)首页信息流等内容业务的整体解决方案并保持着持续、高速的迭代。

通过对上述技术进行针对性的自研,包括视频编码器、视频增强方案、美颜/美型/美妆、无参考视频质量评价模型以及媒体处理系统,并通过接入低延时传输网络 GRTN,为直播、首页等内容业务提供底层核心技术,打造业界领先的音视频体验,尤其是视频画质和流畅度。

通过持续的技术打磨和算法创新力求高质量、低成本赋能淘宝内容业务,助力淘宝内容化战略,所沉淀的平台技术和产品能力亦可被集团其它业务复用。这些多年来沉淀的技术能力,也曾经在多个音视频核心技术的国际权威比赛中折桂。

四、技术大图

音视频技术包含的技术域涉及到平台上所有音视频流的整个生命周期,从生产到分发,到最后的消费,如下的技术大图所示,包含若干核心技术模块:

音视频技术大图

注:该技术大图中罗列了很多相关技术方案,但并非所有的技术都已经在业务中被采用。

4.1 视频生产

为提升视频内容质量,内容生产者必不可少地会对内容本身进行“编辑”。编辑方式包括但不限于基于人像美化能力提升视频中人物主体的美观程度,基于前处理能力提升内容本身的清晰度,基于风格化滤镜提升视频内容的氛围感,以及基于预定义的剪辑模版生成不同风格的视频等等。如何去提升编辑效果,丰富编辑能力,降低使用门槛,是各大视频生产软件持续优化的方向。

其中人像美化一项编辑能力透出给用户的是美颜,美型,美白,美妆,美体等 5 大子功能。而支撑人像美化效果所依赖的底层算子,包括但不限于,人脸,人体等 2D 到 3D 的视觉算法,并且所有的算法都需要在移动端上对视频进行实时处理。

提升优化底层算子效果的同时,一些场景必须兼顾实时性,发热等性能强相关因素。算子的编排与联合优化,不同端(iOS、Android,PC),不同算力平台的(NPU、GPU、CPU)的适配也是人像美化的攻坚重点。

随着生成式 AI 技术的爆发,AIGC 已成为继 PGC,UGC 之后的新型内容生产方式。但如何平衡好生成内容的丰富性与稳定性,是 AIGC 技术辅助视频生产能否落地的一大挑战。

4.2 视频处理

内容生产者制作的视频内容,包括短视频和直播场景,上传到服务端之后,在最终分发给终端用户之前还需要经过一系列的处理来提升画质和降低码率,我们称之为 TMPS(Taobao Media Processing System)。

TMPS 主要包括三个步骤:

首先是对源内容进行解码,需要兼容各种媒体格式、各种音视频编码标准,包括支持图片格式。

其次使用团队自研的 STaoVideo 视频增强方案对解码后的内容进行增强提升画质体验,包括噪声去除,色彩、细节、亮度增强,超分、超帧、HDR 等手段,其中既有传统方法,也有深度学习的方法。STaoVideo 会自动根据源视频内容的特点和热度选择不同的增强算子,在有限的算力成本下最大化画质提升的效果。

最后是使用更高效的编码器重新编码,包括淘宝内容技术团队自研的 S265 和 S266 编码器,提高压缩效率降低流量成本,同时保障画质没有明显损失。TMPS 支持同时转码出不同分辨率的多路流,其中高分辨率高码率的流用于保障主流用户的画质体验,低分辨率低码率的流用于兼容低端设备和弱网等情况。

4.3 视频传输

从直播内容生产到用户在直播间看到,需要经过一个复杂的 CDN 传输网络,传统的 RTMP 和 HLS 协议延时较大,随着 5G 的兴起,出现了连麦、直播答题等低延时内容形式,传统协议已经无法完全满足业务诉求。因此,淘宝和阿里云一起,建立了通信、直播二网合一的低延时传输网 GRTN,实现了全链路 RTC 传输。配合 CDN 的基础设施,淘宝从 0 到 1 建设了 RTC 流媒体传输协议,在主播推流侧和手淘播放侧对 GRTN 做了率先的业务实践,成功落地淘宝直播且实现了全量覆盖。

淘宝直播的视频传输方面实现了 1 秒内的端到端时延,同时也可以快速满足淘宝不断涌现的业务形态对音视频媒体传输的底层诉求,比如《中国新主播 2023》大赛的“多人连麦 PK”活动。

GRTN 架构示意图

针对直播和短视频体验优化需求,研发基于弱网分类的带宽预测算法,结合实时画质评价实现上行推流分辨率决策,并优化下行 ABR 算法实现低延时直播和点播业务的自适应切流,通过拥塞控制,预加载等算法优化 Qos,实现秒开首帧时间减少 200ms,卡顿降低 50%以上。

当前还在探索错误隐藏、丢包重传、平滑发送、时域分层等算法来提升用户体验。

4.4 视频呈现

随着淘宝内容化进程加深,以及用户对于内容“高清、好看、好玩”的追求,淘宝也在探索新的媒体形态,出现了直播连麦、在线答题、语音播报以及游戏直播等新的内容形式,需要以良好的体验来承接新能力和新用户。

首先,对播放器进行架构升级,通过优化播放逻辑、提升硬解覆盖率以及通过性能和网络建立自适应选流/切流能力,优化在中低端手机上的卡顿和发热等问题;通过支持播放侧超分,后处理增强等方式有效提高用户在弱网下的清晰度。

其次,通过支持 VR/AR 以及 HDR 视频播放,进一步提升视频呈现方式。端侧互动能力也在持续建设,通过更多的道具和互动玩法,比如遮脸合拍等,让用户感觉更好玩更愿意参与其中。

4.5 音频端到端

声音是传递信息的重要媒介,但淘宝直播环境和设备各种各样,在直播间经常混杂各类的噪声影响用户听感,在连麦场景下,则易产生回声和啸叫等问题;主播往往还希望有背景音乐,变声,音效等玩法;内容化主播还希望达到类似演唱会的音质效果。如何利用技术手段,使用户获得“声”临其境的视听感受,成为了一个重要的任务。

内容技术团队从音频采集、前处理、编解码、传输、播放的全链路入手优化直播音质体验,自研 3A 算法 SDK(回声消除、自适应降噪、自动增益控制),较好的满足了前处理需求,音频子系统支撑了连麦合流功能,拥有弱网抵抗,音画同步等能力;针对无参考音频质量评价的需求,采用机器学习方法实现了 MD-AQA 音质评价模型,用于大盘音质监控,实现音质处理和评价间的闭环。

直播间噪音示例

五、音视频技术在淘天的实践

随着整个工业界在音视频领域的投入的扩大和整体技术水位的提升以及淘宝对于用户体验、包括画质方面愈发重视,我们也对一些核心的技术模块进行了深度自研和持续迭代打磨,尤其是在淘宝直播和短视频(包括逛逛)的重要场景取得了较好的提升体验且降低成本的效果。

在如下的示意图中可见,无论是直播还是短视频的处理,都离不开视频增强、处理和视频编码技术,所不同的是两个场景对实时性的要求不同。同时,为追求高画质呈现体验,整个端到端链路中的所有环节的失真,甚至包含画质源本身的低画质都需要被较好的考虑和量化,因此,无参考考的质量评价在衡量画质体验的过程中也至关重要。视频增强,视频编码和无参视频质量评价是保障视频画质的三个重要技术方向。

5.1 视频增强

在直播和短视频中,我们都需要关注画质,致力于为用户提供最好的画质体验。我们建设了 STVideo 视频增强方案,通过不同的算子针对性增强画质。

直播更侧重在弥补摄像头成像不足,针对移动端摄像头噪声偏大的问题,我们上线了噪声去除算子,针对低端色彩不足的问题,我们提供了色彩增强的算法供用户使用。短视频主要通过云端算子在转码过程中对视频进行增强处理,这其中包括了差异化的智美高清和普惠高清算子,分别针对高热视频和大盘视频提升画质并降低转码过程中的算力成本开销。对于低分辨率视频进一步采用超分算法提升分辨率。

团队既关注业务和人眼主观体验,同时关注业界进展,积极探索能够提升客观指标的方法。团队同学在日常业务研发中探索出的新方法:渐进式训练的两阶段视频恢复方法。在 2022 年 CVPR NTIRE 比赛,在视频超分与质量增强比赛的三个赛道获得两个赛道冠军一个赛道亚军。CVPR NTIRE(New Trends in Image Restoration and Enhancement workshop and challenges on image and video processing)是全球图像视频增强方面的顶级竞赛。继在 MSU 世界编码器比赛夺魁后,团队再次在音视频的核心方向的权威比赛中折桂。

比赛云集了国内外十几支参赛团队,包括腾讯、字节、华为等知名科技企业,中科院、北大、港中文、ETH 等科研机构都有参赛,其中很多比赛者都有多年的参赛经验。经过激烈的角逐,团队最终取得了两冠一亚的成绩。

CVPR NTIRE 2022 视频超分与增强比赛排行榜

左:源视频,右:注重人像区域生成能力的视频增强效果(视频来自 5 月底采买视频)

面向未来,我们将为不同的业务、场景的视频,提供更加细分、差异化的视频增强手段:

  1. 针对中低画质视频,画面模糊是常见问题,为此我们需要提供强去模糊模型,联动 MD-VQA 画质分,自适应地选定去模糊的强度、区域,实现多场景下的通用去模糊;

  2. 针对以人像为主的视频,增加人像区域的注意力机制,引导模型对人像区域增强生成能力,同时约束人脸区域保持自然观感,实现低画质人像视频到高画质人像视频的跃迁(见下图);

  3. 针对画质还不错,但色彩、亮度不足的视频,提供定制化色彩亮度增强能力,进一步提升画面观感;

  4. 针对直播场景,我们会根据机型提供提供更加丰富的画质增强能力,包括色彩亮度提升、画面通透度提升能力。

5.2 视频编码与传输

随着互联网内容化的兴起,特别是视频化和直播的流行,视频编码成为业务的核心基础技术之一,未经压缩的高清视频体积巨大,不利于网络传输和存储。

自从从 20 世纪 90 年代初以来,国际通信联盟 ITU-T VCEG 以及国际标准化组织 ISO/IEC MPEG 两大组织,分别或共同发布了数代视频编解码标准,目前业界使用最多的是 H.264 /AVC 以及 H.265/HEVC。前者在数字电视,互联网,视频会议等服务中广泛使用,后者则对高清超高清视频和 HDR 视频的普及做出了重要的贡献。

H.266(VVC) 是最新颁布国际视频编码标准,其第一版于 2020 年 7 月制定完成,相比上一代标准 可以在相同主观质量条件下将视频带宽降低 40%,有着巨大的应用前景。

【业务】S265 应用

淘宝内容技术团队自研的 S265 编码器是对 H.265/HEVC 标准的高效实现,经过多年的产品化打磨,已全面应用于包括淘宝直播、首页信息流、淘宝逛逛在内的淘宝内容业务,并以较低的带宽和资源消耗实现高清画质编码,对比前一代标准,画质相等的前提下降低码率 40%以上,经过 S265 编码器压缩后,普通手机在 3G 网络也可顺滑观看 1080p 高画质,最新发布的手机亦可支持 4k 30FPS 超高清直播。

【比赛】S265、S266

基于 S265 的核心技术,团队还开发了 H.266/VVC 标准编码器 S266,两个编码器分别参加了 MSU 2020 和 2021 连续两届比赛,取得多个赛道第一。

在 MSU2020 全高清客观性能赛道上,S265 获得了两项 PSNR 指标第一;在 MSU2021 全高清客观性能赛道上,S266 更是获得 14 项评测指标中的 8 项第一;在主观性能赛道,S266 在 16 款参赛编码器中以大比分优势获得第一,与 MSU 官方指定的基准编码器 x265 相同的主观质量下,带宽节省了 71%之多,S266 也成为两项比赛唯一一个所有指标都进入前三的编码器。

MSU(莫斯科国立大学)世界视频编码器大赛是视频编码领域最权威的全球性顶级赛事,迄今已由 MSU 的 Graphics & Media Lab 连续举办了十八届,其评测报告被业界广泛认可,吸引了包括 Google、Netflix、Intel、Nvidia、腾讯、字节、华为等国内外知名科技企业参与,代表了行业发展的风向标。

MSU 2020 Main FullHD 1 fps YUV-PSNR 排名

MSU 2021 Main FullHD 1 fps YUV-PSNR 排名

S265 编码器在码率控制、快速算法、编码工具实现、工程加速几个方面进行了创新,实现对 X265 编码器的超越,在 1fps 速度档位下 YUV-PSNR 指标领先 35%。

S266 在 S265 编码器的基础上,进一步在符合 VVC 标准的范畴下进行优化。主要的工作包括针对新的工具集的适配,比如让 S265 中的很多优化手段延伸到了 VVC 中更大的编码单元块(CTU),更复杂多变的块划分结构,不一样的运动矢量估计等新的编码工具;同时引入了预分析、自适应量化、时域运动滤波等技术来提升编码效率;且在编码过程中使用更多的快速算法减少整体计算复杂度,通过汇编优化让密集计算模块提速,最后采用帧、CTU 行、块级并行减少整体编码时长,使得 S266 编码器相比 H.266/VVC 的参考软件 VTM11 有了极大的速度提升,且可运行在 1fps 速度档位(大规模的 VVC 离线编码应用成为可能)。

S266 提供了对比 H.265 开源软件 X265 very slow 档 50%的编码效率提升(同等画质下,码率减少 50%),夺得此次 MSU 比赛中 PSNR 等多个指标的第一名。

【业务】S266 落地

通过 MSU 的权威认证,展现了 S266 强大的压缩效率,但要推动 VVC 标准的商用,路还很长。这是因为 VVC 作为 HEVC 的下一代编码标准,引入了诸多新的编码工具,这些工具一方面带来了压缩效率的提升,同时也对算力提出了更高要求,同时在当前手机芯片不能支持 H.266 硬件解码的前提下,软件解码的发热,卡顿等问题都会较大的制约,淘宝内容技术团队一直致力于优化 S266 编解码器的算力。

针对移动手机芯片的特性,团队进行了多个维度的优化,包括多核并行、ARM 汇编、内存访问效率、内存占用大小等,低端手机仅使用 2 核就可以解码 720p 视频,中高端手机可支持 1080p 实时解码。

针对手淘稳定性、内存占用、包大小等方面的需求,还进行了数万条异常码流的严格测试确保稳定性;并采用固定内存管理,避免重复分配和释放,优化参考帧管理策略,与编码器配合减少参考缓存帧数量,实现较低的内存占用;在包大小方面也进行了极致的裁剪,使得手淘包大小增量在 800k 以内。

随着编解码器的优化逐渐成熟以及设备算力的逐步提升,2023 年团队开始 VVC 在淘宝的落地。

首先淘宝媒体处理系统 TMPS 嵌入了 S266 编码插件,并支持 ISO/IEC MP4 容器的封装和解封装,支持与智美高清结合的转码模板,实现编码和增强的强强结合。

其次手淘播放器适配 S266 解码插件,针对 seek,上下滑,预加载等场景进行优化,并兼容播放降级逻辑,支持多种格式和分辨率的选流逻辑,实现播放和解码的内存解耦。在内容总线和业务侧,还实现了多流转码和播控下发逻辑。

在即将到来的双十一,手淘逛逛用户将能观看基于 S266 技术的 VVC 高清视频,享受流畅的播放体验。

为了满足淘宝直播对实时编码的需求,团队还研发了 S266 快速档(fast 档),通过挑选高性价比工具,优化块划分,模式选择,滤波等算法,引入 AVX512 指令集,进一步提高帧级和行级并行度,使得 S266 在个人 PC 上能达到 1080p 实时编码。直播全链路也将支持 VVC over RTMP/RTP 的推流,传输,播放,用户不久将可在淘宝直播中观看基于 VVC 技术的直播。

【传输】

在视频传输侧,码率自适应算法(ABR)根据用户网络条件以及缓存等信息,自适应地调整播放分辨率,达到画质和卡顿 QOE 的平衡。淘宝内容技术团队根据直播低延时的特点,增加源端码率传递通道实时准确获取码流信息,并通过带宽探测实时获取用户带宽信息,改进 ABR 网络结构和 QOE 状态模型,考虑直播跳帧和快慢播面临的 Reward 对齐问题,提出自创的 ABR 算法,首次实现低延时直播下的自适应切流,将直播百卡次数降低 27%。

在短视频选流上,根据历史切片的下载时长,结合传输层信息以及网络类型来估算带宽,经过大量 AB 实验确定最佳参数,并解决质量和码率不匹配问题,帮助 1080p 播放降级率大幅降低。

1080p 占比 VS 百秒卡顿率 退出率 VS 卡顿时长

5.3 无参视频质量评价

近年来互联网内容视频化的趋势密不可分,从生活、娱乐到学习,视频都已经成为了很多人获取信息的第一介质。其中,UGC 视频内容几乎占据了整个互联网视频流量中的 70% 到 80%。人们既消费这些 UGC 视频内容,也在创造着自己的「作品」。任何人都可以使用一台手机拍摄、上传短视频,也可以开通自己的直播账号,分享自己的生活。

但 UGC 视频的质量往往是参差不齐的。首先是因为其质量受制于拍摄设备、拍摄环境、拍摄技巧等因素,即使视频内容的制作方极具经验且原始视频质量非常高,一旦经过平台的各种处理、分发环节或是其他用户的二创,消费者在另一端看到的视频效果都有可能打折扣。

在缺乏理想的视频参考源的质量评价场景逐渐成为主流的趋势下,无参考视频质量评价作为质量评价的主要的技术手段,在过去的几年里越来越受到广泛关注。然而,该领域缺乏具备公信力的 baseline,没有像传统广电中 PSNR, SSIM, VMAF 这样的传统指标。并且学术界的 UGC 视频质量评价研究尚处于起步阶段,没有形成有共识的权威的方向和可供工业界直接应用的标准。

因此,团队基于淘宝直播、Tab2、首页信息流等内容业务,自研了一种针对 UGC 视频的无参考视频质量评价模型 ——MD-VQA(Multi-Dimensional Video Quality Assessment),综合视频的语义、失真、运动等多维度信息,并进行时空域的融合,来衡量视频绝对质量的高低。在公开的视频质量评价数据集 LIVE-WC 和 YT-UGC+,以及 TaoLive(来源于淘宝视频业务,包含 3,762 个视频,覆盖不同的内容、失真、和质量,并通过专业的主观标注)上,MD-VQA 在主流视频质量评价指标 SRCC 和 PLCC 上均超过了 SOTA(State-Of-The-Art)方法,达到了先进性能。

目前,MD-VQA 已经全面应用于包括淘宝直播、淘宝信息流、淘宝逛逛等淘宝内容业务,「量化」并监控视频业务的大盘画质变化,快速、精准地筛选出不同画质水位的直播间和短视频,帮助提升平台内容画质。以淘宝直播为例,MD-VQA 提供分钟级的在线质量监控能力,能够快速、精准地筛选不同画质水位的直播间,协助线上低画质 badcase 的挖掘分析,实时提醒主播画质问题方面的瓶颈问题,配合《电商直播高画质开播指南》,提供改进措施,使得淘宝直播主播画质满意度显著提升:在收到过提醒的主播中,75%+希望保持和完善实时提醒服务。

此外,MD-VQA 在整个阿里集团内部也在支撑越来越多的画质评价相关业务,比如钉钉直播、ICBU 直播和支付宝直播,协助监控视频相关业务的画质体验。相关论文被计算机视觉领域顶级会议 IEEE/CVF Computer Vision and Pattern Recognition Conference 2023(CVPR 2023)成功收录。

同时,基于在日常业务的经验积累,团队在 MD-VQA 的基础上研发了无参考视频质量评价模型 TB-VQA,并参加了 CVPR NTIRE 2023 视频质量评价竞赛,拿下该比赛(唯一赛道)冠军。

本场比赛云集了国内外顶级的几十只参赛队伍,包括字节、快手、网易、小米、Shopee 在内的知名科技企业,以及北京航空航天大学、新加坡南洋理工大学等高校。TB-VQA 从 37 支队伍中脱颖而出,在主得分(Main Score)、SRCC(Spearman Rank Order Correlation Coefficient)及 PLCC(Pearson Linear Correlation Coefficient,SRCC 和 PLCC 越高表明与 GT 越接近)三项指标均位居第一。

CVPR NTIRE 2023 视频质量评价比赛排行榜

美颜画质:FACE-VQA&音频质量评价:MD-AQA

除了用于通用场景视频质量评价的 MD-VQA 模型,我们还研发了针对美颜质量评价的 FACE-VQA 模型和针对音频质量的 MD-AQA 模型。FACE-VQA 首先检测视频中的人脸,然后根据人们的审美标准,对人脸的肤质、肤色及脸型进行多维度的综合评价。FACE-VQA 已经用于美颜算法的迭代和淘宝直播大盘美颜效果的监控,后续会继续提升 FACE-VQA 的准确度,完善妆容部分对美颜的影响。

针对明确的无参考音频质量评价的需求,MD-AQA 从多个维度出发,采用深度 CNN 自我注意力模型,对噪声,语音连续性,响度,音色四个维度进行评分,并同时预测 MOS 分。目前 MD-AQA 已经用于淘宝直播大盘音质的监控,帮助发现和改进音质较好/较差的直播间。  

六、志同道合

如果你对音视频的业务感兴趣,可以直接投简历到这个邮箱:meiguang.jmg@taobao.com,欢迎一起加入。

相关文章:

「我在淘天做技术」音视频技术及其在淘宝内容业务中的应用

作者:李凯 一、前言 近年来,内容电商似乎已经充分融入到人们的生活中:在闲暇时间,我们已经习惯于拿出手机,从电商平台的直播间、或者短视频链接下单自己心仪的商品。 尽管优质的货品、实惠的价格、精致的布景、有趣的…...

el-input 输入后失去焦点

说了是无情&#xff0c;写了更无情&#xff0c;你说你看了不点赞是不是更绝情&#xff1f;遇到这种神奇的BUG&#xff0c;也是大家无奈的神情。 来分析看代码&#xff1a; <div class"card-item input-item" :class"{ w-100: followRadio 2 }"v-for&…...

docker创建并访问本地前端

docker创建并访问本地前端&#xff0c;直接上命令&#xff1a; 安装nginx镜像&#xff1a; docker pull nginx 查看已安装的nginx&#xff1a; docker images 创建DockerFile文件&#xff0c;直接在当前文件夹种创建 touch Dockerfile 在Dockerfile写入内容&#xff1a; F…...

数据结构之单链表基本操作

&#x1f937;‍♀️&#x1f937;‍♀️&#x1f937;‍♀️ 今天给大家分享的是单链表的基本操作。 清风的个人主页 &#x1f389;欢迎&#x1f44d;点赞✍评论❤️收藏 &#x1f61b;&#x1f61b;&#x1f61b;希望我的文章能对你有所帮助&#xff0c;有不足的地方还请各位…...

Python 实践

文章目录 一、HttpRequests 一、Http Requests python——Request模块...

使用easyui前端框架快速构建一个crud应用

本篇文章将会详细介绍jquery easyui前端框架的使用&#xff0c;通过创建一个crud应用来带大家快速掌握easyui的使用。 easyui是博主最喜欢的前端框架&#xff0c;没有之一&#xff0c;因为它提供了多种主题&#xff0c;而且有圆润的各种组件。 一、快速开始 easyui的官网地址&…...

Logback从添加依赖,到配置给中打印级别,archive相关信息配置,在项目中的常见的用法,一个完整的过程

添加Logback依赖&#xff1a; 在您的Maven或Gradle项目中&#xff0c;添加Logback依赖。例如&#xff0c;在Maven中&#xff0c;可以将以下依赖添加到pom.xml文件中&#xff1a; <dependency><groupId>ch.qos.logback</groupId><artifactId>logback-c…...

虚假内容检测,谣言检测,不实信息检测,事实核查;纯文本,多模态,多语言;数据集整理

本博客系博主个人理解和整理所得&#xff0c;包含内容无法详尽&#xff0c;如有补充&#xff0c;欢迎讨论。 这里只提供数据集相关介绍和来源出处&#xff0c;或者下载地址等&#xff0c;因版权原因不提供数据集所含的元数据。如有需要&#xff0c;请自行下载。 “Complete d…...

数据结构:单链表

文章目录 &#x1f349;前言&#x1f349;基本概念&#x1f349;链表的分类&#x1f34c;单链表节点的结构&#x1f34c;创建节点&#x1f34c;打印链表&#x1f34c;插入和删除&#x1f95d;尾插&#x1f95d;头插&#x1f95d;尾删&#x1f95d;头删&#x1f95d;指定位置之前…...

官媒代运营:让大众倾听品牌的声音

在当今数字时代&#xff0c;媒体的影响力和多样性远远超出了以往的范畴。品牌和企业越来越依赖媒体来传播信息、建立声誉以及与大众互动。而媒体矩阵成为了现代品牌传播的关键策略&#xff0c;使大众能够倾听品牌的声音。媒体矩阵&#xff1a;多元化的传播渠道 媒体矩阵是指利…...

postgresql 实现计算日期间隔排除周末节假日方案

前置条件&#xff1a;需要维护一张节假日日期表。例如创建holiday表保存当年假期日期 CREATE TABLE holiday (id BIGINT(10) ZEROFILL NOT NULL DEFAULT 0,day TIMESTAMP NULL DEFAULT NULL,PRIMARY KEY (id) ) COMMENT假期表 COLLATEutf8mb4_0900_ai_ci ;返回日期为xx日xx时x…...

金融工作怎么做?低代码如何助力金融行业

10月30日至31日&#xff0c;中央金融工作会议在北京举行。金融是国民经济的“血脉”&#xff0c;是国家核心竞争力的重要组成部分。会议指出&#xff0c;党的十八大以来&#xff0c;在党中央集中统一领导下&#xff0c;金融系统有力支撑经济社会发展大局&#xff0c;坚决打好防…...

基于springboot实现智慧外贸平台系统【项目源码+论文说明】计算机毕业设计

基于springboot实现智慧外贸平台系统演示 摘要 网络的广泛应用给生活带来了十分的便利。所以把智慧外贸管理与现在网络相结合&#xff0c;利用java技术建设智慧外贸平台&#xff0c;实现智慧外贸的信息化。则对于进一步提高智慧外贸管理发展&#xff0c;丰富智慧外贸管理经验能…...

带头+双向+循环链表

前言&#xff1a; 前面我们已经学习了单链表的结构及其功能特点&#xff0c;也了解了单链表在实现一些功能时出现的一些缺点&#xff0c;比如在删除某个节点前面一个节点时就需要再开一个变量来存放前面一个节点的信息&#xff0c;这样就显得不灵活&#xff0c;为了使链表实现功…...

Leetcode_2:两数相加

题目描述&#xff1a; 给你两个 非空 的链表&#xff0c;表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的&#xff0c;并且每个节点只能存储 一位 数字。 请你将两个数相加&#xff0c;并以相同形式返回一个表示和的链表。 你可以假设除了数字 0 之外&#xff…...

Pytorch实战教程(一)-神经网络与模型训练

0. 前言 人工神经网络 (Artificial Neural Network, ANN) 是一种监督学习算法,其灵感来自人类大脑的运作方式。类似于人脑中神经元连接和激活的方式,神经网络接受输入,通过某些函数在网络中进行传递,导致某些后续神经元被激活,从而产生输出。函数越复杂,网络对于输入的数…...

【MySQL】手把手教你centos7下载MySQL

centos7下载MySQL 前言正式开始卸载不需要的环境&#xff08;如果你之前没有安装过数据库相关的东西可以跳过&#xff09;下载mysql登录mysql登陆⽅法⼀【不⾏就下⼀个】登陆⽅法⼆【不⾏就下⼀个】登录方式三 前言 安装和卸载MySQL都用系统的root权限&#xff0c;更方便一点&…...

openlayers

OpenLayers使用_openlayers中文官网-CSDN博客...

力扣每日一道系列 --- LeetCode 88. 合并两个有序数组

&#x1f4f7; 江池俊&#xff1a; 个人主页 &#x1f525;个人专栏&#xff1a; ✅数据结构探索 ✅LeetCode每日一道 &#x1f305; 有航道的人&#xff0c;再渺小也不会迷途。 文章目录 思路1&#xff1a;暴力求解思路2&#xff1a;原地合并 LeetCode 88. 合并两个有序数组…...

Android Studio(项目收获)

取消按钮默认背景色 像按钮默认背景色为深蓝色&#xff0c;即使使用了background属性指定颜色也不能生效。 参考如下的解决方法&#xff1a; 修改/res/values/themes.xml中的指定内容如下&#xff1a; <style name"Theme.TianziBarbecue" parent"Theme.Mater…...

云原生核心技术 (7/12): K8s 核心概念白话解读(上):Pod 和 Deployment 究竟是什么?

大家好&#xff0c;欢迎来到《云原生核心技术》系列的第七篇&#xff01; 在上一篇&#xff0c;我们成功地使用 Minikube 或 kind 在自己的电脑上搭建起了一个迷你但功能完备的 Kubernetes 集群。现在&#xff0c;我们就像一个拥有了一块崭新数字土地的农场主&#xff0c;是时…...

Flask RESTful 示例

目录 1. 环境准备2. 安装依赖3. 修改main.py4. 运行应用5. API使用示例获取所有任务获取单个任务创建新任务更新任务删除任务 中文乱码问题&#xff1a; 下面创建一个简单的Flask RESTful API示例。首先&#xff0c;我们需要创建环境&#xff0c;安装必要的依赖&#xff0c;然后…...

LeetCode - 394. 字符串解码

题目 394. 字符串解码 - 力扣&#xff08;LeetCode&#xff09; 思路 使用两个栈&#xff1a;一个存储重复次数&#xff0c;一个存储字符串 遍历输入字符串&#xff1a; 数字处理&#xff1a;遇到数字时&#xff0c;累积计算重复次数左括号处理&#xff1a;保存当前状态&a…...

el-switch文字内置

el-switch文字内置 效果 vue <div style"color:#ffffff;font-size:14px;float:left;margin-bottom:5px;margin-right:5px;">自动加载</div> <el-switch v-model"value" active-color"#3E99FB" inactive-color"#DCDFE6"…...

Psychopy音频的使用

Psychopy音频的使用 本文主要解决以下问题&#xff1a; 指定音频引擎与设备&#xff1b;播放音频文件 本文所使用的环境&#xff1a; Python3.10 numpy2.2.6 psychopy2025.1.1 psychtoolbox3.0.19.14 一、音频配置 Psychopy文档链接为Sound - for audio playback — Psy…...

鱼香ros docker配置镜像报错:https://registry-1.docker.io/v2/

使用鱼香ros一件安装docker时的https://registry-1.docker.io/v2/问题 一键安装指令 wget http://fishros.com/install -O fishros && . fishros出现问题&#xff1a;docker pull 失败 网络不同&#xff0c;需要使用镜像源 按照如下步骤操作 sudo vi /etc/docker/dae…...

全志A40i android7.1 调试信息打印串口由uart0改为uart3

一&#xff0c;概述 1. 目的 将调试信息打印串口由uart0改为uart3。 2. 版本信息 Uboot版本&#xff1a;2014.07&#xff1b; Kernel版本&#xff1a;Linux-3.10&#xff1b; 二&#xff0c;Uboot 1. sys_config.fex改动 使能uart3(TX:PH00 RX:PH01)&#xff0c;并让boo…...

推荐 github 项目:GeminiImageApp(图片生成方向,可以做一定的素材)

推荐 github 项目:GeminiImageApp(图片生成方向&#xff0c;可以做一定的素材) 这个项目能干嘛? 使用 gemini 2.0 的 api 和 google 其他的 api 来做衍生处理 简化和优化了文生图和图生图的行为(我的最主要) 并且有一些目标检测和切割(我用不到) 视频和 imagefx 因为没 a…...

STM32HAL库USART源代码解析及应用

STM32HAL库USART源代码解析 前言STM32CubeIDE配置串口USART和UART的选择使用模式参数设置GPIO配置DMA配置中断配置硬件流控制使能生成代码解析和使用方法串口初始化__UART_HandleTypeDef结构体浅析HAL库代码实际使用方法使用轮询方式发送使用轮询方式接收使用中断方式发送使用中…...

代码规范和架构【立芯理论一】(2025.06.08)

1、代码规范的目标 代码简洁精炼、美观&#xff0c;可持续性好高效率高复用&#xff0c;可移植性好高内聚&#xff0c;低耦合没有冗余规范性&#xff0c;代码有规可循&#xff0c;可以看出自己当时的思考过程特殊排版&#xff0c;特殊语法&#xff0c;特殊指令&#xff0c;必须…...