短视频SDK主要包含“视频录制”和“视频编辑”这两个核心功能。

视频录制包括:视频采集、美颜、滤镜、摄像头切换、视音频采集参数设置等功能;

视频编辑包括:视频导入、合成、特效、滤镜、字幕、贴纸、音乐、播放、导出等功能。

一、短视频SDK框架

如上图所示,短视频SDK的技术框架分为三个层级,分别为核心处理层、业务逻辑层和业务接口层

  • 核心处理层:负责短视频底层的技术实现,包括媒体组合、GPU数据输入、视频过渡、视频特效、视频像素、添加字幕/贴纸、图像转视频、GPU数据、音视频处理、音频混响、音频调节、音频延时、视频预览和媒体合成;
  • 业务逻辑层:负责短视频业务逻辑的实现,包括录制逻辑处理和编辑逻辑处理两部分,具体包括素材时间线管理、音频时间线管理、过渡效果管理、字幕图层管理、贴纸图层管理和视频特效管理;
  • 业务接口层:负责向上业务的对接,包括录制接口和编辑接口。

二、视频录制

视频录制的实现流程就如上图所示,首先开启采集摄像头进行画面以及声音的采集,在采集过程中支持分别对采集的数据进行视频处理和音频处理,包括滤镜、降噪、添加贴纸、混音等,处理完成后进入视频编辑环节,最终通过ffmpeg编码并生成MP4文件。视频录制全程采用了GPU以及硬件编码,使得CPU使用率非常低,即使在性能较差的手机上也能很好的运行。

点击【阅读】,了解更多“短视频SDK详情”

三、视频编辑

视频编辑是指对录制或选定的视频内容进行编辑处理,其业务流程为先将需要编辑的视频内容进行导入,然后在分别进行视频和音频处理,包括添加滤镜、字幕、贴纸、视频裁剪及复制、视频变速及旋转、添加背景音乐、混音等,处理完的音视频可进行媒体即时预览,最后将编辑完成的媒体文件进行合成并导出。

1、视频处理

视频处理的实现流程如上图所示,将输入的视频内容进行裁剪、分割、复制、旋转、滤镜等视频过渡和特效处理,此外还支持添加字幕和贴纸,处理后的视频内容通过混合器进行混合,最后编码输出。

视频处理主要是利用ffmpeg进行相应的处理,将原始的视频进行解码,然后将解码后的YUV数据映射到GPU的纹理上进行相应的参数调节,然后将调好的参数配置进行编辑处理。

2、音频处理

音频处理的实现流程如上图所示,首先需要从视频源中分离出音频轨道,形成原生的音频轨道,然后将添加的背景音乐的音频轨道插入原声的音频轨道中,通过调整原声和背景音乐的音量,形成原始音频和背景音乐的混合,最后通过媒体合并将混合后的音频轨道与处理完的视频轨道进行相关类合成。

3、媒体预览

媒体预览的实现流程如上图所示,将视频内容、音频内容和背景音乐等可变内容通过自定义合成线程进行处理,包括信息传递、过渡等,最后对处理后的视音频通过播放器进行即时预览。

4、媒体合成

媒体合成的实现流程如上图所示,首先按照时间链读取处理后的需要合并的多个视频内容和混音后的音频内容,然后开始分别对视频内容和音频内容进行合并,合并实现方式为对视频内容和音频内容做基于ffmpeg的编码,将编码后的视音频合并为整体的媒体文件,最后对外输出合并后mp4文件。

四、短视频应用场景

1、电商产品展示

商家端可通过短视频SDK将拍摄的视频或图片快速进行合并、裁剪和编辑,配合字幕、贴纸、音乐等特效,制作商品展示短片,更形象的展示商品,提升用户购物体验。结合京东云点播产品和播放器SDK,可形成完成的短视频端到端解决方案。

2、社交创意分享

短视频有助于用户更生动的表达观点,传递更真实的场景。此外还可通过美颜、滤镜、字幕、贴纸等特效,合并和剪辑等功能来制作新的视频,将个人创意或焦点内容合成一个新的短视频,提高视频热点和点击率。

总结

以上就是iOS端短视频SDK 的主要技术实现方式,京东云短视频SDK配合云端视频点播产品,可为客户提供完整的短视频解决方案,帮助用户聚焦业务本身的同时能够快速具备短视频业务支撑的能力,欢迎大家在京东云官网体验短视频DEMO和下载集成。

点击【阅读】,了解更多“短视频SDK详情”

欢迎点击“京东云”了解更多精彩内容

干货|浅谈iOS端短视频SDK技术实现的更多相关文章

  1. 浅谈iOS视频开发

     浅谈iOS视频开发 这段时间对视频开发进行了一些了解,在这里和大家分享一下我自己觉得学习步骤和资料,希望对那些对视频感兴趣的朋友有些帮助. 一.iOS系统自带播放器 要了解iOS视频开发,首先我们从 ...

  2. 短视频技术详解:Android端的短视频开发技术

    在 <如何快速实现移动端短视频功能?>中,我们主要介绍了当前短视频的大热趋势以及开发一个短视频应用所涉及到的功能和业务.在本篇文章中,我们主要谈一谈短视频在Android端上的具体实现技术 ...

  3. 短视频 SDK 架构设计实践

    作者简介 孔维乐,七牛云客户端团队 Android 平台高级开发工程师,专注音视频,图形图像领域.OpenGL 专家,先后参与直播推流及连麦 SDK 的开发,主导短视频 SDK 的架构设计与实现, 对 ...

  4. 短视频SDK超级简单易用

    超级简单易用的短视频SDK来自RDSDK.COM.锐动天地为开发者提供短视频编辑.视频直播.特效.录屏.编解码.视频转换,等多种解决方案,涵盖PC.iOS.Android多平台.以市场为导向,不断打磨 ...

  5. 短视频 SDK 功能点技术实现方式详解

    第三方短视频解决方案作为快速切入短视频行业的首选方式,选择一款功能齐全.性能优异的短视频解决方案十分重要. 今天我们来谈谈短视频 SDK 6大重要功能点及其技术实现方式. 短视频拍摄 断点续拍 指在拍 ...

  6. Android短视频SDK转码实践

    一. 前言 一些涉及的基本概念: 转码:一般指多媒体文件格式的转换,比如分辨率.码率.封装格式等: 解复用(demux):从某种封装中分离出视频track和音频track,然后交给后续模块进行处理: ...

  7. 短视频 SDK 6大功能技术实现方式详解

    第三方短视频解决方案作为快速切入短视频行业的首选方式,选择一款功能齐全.性能优异的短视频解决方案十分重要. 今天我们来谈谈短视频 SDK 6大重要功能点及其技术实现方式. 短视频拍摄 断点续拍 指在拍 ...

  8. 如何设计一款优秀的短视频 SDK

    2017 年,短视频成为了创业的新风口,各种短视频 App 如雨后春笋般先后上线,视频越来越像文字.图片一样,成为每一个 App 不可或缺的一部分. 1. 包体一定要尽可能小 如何做到尽可能的减小 S ...

  9. 短视频SDK用于旅游行业

    超级简单易用的短视频SDK来自RDSDK.COM.锐动天地为开发者提供短视频编辑.视频直播.特效.录屏.编解码.视频转换,等多种解决方案,涵盖PC.iOS.Android多平台.以市场为导向,不断打磨 ...

随机推荐

  1. 吴裕雄 Bootstrap 前端框架开发——Bootstrap 辅助类:"text-muted" 类的文本样式

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...

  2. 16 SQL Mode

    1.SQL Mode解决的问题:     a.通过设置SQL Mode , 可以完成不同严格程度的数据校验,有效地保障数据准确性.     b.通过设置SQL Mode 为ANSI模式,来保证大多数S ...

  3. 使用six库将Python2的项目完全转移到python3

    SIX是用于python2与python3兼容的库. 它存在的目的是为了拥有无需修改即可在Python 2和Python 3上同时工作的代码.话虽这么说,但是这并不代表在Python 3中引用该库就可 ...

  4. LeetCode242 有效的字母异位词(Java字符数组排序&自定义排序记录)

    题目: 给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的字母异位词.   示例 1: 输入: s = "anagram", t = "nagaram& ...

  5. 读《Adaptive Thresholding Using the Integral Image》自适应图像阈值

    图像的二值化问题总是一个问题.虽然使用深度学习的方法取得了不小的进展,但是传统的方法还是值得借鉴. 刚好随机游走到这篇文章 挖个07年的坟  地址:http://people.scs.carleton ...

  6. Kubernetes——命令行操作

    如果集群初始化失败需要的操作: master:  kubeadm reset   #回答y  执行一条它提示给你的iptables命令即可 node:  systemctl stop kubelet  ...

  7. PHP中strlen和mb_strlen函数的使用方式的不同

    (1)strlen  获取字符串长度 (2)mb_strlen  使用方法:   int mb_strlen ( string $str [, string $encoding ] )返回给定的字符串 ...

  8. 7.11 如何应用Varnish

    动态数据缓存 Step 1 修改devault.vcl文件 # This ) # man page for details on VCL syntax and semantics. # # Defau ...

  9. 吴裕雄 Bootstrap 前端框架开发——Bootstrap 字体图标(Glyphicons)

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...

  10. HDU - 3729 I'm Telling the Truth(二分匹配)

    题意:有n个人,每个人给出自己的名次区间,问最多有多少个人没撒谎,如果有多解,输出字典序最大的解. 分析: 1.因为字典序最大,所以从后往前分析. 2.假设后面的人没说谎,并将此作为已知条件,然后从后 ...