视频剪辑,人脸贴纸美颜特效数字图像处理背后的技术-Qt版本
Qt能做什么?其实大部分都是一些c++最擅长的领域,客户端软件,工具软件。
Qt最擅长什么?这个看主流的行业巨头,比如Autodesk的3D建模动画软件maya, Adobe的3D贴图绘制软件SubstancePainter,音视频剪辑软件三巨头之一达芬奇。这三家都是行业垄断巨头之一,所以2010年之后,我们说Qt开发过什么软件,就不能只说vlc,googleEarth了。
甚至你跑到开源社区去看,80%以上的视频剪辑软件,都是会用Qt来写。前几天看某短视频公司的免费PC/mac客户端视频剪辑软件,也用Qt。为什么,因为擅长干这个。而且最主要的是跨平台,开发一次,同时部署windows+macOS(千万别小看macOS 8%的市场份额,主流的商业软件,都会去抢这8%的高净值人群市场,而且都愿意付费。北美,一些欧洲国家macOS份额甚至超过50%)。大部分游戏引擎场景编辑工具,也是Qt来写。
如果你仅仅把Qt在Windows上当MFC用,那就没发挥出它应有的优势。仅仅说比MFC好用一点。
所以综上,Qt最擅长的其实是 工具软件,3D工业级软件,设计软件。音视频数字图像处理软件。而且这话不是我说的,而是整个行业,从2010年以后,十多年,商业公司,包括几亿用户验证下来的。
当然,Qt作为一个非常重要的写界面和c++业务的开发框架,仅仅用Qt,是干不了这些复杂的软件的。开发音视频,视频剪辑软件,还需要学习音视频开发。音视频开发,也包括很多内容。所以,写过两三年Qt普通界面业务的程序员,可以进一步深入学习Qt更专业的开发,音视频数字图像处理。这个领域,有非常庞大的就业机会,入门级别的年薪30k+, 高阶可以达到50K+级别。
回到我们今天要讨论的主题:视频剪辑,贴纸特效背后的技术。我们分为几个重要的点。
1 FFmpeg音视频开发基础。FFmpeg库,编解码,音视频同步,播放器,aac,封装mp4等。
2 OpenGL数字图像处理渲染引擎开发。你看到的所有市面上的视频特效,都基于OpenGL/ES。
3 OpenCV机器学习,人脸标定. 如果我们要做美颜,人脸贴纸,3D表情动画,我们就要做人脸
当然这方面你也可以不自己做,用第三方SDK。当然也有开源的,自己训练下,也能得到很好
效果。
我们今天主要讨论第一,第二点。
如果你做视频剪辑软件,那么如何打开一个视频,对视频接封装,解码出YUV/RGB这样的图片,就是第一步。解码出这些图片,具体怎么在界面上体现出来,进行时间线操作,这个就需要自己用c++ 写一套业务对整个操作流程做一些抽象。第二步,对这些图片进行处理,这些处理包括专场,特效,叠加文字什么的。这个就是OpenGL的天下了。第三步,就是对处理后的图片导出编码写成mp4这种视频。这是一个大概的过程。
如果你在写一个实时的人脸特效,贴纸,表情,动画,第一步同样是从摄像头得到YUV/RGB。第二步,交给OpenGL, 这里我们可以自己去实现一个渲染引擎。场景中除了视频,还可以渲染大量的2D,3D元素。 第三步,同样是实时导出,写mp4. 当然,如果你做成短视频,也可以推流,这就类似当前比较流行的那些短视频人脸特效直播推流。
主要的流程我们画成一个图:其实两种软件整个过程都差不多。
这就是我们讨论的当前最前沿的一些音视频数字图像处理开发的一些技术。
我们经常有同学问,如何在视频上添加水印?如何在视频上添加一些图片,文字,特效。其实我的回答,就是最方便的其实是OpenGL.
当然绝大多数同学说,OpenGL? AVFilter不行吗?其实也行,但那是十年前普遍的处理方式。 OpenGL难学? 其实不难。 大学的线形代数,矩阵不会?其实也不难。学习能力强的,一两周时间就可以掌握基础的OpenGL。然后花上一年半载,写两个相关的项目,就彻底深入理解了OpenGL。如果你没学过OpenGL,那即使你写过再多代码,也真是难为了,真看不懂。
当你学会了OpenGL这把瑞士军刀,那么xxx引擎就该扔了。不需要那么庞大的东西,我们写的东西要短小精悍,在引擎的底层做任意的骚操作,游刃有余。
最后超哥最近开发了一个课程:音视频数字图像处理系列。Qt版本已经上线。教你跑通整个流程。
后面我们会陆续上线Android版,iOS版本的课程。有同学说超哥你疯了吧,你怎么什么都会,其实也不是的,纯c++天然跨平台(Qt也可移植,但移动端不够专业)。掌握下别的平台开发工具,就能轻松移植。音视频开发,到最后,大量的底层代码是可移植的。
课程链接:Qt音视频图像处理开发实战/FFmpeg/OpenGL图像渲染引擎-学习视频教程-腾讯课堂
视频剪辑,人脸贴纸美颜特效数字图像处理背后的技术-Qt版本相关推荐
- 基于SSM+前端的美颜网站(数字图像处理课设必备)
项目地址 美颜网站GitHub链接 界面预览 具体实现在项目中有明确写,看项目就能够看懂. 欢迎关注!! 走过路过,不要错过,请在github赏个star吧!不胜感激
- 美颜算法--数字图像处理作业
1. 简答题 请为图中人做美肌处理,去痘或去皱纹.(2选1,或自选图片) 作业内容请包含所用的算法说明,效果图,主要算法的代码,以及对效果图的分析.所有内容用图片或文字的形式提交,不要用附件. 2. ...
- 大学生学图像处理计算机要求,重点大学计算机教材:数字图像处理
重点大学计算机教材:数字图像处理 语音 编辑 锁定 讨论 上传视频 <重点大学计算机教材:数字图像处理>是2012年机械工业出版社出版的图书,作者是姚敏.[1] 书 名 重点大学计算 ...
- (附源码)python数字图像处理课程平台 毕业设计 242339
Python数字图像处理课程平台的开发 摘 要 数字图像处理是一门新兴技术,随着计算机硬件的发展,数字图像的实时处理已经成为可能,由于数字图像处理的各种算法的出现,使得其处理速度越来越快,能更好的为人 ...
- 用python画微笑脸表情_一种检测视频中人脸微笑表情的方法与流程
本发明涉及视频检测技术领域,特别涉及一种视频中人脸微笑表情的检测方法. 背景技术: 近几年来,表情识别技术在计算机视觉和模式识别领域逐步成为一个重要的研究热点,已经有越来越多的科研成果是基于图像或视频 ...
- (附源码)Python数字图像处理课程平台 毕业设计242339
Python数字图像处理课程平台的开发 摘 要 数字图像处理是一门新兴技术,随着计算机硬件的发展,数字图像的实时处理已经成为可能,由于数字图像处理的各种算法的出现,使得其处理速度越来越快,能更好的为人 ...
- 数字图像处理学习笔记(一)
文章目录 前言 第一章绪论 1.1 什么是数字图像处理 数字图像: 数字图像处理: 像素: 图像处理的三种典型计算处理: 1.2 数字图像处理起源 1.3 数字图像处理应用 1.4 数字图像处理基本内 ...
- 数字图像处理 实验指导书
数字图像处理 实 验 指 导 书 东北林业大学信息与计算机工程学院 计算机科学与技术专业 目 录 1 实验目的与要求------------------------- 2 2 实验环境------- ...
- 加密数字艺术背后你关心的几个问题
加密数字艺术背后你关心的几个问题 Connect Wallet 这是Web3中非常流行的一句话,其实也是Web3的核心要义,即"以用户为中心".将身份主权.数据主权.数据权益等都归 ...
最新文章
- MySQL 的存储引擎
- matlab实战中一些重要的函数总结
- 【错误记录】Android Studio 编译报错 ( VirtualApp 编译 NDK 报错 | Error:A problem occurred configuring project ‘: )
- Uncaught TypeError: Object #Document has no method 'load'
- ubuntu查看gpu使用率_如何监控GPU卡的使用率(Linux)
- linux服务器出现黄,linux服务器出现严重故障后的原因以及解决方法
- 2015年 六·一 儿童节——我
- XX(北京)科技股份公司为啥需要购置服务器?
- 大数据学习——免密登录配置
- sqlite3:unique constraint failed xxx Frame.No
- Android getevent,sendevent,input keyevent
- 电脑常用的十款工具软件
- 关于 DXGI 截图 截屏 获取屏幕
- 如何设置QQ空间免费背景音乐
- 单机版传奇传奇服务端架设传奇服务器架设
- C#-Winform知识点
- bat文件的@echo off是什么作用?
- 工控一体机和常见的平板电脑有什么区别?
- 论文复现-1论文重读:Black-Box Tuning for Language-Model-as-a-Service
- 反斜杠,让您的csv文档字符不撞车;让“借”您csv数据的人叫苦不迭。