音视频开发:Qt在视频剪辑3D桌面软件获胜, 嵌入式不敌安卓

news/2024/7/21 4:25:34 标签: qt, 开发语言, 音视频, 图像处理

1 Qt Android嵌入式应用层开发方向对比  

大家都知道啊,做嵌入式linux设备,一些没有屏幕,比如安防摄像头,门铃之类的,另外一些嵌入式设备是有触控屏,在触控屏上还跑应用软件的,这种比如商场各种自动售卖机,铁路卖票,银行自助服务,车载系统等。

10年前,我大学毕业那个时候,由于安卓刚开始出现在手机上,还没现在这么火爆,那个时候,做嵌入式界面的,一般会选择Qt,或者miniGUI,还有一些高级一点的车载系统会选择vxwidget等。

嵌入式设备这个领域,卖的是硬件,硬件靠的是出货量,所以做硬件开发的老板,都是在想尽各种办法控制成本。能省一毛钱,就一定要省,因为你出1000万台,就省了100万,那就是利润。

所以10年前,当时的手机芯片价格还很高,那个时候,开发带触控屏幕的嵌入式系统,很多公司都会选择Qt,因为当年啊,国外还是有很多出嵌入式linux芯片方案的厂商。

后来由于手机芯片大规模出货以后,导致手机芯片价格大幅降低,这个时候,自己做linux系统,用Qt或者别的UI框架开发嵌入式,无论从芯片还是软件方面,成本就很高了。

而且行业做安卓嵌入式的方案商也非常多。所以当前做嵌入式系统,用Qt一般都是国内外的大公司才有实力去做了。 中小公司,从成本考虑,做带触控屏幕应用的嵌入式设备,首选的就是Android,这也是大势所趋。

做嵌入式不选Qt,但是做pc mac跨平台应用软件,音视频,图像领域的软件,Qt依然是首选。

2 80%的视频剪辑软件都是qt开发的  

Qt在2010年之前被Nokia收购,准备用于手机开发,后来因为Nokia手机失败,Qt就变得命途多舛,虽然Qt错过了移动手机开发,但是Qt在PC Mac应用软件开发上,从2010年以后获得了巨大的成功。

Qt最后也独立出来,成为芬兰的一个上市公司。员工有300多人,一年营收几千万欧元。

Qt从5.0之后,跟OpenGL进行了深度整合,正是这个原因,它天然就适合做图像处理类软件,比如3D建模动画软件maya就是用Qt开发的。

大家都知道啊,OpenGL虽然发展了二三十年了,但是发展前十几年,很多电脑其实是不支持的,比如2008年那个时候我的一个台式机,打开OpenGL应用,他就会提示我没有OpenGL驱动。

但是2010年以后,随着intel处理器集成显卡默认支持了OpenGL,于是OpenGL在电脑上后来就成了标配。正是因为这个原因啊,大量的机遇OpenGL的软件应用得以普及。这就导致视频剪辑软件这个行业,发生了翻天覆地的变化。之前的视频剪辑处理,特效很多时候都要靠cpu去处理。

有了OpenGL以后,我们把每一帧图片交给OpenGL,这个时候OpenGL就变成了比phtoshop还强大的工具。视频剪辑软件上大量的动画啊,特效啊,就可以轻松完成了,像行业知名的视频剪辑软件达芬奇啊,各种开源的视频剪辑软件,包括后来的剪映,都在用Qt开发视频剪辑软件。这就导致了市面上绝大多数剪辑软件,都在用Qt,因为它天然适合干这个。

Qt封装后的OpenGL非常的优雅,我之前学OpenGL学了七八年都没啥长进,后来我自己去看了QtOpenGL的源码,很多东西就搞明白了,进步非常快。包括后来我们的视频课程,里面的OpenGL,就借鉴了Qt的OpenGL封装的思想。所以做视频剪辑软件,首选Qt。

Qt还有另外一个优势,就是跨平台,你看达芬奇,去年非常轻松就推出了iPad版本的视频剪辑软件。Qt目前在iOS/Android/PC/Mac/Linux几乎所有平台上都能跑,如果你做类似的软件,写一次代码,稍微修改,可以到处跑。

 

VR AR MR开发时代,音视频图像处理开发技术,尤其是OpenGL ES是最基础的技术。

这里给大家推荐我个人的音视频图像处理开发系列课程。

 


http://www.niftyadmin.cn/n/456585.html

相关文章

Python采集二手房源数据信息并做可视化展示

目录标题 前言环境使用:模块使用:python技术实现: <基本流程步骤>代码展示尾语 前言 嗨喽~大家好呀&#xff0c;这里是魔王呐 ❤ ~! 环境使用: Python 3.8 jupyter --> pip install jupyter notebook pycharm 也可以 模块使用: requests >>> pip instal…

【C++篇】模板

友情链接&#xff1a;C/C系列系统学习目录 知识总结顺序参考C Primer Plus&#xff08;第六版&#xff09;和谭浩强老师的C程序设计&#xff08;第五版&#xff09;等&#xff0c;内容以书中为标准&#xff0c;同时参考其它各类书籍以及优质文章&#xff0c;以至减少知识点上的…

深入浅出vite(一)--vite的优点及原理、性能优化

Vite 需要 Node.js 版本 14.18&#xff0c;16。然而&#xff0c;有些模板需要依赖更高的 Node 版本才能正常运行&#xff0c;当你的包管理器发出警告时&#xff0c;请注意升级你的 Node 版本。 背景 webpack支持多种模块化&#xff0c;将不同模块的依赖关系构建成依赖图来进行…

【算法设计与分析】期末考试知识总结(知识超浓缩版)

目录 简要介绍 复杂度 迭代 插入排序 二分查找 快排划分 选择排序 计数排序 基数排序 桶排序 递归 递归式的计算-四种方法 欧几里得算法 汉诺塔问题 快速排序 归并排序 堆排序 分治 二维极大点问题 一维最邻近点对 二维最邻近点对 逆序对的数目 凸包 最大字段…

LeetCode 2090. K Radius Subarray Averages【前缀和,滑动窗口,数组】中等

本文属于「征服LeetCode」系列文章之一&#xff0c;这一系列正式开始于2021/08/12。由于LeetCode上部分题目有锁&#xff0c;本系列将至少持续到刷完所有无锁题之日为止&#xff1b;由于LeetCode还在不断地创建新题&#xff0c;本系列的终止日期可能是永远。在这一系列刷题文章…

【C++篇】STL标准模板库

友情链接&#xff1a;C/C系列系统学习目录 知识点内容正确性以C Primer&#xff08;中文版第五版&#xff09;、C Primer Plus&#xff08;中文版第六版&#xff09;为标准&#xff0c;同时参考其它各类书籍、优质文章等&#xff0c;总结归纳出个人认为较有逻辑的整体框架&…

pytorch自学笔记——线性回归

import numpy as np import torch from torch.utils import data #处理数据的模块 from d2l import torch as d2l #生成数据集&#xff0c;这里可以不用看 true_w torch.tensor([2, -3.4]) true_b 4.2 features, labels d2l.synthetic_data(true_w, true_b, 1000) …

11.创建CentOS虚拟机

创建不同类型的实例虚拟机&#xff0c;我们是需要根据需求来准备镜像上传到glance&#xff0c;注意 ISO 镜像上传上去是没法直接使用的&#xff0c;需要将 ISO 镜像转变成qcow2磁盘文件&#xff0c;然后上传磁盘文件&#xff0c;就可以创建云主机。 官方镜像仓库地址&#xff1…