本篇作为技术分享系列的第三篇,详细讲一下手绘视频中结合视频的处理方式。

随着近几年短视频和直播行业的兴起,视频成为了人们表达情绪和交流的一种重要方式,人们对于视频的创作、编辑和分享有了更多的需求。而视频的编辑、剪辑方式,也由过去需要借助专业的视频剪辑软件,专业的视频剪辑操作者操作,变为现在的普通用户可以使用视频类 App 很方便的创作出视频。

短视频和直播类 App 对于视频的处理,主要集中在:滤镜、美颜、贴纸、视频剪切和拼接、视频变速、音轨合成,这些实现基本都是基于 OpenCV、OpenGL 和 FFMpeg 的实现,这里我们不多做介绍,本篇主要介绍的是手绘视频中插入视频文件的处理和视频中加入手绘视频元素的处理。

这两种形式的应用场景很多,例如手绘视频中有一个电视机框,视频在框内播放;再比如视频为天气预报,周围加上手绘视频的人物元素,形成人物解说的形式;再比如最常见的在视频中加入一些手绘视频元素,做成动态特效或字幕/表情等,下面是几个例子:

  

  

上面例子的结合方式分别是:

1) 黑板部分为插入的视频,周围是手绘人物和手势,字幕等;

2) 电视机框内是插入的视频,周围手绘视频元素营造一个观看电视的场景;

3) 电视框内是插入的视频,手绘视频元素营造播报新闻的场景;

4) 这个是我临时做的,在视频中插入手绘视频元素,主体还是视频,做出一些特效等。

下面先介绍手绘视频中插入视频文件的处理:

以上面前三张图为例,这种结合方式中插入的视频,都是把视频以固定大小放在了固定的位置,在设定的开始时间开始出现,播放完成后消失。而声音处理方面,在视频出现后,手绘视频的背景音乐需要和视频的声音做音轨合成。结合前面几篇说的 SVG 的绘制和文字的绘制,整体流程:

接下来是视频中插入手绘视频元素的处理:

这种情况以第四张图为例,这种方式,我们认为视频会维持原本的尺寸和帧率,而手绘视频元素,在指定时间,以指定的速度角度和指定的起始终止位置出现,动画播放完成后,或维持在原位置,或消失。整体流程:

上面两种方式的整体流程中,大部分流程是共通的,或者说第二种情况是第一种情况的一个特例,它指定的视频宽高就是视频的宽高,视频之外不存在手绘元素。而且视频固定出现在层级的最底层。

流程中大部分操作都是比较常规的音视频操作,如解析视频文件、合成音轨、视频帧序列生成视频文件等。其中关键的一个步骤是视频每一帧的获取,因为涉及到各种元素的动画,所以这个获取过程的原理是:在后台运行一张画布,把每个需要渲染的元素动画,按照实际动画属性去渲染,包括位置、速度、角度、层级覆盖关系等,然后按照导出视频指定的帧率去截取画布生成视频帧。

到这就把手绘视频与视频的结合介绍完了,实现过程相对简单,但是应用场景很广泛,如果有更有趣的场景,欢迎交流!

UWP 手绘视频创作工具技术分享系列 - 手绘视频与视频的结合的更多相关文章

  1. UWP 手绘视频创作工具技术分享系列 - 手绘视频导出

    手绘视频最终的生成物是视频文件,前面几篇主要讲的是手绘视频的创作部分,今天讲一下手绘视频的导出问题.主要以 UWP 为例,另外会介绍一些 Web 端遇到的问题和解决方法. 如上所述,手绘视频在创作后, ...

  2. UWP 手绘视频创作工具技术分享系列

    开篇先来说一下写这篇文章的初衷. 初到来画,通读了来画 UWP App 的代码,发现里面确实有很多比较高深的技术点,同时也是有很多问题的,扩展性,耦合,性能,功能等等.于是我们决定从头重构这个产品,做 ...

  3. UWP 手绘视频创作工具技术分享系列 - 全新的 UWP 来画视频

    从2017年11月开始,我们开始规划和开发全新的来画Pro,在12月23日的短视频峰会上推出了预览版供参会者体验,得到了很高的评价和关注度.吸取反馈建议后,终于在2018年1月11日正式推出了全新版本 ...

  4. UWP 手绘视频创作工具技术分享系列 - 有 AI 的手绘视频

    AI(Artificial Intelligence)正在不断的改变着各个行业的形态和人们的生活方式,图像识别.语音识别.自然语言理解等 AI 技术正在自动驾驶.智能机器人.人脸识别.智能助理等领域中 ...

  5. UWP 手绘视频创作工具技术分享系列 - Ink & Surface Dial

    本篇作为技术分享系列的第四篇,详细讲一下手绘视频中 Surface Pen 和 Surface Dial 的使用场景. 先放一张微软官方商城的图,Surface 的使用中结合了 Surface Pen ...

  6. UWP 手绘视频创作工具技术分享系列 - SVG 的解析和绘制

    本篇作为技术分享系列的第一篇,详细讲一下 SVG 的解析和绘制,这部分功能的研究和最终实现由团队的 @黄超超 同学负责,感谢提供技术文档和支持. 首先我们来看一下 SVG 的文件结构和组成 SVG ( ...

  7. UWP 手绘视频创作工具技术分享系列 - 文字的解析和绘制

    本篇作为技术分享系列的第二篇,详细讲一下文字的解析和绘制,这部分功能的研究和最终实现由团队共同完成,目前还在寻找更理想的实现方式. 首先看一下文字绘制在手绘视频中的应用场景 文字是手绘视频中很重要的表 ...

  8. UWP 手绘视频创作工具技术分享系列 - 位图的绘制

    前面我们针对 SVG 的解析和绘制做了介绍,SVG 是图片的一种形式,而另一种很重要的图片是:位图,包括 png.jpeg.bmp 等格式.位图的基本规则是,组成的基本元素是像素点,由宽度 * 高度个 ...

  9. 腾讯技术分享:微信小程序音视频技术背后的故事

    1.引言 微信小程序自2017年1月9日正式对外公布以来,越来越受到关注和重视,小程序上的各种技术体验也越来越丰富.而音视频作为高速移动网络时代下增长最快的应用形式之一,在微信小程序中也当然不能错过. ...

随机推荐

  1. Centos下抓包

    刚才遇到一个问题,微信配置时token总是失败. 于是抓一下服务器的包.看看是否是数据传输出了问题. 先安装工具 [Shell] 纯文本查看 复制代码 ? 1 yum install -y wires ...

  2. Android测试:Fundamentals of Testing

    原文地址:https://developer.android.com/training/testing/fundamentals.html 用户在不同的级别上与你的应用产生交互.从按下按钮到将信息下载 ...

  3. js模拟静态方法

    //模拟静态 var Animal = function(name){ this.name = name; Animal.instanceCounter ++; }; Animal.instanceC ...

  4. MyEclipse激活步骤

    1.前言:   MyEclipse 成功安装后使用天数仅仅有30天,打开软件后常常会弹出提醒我们在5天内要激活的对话框.没有激活的话,时间一到就不能使用了. 众所周知,中国的软件是不用花钱的,这里就介 ...

  5. caffe在windows编译project及执行mnist数据集測试

    caffe在windows上的配置和编译能够參考例如以下的博客: http://blog.csdn.net/joshua_1988/article/details/45036993 http://bl ...

  6. 改动hosts权限

    在屏蔽网页.訪问一些特定局域网的时候,都可能须要改动Hosts文件. 只是在改动Hosts文件后.会遇到无法保存的情况,提示"您没有权限在此位置中保存文件,请与管理员联系以获取对应权限&qu ...

  7. kotlin web开发教程【一】从零搭建kotlin与spring boot开发环境

    IDEA中文输入法的智能提示框不会跟随光标的问题 我用的开发工具是IDEA 这个版本的IDEA有一个问题: 就是中文输入法的智能提示框不会跟随光标 解决这个问题的办法很简单,只有在安装目录下把JRE文 ...

  8. Mac环境下实现alias重命名命令(永久生效)

    Mac环境下实现alias重命名命令 iOS Dev在使用Xcode完成代码编写后,可能需要上传至第三方分发应用给测试人员进行相关测试,比如蒲公英.FIR. 效率较高的上传方式是借助于Fastlane ...

  9. Bat脚本命令说明

    命名参考 使用方式如果不知道如何使用就到cmd窗口键入help 命名名 例如:"help del" 命令名 注释 ASSOC 显示或修改文件扩展名关联. ATTRIB 显示或更改文 ...

  10. 【ANT】运行JMeter用例的build.xml

    <?xml version="1.0" encoding="UTF-8"?> <!-- Licensed to the Apache Soft ...