chenchao的专栏

使用C/C++,擅长Linux,Android底层,iOS,Qt.专注于音视频,网络通讯协议,流媒体开发.

  • 博客(50)
  • 资源 (2)
  • 收藏
  • 关注

原创 OpenGL ES视频特效开发参考Shadertoy参数详解参考Godot文档

视频特效开发参考Shadertoy参数详解参考Godot文档

2023-08-29 16:03:56 436

原创 Android 视频直播提拉流 嵌入式硬件 流媒体开发详细内容

1 Linux 系统编程网络编程基础2 Linux 网络编程流媒体服务器,客户端开发实践3 Android流媒体客户端 FFmpeg OpenGL ES 开发实践4 Android H.264 AAC 封装mp4开发实战5 流媒体开发实战之Rtmp推流6 流媒体开发实战之RTSP推流7 流媒体开发实战之UDP8 P2P点对点项目开发实践9 WebRTC开发实战

2023-07-08 14:56:01 1989

原创 Android 短视频直播特效,音视频图像处理 FFmepg OpenGLES OpenCV开发详细内容

1 音视频开发基础2 Android OpenGL ES开发基础3 Android FFmpeg OpenGLES 音视频播放器核心开发4 Android FFmpeg H.264 AAC 封装mp45 Android OpenCV 机器学习人脸标定SDK开发实战6 Android OpenCV 开发实践7 Android 短视频App FFmpeg OpenGL ES Op

2023-07-08 14:38:27 978

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

视频剪辑软件上大量的动画啊,特效啊,就可以轻松完成了,像行业知名的视频剪辑软件达芬奇啊,各种开源的视频剪辑软件,包括后来的剪映,都在用Qt开发视频剪辑软件。Qt封装后的OpenGL非常的优雅,我之前学OpenGL学了七八年都没啥长进,后来我自己去看了QtOpenGL的源码,很多东西就搞明白了,进步非常快。大家都知道啊,做嵌入式linux设备,一些没有屏幕,比如安防摄像头,门铃之类的,另外一些嵌入式设备是有触控屏,在触控屏上还跑应用软件的,这种比如商场各种自动售卖机,铁路卖票,银行自助服务,车载系统等。

2023-06-21 10:39:06 1505 1

原创 音视频开发Level0: 入门级20~25k的工作

音视频开发Level0: 入门级20~25k的工作 1 c c++,懂FFmpeg音视频解码, 懂点OpenGL渲染,不懂OpenGL,用SDL这些第三方库也可以。iOS,Android从事这种产品开发,一般工资在20~25k之间,也有18k左右的。

2023-06-17 13:52:48 1845

原创 WWDC2023 Metal swift 头显ARKit支持c c++ 开发

WWDC2023 Metal swift 头显ARKit支持c c++ 开发 VR AR MR开发时代,音视频,图像处理开发技术,尤其是OpenGL ES是最基础的技术。这里给大家推荐我个人的音视频,图像处理开发系列课程。

2023-06-16 18:00:19 1662

原创 苹果头显Vision Pro深度解读3 苹果头显visonOS开发指南

苹果头显Vision Pro深度解读3 苹果头显visonOS开发指南 VR AR MR开发时代,音视频,图像处理开发技术,尤其是OpenGL ES是最基础的技术。这里给大家推荐我个人的音视频,图像处理开发系列课程。

2023-06-15 14:38:52 2032

原创 苹果头显Vision Pro深度解读2 软件开发者谁最受益?

苹果头显Vision Pro深度解读2 软件开发者谁最受益?VR AR MR开发时代,音视频,图像处理开发技术,尤其是OpenGL ES是最基础的技术。这里给大家推荐我个人的音视频,图像处理开发系列课程。

2023-06-15 14:28:00 532

原创 苹果头显Vision Pro深度解读1 下一个十年计算机行业的标杆

苹果头显Vision Pro深度解读: 下一个十年计算机行业的标杆。VR AR MR开发时代,音视频,图像处理开发技术,尤其是OpenGL ES是最基础的技术。这里给大家推荐我个人的音视频,图像处理开发系列课程。

2023-06-15 14:20:02 485

原创 2023~2030高级程序员必备知识体系结构

高级程序员必备知识体系结构

2023-06-15 11:55:40 183

原创 2023音视频开发程序员未来10年路线选择

音视频领域,其实你可以分三个部分来看,第一是音视频本身,第二是网络通讯,第三是图像处理。未来音视频开发应该学习什么? 本文详细分析。

2023-05-29 14:11:07 494

原创 WWDC2022最大的亮点: MetalFX

WWDC2022最大的亮点: MetalFX, 类似DLSS,一种基于深度学习的超级采样技术。可以让游戏玩家畅玩4K,8K分辨率的游戏。

2022-06-09 15:09:44 1748 1

原创 学员新课题:从Qt复杂控件自定义到基于VR的交互实现

2018年推出的Qt复杂控件自定义系列课程,分为两个课程,第一个课程讲得比较多的一些基础,第二个课程更侧重于更复杂的交互,以及利用向量等数学方法去解决问题。课程地址:https://download.csdn.net/course/detail/24587https://download.csdn.net/course/detail/27479这个系列课程总体比较简单初级,但做这个课程的重要意义在于,程序员要多动手去写,并多思考总结。 写GUI这个活,在很多人看来可能是相当low的,其实也不

2022-05-21 01:01:49 780

原创 回答:关于Qt QtQuick写跨平台图像处理软件的问题

目标是用qt quick 实现一款跨android、ios/mac、windows的图像处理app。需要用GPU加速提高图像处理速度。我这目前了解到的方案:c++端使用GPU的途径:1、使用Qt3D的c++api;(略了解些,各平台抽象过的API,略麻烦,好像简单的渲染都要遵从ECS模型)2、使用Quick3d的c++api;(在qt文档中查到的资料也比较少)3、使用QRhi的c++api;(这个在qt文档中比较少查到,是不是就是Qt3d改的)4、直接使用opengl/metal的api;(这

2022-05-21 00:16:53 534

原创 OpenGL渲染引擎开发之FreeImage macOS上的c99编译错误

FreeImage是一个非常好的支持非常多图片格式的库。写跨平台渲染引擎的时候,如果不想依赖各个平台的API,是一个非常好的选择。但在macOS上,我们这里下载的是SourceForge上的最新版本FreeImage3180.zip如果不喜欢brew下载,自己下载编译,会遇到一些问题。首先是C99的错误。在这里,brew里面很早就有开发者反应过这个问题,并提交了补丁,我们只需要将这些补丁下载下来,自己打上补丁,然后编译即可。source/zlib/gzlib.c:252:9: err

2022-05-09 19:33:45 669

原创 Metal Blender3.1 GPU渲染 M1 Pro与RTX3060对比

苹果Metal已经推了七八年了,但很难。行业大量的主流设计类软件还在跑OpenGL。之前讲过,Blender甚至一度想用moltenVK vulkan跨平台方案。当然,随着M1 Pro , M1 Max芯片推出,以及Metal C++ API的支持,这一切将会发生改变.苹果前几个月加入了Blender基金会,出钱,出工程师帮Blender开发Metal版本的cycles渲染器.并且预计将在2022年5月份推出Blender3.1的时候完全支持Metal cycles渲染。但是,真正能正常

2022-01-01 13:26:17 4576

原创 35岁音视频网络通讯图像处理程序员正式进军元宇宙.

35岁音视频网络通讯图像处理程序员超哥正式进军元宇宙.

2021-12-24 17:44:02 6275 6

原创 看苹果Metal支持c++开发

今年五月份开始,苹果的Metal图形接口悄悄开始支持C++开发.比这对此表示高度赞誉,类似于macBook pro回归支持了HDMI,非常务实的做法。当然metal 支持c++开发的影响非常深远。笔者前天看到这个消息,昨天晚上熬夜也将之前写的一些Metal代码,花了两个小时,快速改成了C++版本。消费还非常好。苹果2014年开始推Metal,17年开始不更新OpenGL,然后给OpenGL开发者还造成了一定的恐慌,其实结果来看,8年时间,Metal推不动,苹果系统依然保留了OpenGL

2021-12-10 20:23:40 3195

原创 网络通讯开发中命令行程序如何体面结束

今天写一篇非常基础简单的文章,说说网路通讯程序如何体面结束进程释放资源。开发Linux/mac 这种类unix网络socket通讯程序过程中。我们如何体面结束程序,释放对应的资源,而不是直接ctrl-c结束进程.1 使用signal信号,主动捕获SIGINT信号。释放相应的资源.比如我们之前的Linux音频采集的代码://利用m_bRecording = false退出对应的线程,释放资源void stopRecording(){ printf("\n signal St

2021-11-24 12:07:28 1396

原创 VMware+ubuntu无法打开摄像头或打开摄像头慢问题

VMware+ubuntu无法打开摄像头或打开摄像头慢问题

2021-11-22 18:06:06 1452

原创 Linux ALSA 音频采集

在原生Linux上,我们使用ALSA库进行音频采集。在安卓上,使用OpenSL ES。下面,超哥提供一段代码给音视频开发初学者,对于认识音频参数比如采样率,通道,位,码率有很好的帮助。首先 sudo apt-get install libalsa-ocaml-dev 下载alsa开发库。然后安装cmake vscodesudo apt-get install cmake下载vscode以后,安装cmake tools c++工具代码中使用了Linux 信号,完整结束程序,写入pc

2021-10-27 12:21:46 2306 2

原创 从苹果加入Blender基金会看Metal发展

2021年10月14日,苹果加入了Blender基金会,作为赞助会员。赞助会员是最高级别的会员,有AMD EPIC Unity AWS Facebook Nvidia.清一色的业内跟游戏,VR/AR, 图形图像相关的公司。https://www.blender.org/press/apple-joins-blender-development-fund/以下图片来自于Blender官网:Blender用的人越来越多,有点像3D建模动画领域的Linux,这些年影响力也越来越强。苹果推出M1的时

2021-10-19 07:13:20 1227

原创 推荐未来5~10年值得学习的OpenGL前沿开源项目

学完OpenGL,哪些前沿的开源项目,值得学习? 超哥今天给大家推荐:重点关注再未来5~10年有市场比较受欢迎的两大主题:1 跨平台OpenGL Metal Vulkan DX 图形接口C++ 抽象层。2 基于物理的实时渲染。GitHub - egorodet/MethaneKit: ???? Modern 3D graphics made simple with C++17 cross-platform app framework and rendering abstraction API on ..

2021-10-16 13:35:16 1675

原创 学完音视频FFmpeg OpenGL后内部练习题

学完FFmpeg OpenGL图像处理课程后,一定要做几个小项目去实践,慢慢就学精了。否则大半年不写就忘记了,下面分享我们内部一些练习小项目。0 夯实数学基础,整理一套自己的向量,点乘,差乘,欧拉角,四元素,齐次坐标,矩阵,平移矩阵,旋转矩阵,缩放矩阵,逆矩阵数学,几何原理,观察者矩阵,正交投影,透视投影,法线贴图TBN矩阵,推导过程,深入理解图形变换管线。写一套简单可用的类似glm的数学库。这个是练基础内功。1 模仿GPUImage, 做一个自己的版本的视频特效实时处理,录制的软件。支持多个特效

2021-10-12 12:18:02 387

原创 Qt OpenGL windows找不到glActiveTexture解决方法

今天写一篇非常初级的,入门级的文章。我们Qt OpenGL教程中有同学反映Windows下找不到glActiveTexture,这里就统一给大家说说mac/windows Qt OpenGL跨平台开发的解决方法。Qt结合OpenGL开发,非常适合做一些音视频,图像处理,以及一些3D工具软件。为了最大限度发挥Qt的优势,我们一开始就定位为Windows/Mac跨平台开发。因为全球大概有20%的高端用户使用mac电脑。所以使用Qt开发,可以一次开发多平台部署。首先,在pro文件中,要这样声明,mac

2021-10-11 11:33:14 567

原创 Android NDK开发FFmpeg/OpenGLES/OpenCV问题汇总

之前Qt的人脸特效方面的c++项目,用到的库很多,FFmpeg OpenGL OpenCV libYUV GLM...最近决定同样的东西,在安卓上做完整做一次。虽然大部分都是标准c/c++但移植过程,也出现了很多小问题,麻烦。这些小问题,麻烦虽然都能拐个弯解决,但总结其实就是,安卓开发其实要比Qt,iOS麻烦一些。很多东西并不能一步到位。尤其一些c c++项目,并不像ios qt那样,基本不怎么改就能直接跑起来。安卓上光c++库就好几个。libc++ gunc++。。 而且版本不兼容。 ...

2021-09-19 13:09:33 981

原创 音视频开发三大就业方向

音视频开发,无论你做iOS/Android/Qt客户端,还是嵌入式linux,服务器开发。最后可分为三大就业方向:1 流媒体网络通讯开发流媒体网络通讯开发岗位 占70%~ 80%,就业,集中在芯片,安防,数字电视,广告,行车记录仪,车载系统,智能家居,楼宇对讲,视频会议....大部分从业者吃饭靠这个领域。需要掌握的是unix操作系统,网络socket通讯, 音视频基础,264/265基础,编解码,FFmpeg,常见的网络通讯协议TCP/UDP/RTMP/RTSP/RTP/HLS,当然还有W.

2021-09-19 12:41:28 1993

原创 我为什么不再使用游戏引擎

本人作为linux粉丝,大学从接触计算机打字开始,就没使用过windows,原因是电脑跑不了xp,当年500块在网吧淘了一个386的电脑,主屏567MHZ,内存32M. xp需要最低128M内存。所以大学基本上都在研究linux,写linux上的代码。2012年写了两年嵌入式Linux软件开发后,决定从某外企离职,出来开发手机应用。开发手机应用首先想到的是游戏,毕竟这玩意儿最搞钱,移动领域收入80%来自游戏。当然后来各种机缘没去开发游戏,但对unity3d技术比较好奇,所以也陆续研究了很多年。中途付

2021-09-19 00:39:40 391

原创 OpenGL/Vulkan/Metal除了写游戏引擎还能干啥?

用OpenGL去写游戏引擎,不是重复造轮子吗?Unreal Unity3d都已经接近免费。开源社区有非常多的免费的好的项目,比如Godot,Urhoo3D,cryEngine... 其实真的是这样的。只能说有技术梦想,情怀的人,才会去干这事儿。从技术的角度,游戏引擎其实技术还满复杂的。大量的事要去做。虽然有很多开源项目可以学习,但学习起来也很累。而且在这个功利化的时代,搞游戏引擎开发,不一定能找到一份高薪的工作。因为绝大多数游戏厂商,能把Unreal Unity3d用好就不错了。软件产品,别人会不会采用

2021-08-05 16:45:41 1233

原创 视频剪辑,人脸贴纸美颜特效数字图像处理背后的技术-Qt版本

Qt能做什么?其实大部分都是一些c++最擅长的领域,客户端软件,工具软件。Qt最擅长什么?这个看主流的行业巨头,比如Autodesk的3D建模动画软件maya, Adobe的3D贴图绘制软件SubstancePainter,音视频剪辑软件三巨头之一达芬奇。这三家都是行业垄断巨头之一,所以2010年之后,我们说Qt开发过什么软件,就不能只说vlc,googleEarth了。甚至你跑到开源社区去看,80%以上的视频剪辑软件,都是会用Qt来写。前几天看某短视频公司的免费PC/mac客户端视频剪辑软件,也用

2021-08-05 12:57:49 991 1

原创 公司使用Qt到底要不要付费?

有小朋友问(此处不应该是李永乐老师的小朋友),公司在大量使用Qt作为基础开发框架,公司也比较懵,使用Qt开发商业软件,到底是否需要付费?作为一个十几年Qt使用经验的老c++程序员,今天就来回答这个问题。Qt能获得如此的成功,得益于LGPL协议,都知道GPL是非常严格,不能开发闭源商业软件的。但LGPL允许你使用动态链接的方式开发闭源商业软件。所以Qt正是因为LGPL,获得了巨大的成功。我们要定义软件基础框架的成功,需要从几个纬度,1 开发者人数,社群, 2 软件代码的质量,稳定性。 3 成功的商

2021-01-01 14:32:33 38570 65

原创 音视频开发技术天梯202X

音视频,图像处理,网络通讯,是相结合的。 随着网络带宽越来越快,音视频代替文字,图片,成为互联网人类信息交流的最基本的载体。 是社会发展的必然趋势。我相信未来几十年都这样。所以音视频数字图像处理,网络通讯够让你研究几十年。国外很多大神,在一个领域,都是研究二十年以上,研究越久,越资深。在技术领域,深入去研究,就不会有35岁烦恼。音视频开发领域,什么知识容易,什么东西难学,前面的一些山怎么翻,以下给大家明确地列出来。学习音视频开发需要的基础:C/C++ 开发功底,最少大学本科C语言基础。Linux

2021-01-01 13:22:27 1569

原创 FFmpeg 音视频开发 20 年

感谢小编邀请,让我写下FFmpeg20年这么有历史厚重的话题。写文章其实比录视频教程要求高很多,要字斟句酌,逻辑严密,理论知识严谨。由于个人文笔实在有限,长期以来,不敢随便写文章,更不敢出书,更不敢妄论FFmpeg,更何况很多资深从业者在这个领域很多年靠它吃饭,其中包括很多年赚10亿+的上市公司。GPL/LGPL错综复杂的开源社区与商业项目的感情交织,牵涉很多人的利益,所以聊这个话题,稍不注意就会被围攻。只能说从一个10年+音视频行业开发者,FFmepg使用者的角度,谈一些自己的经历,看法。给大

2020-12-22 16:27:01 18520 37

原创 下一代虚拟直播技术成果, A12芯片,iPhoneXR 60FPS 3个月前的第一版.

下一代虚拟直播技术成果, A12芯片,iPhoneXR 60FPS 3个月前的第一版. 贴出来,新的更好用的东西正在努力研发中... A12芯片只有5TFLOPS算力,60FPS有点拖帧,但也能用.B站视频链接:下一代虚拟直播技术成果, A12芯片,iPhoneXR 60FPS 3个月前的第一版.顺便打个小广告:个人在csdn学院的音视频,网络通讯,数字图像处理教程.https://edu.csdn.net/combo/detail/1932QQ: 247516414.

2020-12-07 18:35:28 480

原创 下一代虚拟交互,虚拟直播技术A14芯片(iPadAri2020)测试60FPS, 人体追踪,半身人体追踪

下一代虚拟交互,虚拟直播技术A14芯片(iPadAri2020)测试60FPS, 实时人体追踪,人脸,半身人体追踪.下一代虚拟交互,虚拟直播技术A14芯片(iPadAri2020)测试60FPS 三个月前的版本,新的更加精准好用的版本正在努力开发中。随着边缘AI芯片算力的提升,过去几年的很多设备没什么用了。比如leapmotion,kinect,realscene.B站视频demo链接:下一代虚拟交互,虚拟直播技术A14芯片(iPadAri2020)测试60FPS, 人体追踪,半身人体追

2020-12-07 18:30:30 551

原创 用Qt5的 QMultiMedia 音频视频采集的限制

本文内容截止Qt5.14版本。Qt应该很早就提供了MultiMedia 这样一个多媒体开发框架用于开发常见的音视频处理。比如音乐,视频的播放。 做个简单的音乐视频播放器,在规定的平台,用规定的格式,比如mp3 mac平台播放mp4都没什么问题。在linux平台,Multimedia需要安装libpulse-dev依赖库。所以说,做个简单的有限的格式的播放器,没有什么问题。做p...

2020-01-17 13:33:24 5462

原创 C++ Qt5复杂控件自定义 写一个精美的音乐播放器

C++ Qt学员练习题目:用C++ Qt5 写一个精美的音乐播放器,模拟cd交互。所有控件全部自定义,全部继承自QWidget绘制。拖动控制摇杆的磁头部位,音乐seek到一定的位置。一行代码都不用修改,同时支持Windows macOS。视频地址:https://edu.csdn.net/course/detail/27479...

2020-01-16 00:20:04 981

原创 音视频开发2~3万薪水报告

此文源于 《FFmpeg音视频开发实战》 QQ群 内部分享。注: 这里的多少家公司招聘,不代表只有这么多工作岗位。比如iOS,每年国内工作岗位需求是50万+级的,但是目前只有13000多家公司在招人。公司招人不止招一人。2019-8-25 51job 招聘数据调查报告:2~3万月薪的FFmpeg 和 webrtc岗位,目前有210多个公司正在招。iOS开发, 全国有13...

2019-08-25 20:19:20 1320

原创 WebRTC iOS/Android Native C++ 全平台深度开发 MacOS 基于最新WebRTC2019 M71 M72版本.

WebRTC iOS/Android移动端客户端开发,API集成度非常高。相对来说比较容易。我们这里就不贴出来了。详情看具体链接.WebRTC开发,重点在于整个交互流程。从PeerConnection开始,SendOffer, 获取SDP,发送SDP,获取/发送ICE。 这个流程,非常重要。我们来看看Mac OS 下的效果: (Mac OS下其实可以跟iOS一样,基于object-c的we...

2019-08-13 15:02:29 869

原创 WebRTC iOS/Android Native C++ 全平台深度开发 Ubuntu 基于最新WebRTC2019 M71 M72版本.

WebRTC iOS/Android移动端客户端开发,API集成度非常高。相对来说比较容易。我们这里就不贴出来了。详情看具体链接.WebRTC开发,重点在于整个交互流程。从PeerConnection开始,SendOffer, 获取SDP,发送SDP,获取/发送ICE。 这个流程,非常重要。我们先看Ubuntu/ 嵌入式Linux下的效果:具体详情:FFmpeg音视频开发 第...

2019-08-13 14:52:50 940

FreeImage 3.18 macOS上可用的版本。

FreeImage 3.18 macOS上可用的版本。解决了c99编译问题,以及链接问题.

2022-05-09

FFMPEG iOS armv7 armv7s arm64 i386 X86_64

17.8M 裁剪版本,支持H.264解码,mp4视频录制,aac编码,解码

2015-04-27

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除