短视频SDK的功能技术实现方式都是些什么?

  • 回答 (8)
  • 关注 (0)
  • 查看 (196)

短视频基本为SDK架构,那么SDK的功能技术实现方式有哪些?我知道的有抖音上的贴纸啊,分镜啊什么的,具体有哪些呢?

朝朝朝朝提问于
独木桥先生回答于

我看楼上写了编辑的SDK那我谈一点短视频美化相关的吧。

自定义背景音乐

指短视频编辑功能中,用户可以自由添加他喜欢的背景音乐,通常自定义背景音乐支持自己录音或者选用 App 中已有的音乐。

自定义背景音乐功能实现,首先需要将视频源分离成两个轨道:音频轨道和视频轨道。背景音乐素材剥离出音频轨道,将背景音乐音频轨道插入原声的音频轨道中。可以通过 AVMutableAudioMixInputParameters 来调整原声和背景音乐的音量。背景音乐插入成功之后,再将得到的音频轨道与之前的视频轨道通过调用 AVMutableComposition 相关类进行合成,最后导出为短视频。

在某应用里选取自定义音乐

贴纸

贴纸是指短视频拍摄完成后,可以自由选择添加不同的贴纸,贴纸有场景贴纸和人脸贴纸两种技术实现

贴纸功能需要使用人脸检测功能,人脸检测实现方式有两种:

1.通过第三方数据库开源的跨平台计算机视觉和机器学习库进行人脸识别;

2.通过各自系统自带的库。

人脸识别

通过人脸识别定位人脸,鼻子、嘴巴、眼睛等五官位置,最好对眉毛、侧脸、头发等位置进行识别定位,从而能支持不同部位的贴纸。

最后在成功定位贴纸之后,进行视频图像处理即可。

SQL GM热爱数据库的小工匠回答于

短视频的SDK主要分为两部分,录制和编辑。参见下图:

短视频SDK

我觉得这张图挺全的,基本上短视频就这些了吧。但我也不是所有的都很了解,我就挑我比较熟悉的讲一下。

分段录制和回删,就是不需要一次性拍完,可以让你分段拍,拍完不满意还能删除部分。比如腾讯云通过 TXUGCRecord 的 pauseRecord 和 resumeRecord 功能,可以将一次录制过程转化为多段录制,如果对录制的效果不满意,可以通过 deleteLastPart 回删最后一次的录制结果,而不用从头开始重新录制整个视频,对使用体验提升较大。

快速裁剪拼接,在腾讯云iOS 提供了快速裁剪和编辑接口,1s 内完成视频裁剪和视频拼接。由 quickGenerateVideo 接口 和 quickJoinVideo 接口提供。

图源腾讯云
leo陈帅华回答于

SDK不仅有功能,还有架构。Android 短视频 SDK 的架构图,可以划分为四层。第一层为应用层(基于 SDK 开发的应用);第二层为 SDK 对外的接口层(均以 PLShortVideo 为前缀);第三层为核心层,主要是内部的一些模块(其中分 Java 和 Native 两块);第四层主要是 Android 系统层。

SDK架构

基本上都是这些SDK分模块提供不同的功能,比如编辑,输入,视频采集,文件读取,编码,封包,输出等,如下图所示

所示为短视频 SDK 的包体划分,从表中可以清晰地看到每个包体的功能划分,不同的功能放在了不同的包体当中。尽量使用 Android 和 iOS 的系统 API 进行硬编硬解,这样不仅减少了包体大小,而且速度要快很多,尽管在技术层面上会增加很多难度,会踩很多坑,但我们还是坚持选用这个方案。在引入第三方库时,我们也都是会经过充分配置和裁剪去严格控制包体的大小,这样一来,所有包体总和才能有现在「小而精」(1.5M)的成果。表中最后的内置滤镜模块,其中的滤镜资源可以选择性拷贝,SDK 内部会自动判断。这是关于模块设计方面的一些理念。

小铁匠米兰的v回答于

现在的是做的原来越好啦,短视频支持的功能也越来越多了

藕丝空间人称受程序员思维影响深刻的闷骚大叔。回答于

楼主你还知道分镜啊!求问如何实现!

司徒永哥家无水表,不收快递。回答于

我觉得这些SDK技术运用的最娴熟的怕就是网红了哦

夜深未眠ok刷新即可查看回答于

我感觉上面都说得差不多了……我就想问问代码实现在哪里啊……

灬半痴新手上路,多多关照回答于

一想到SDK脑子里先蹦出安卓的SDK巨大的包(捂脸跑)

扫码关注云+社区