自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(5)
  • 收藏
  • 关注

原创 WebRTC线程介绍

这里面这个key有讲究,使用了TLS(线程局部变量)去管理,你可以理解成在系统底层为每个变量创建了一个键值对,存为全局变量,为了方便快速找到线程(这样容易理解了,但是并不严谨,想严谨请看https://zh.wikipedia.org/wiki/%E7%BA%BF%E7%A8%8B%E5%B1%80%E9%83%A8%E5%AD%98%E5%82%A8);windows平台相关api如下:TlsAlloc:为Tls对象分配空间,并且返回对应index;

2024-09-12 13:47:50 1007

原创 WebRTC架构介绍

WebRTC早期作为一个VOIP公司的软件,被谷歌收购了之后(金额令人眼馋!!!)加入了一些强大的编解码器什么的,最终形成了一个强大的解决方案,并且已经加入了W3C推荐标准中.为啥这么做呢?原因很简单:谷歌内心寻思着:我已经都帮你想好了,调好了,总之就是做好了,还特别稳定高效,你直接调用JS的api就行了(即使您是即使半天只能憋出一个hello world的水平也是可以调用的).专业术语来说就是:不要重复造轮子!!!优秀的接口封装:上层调用API的用户"傻瓜式"调用,这也是最好的接口设计,越简单越好;

2024-09-11 12:11:01 860 1

原创 使用QT+FFmpeg制作录音软件

根据"依赖倒置原则",高层模块不应该依赖于低层模块,二者都应该依赖于抽象,所以采集最好抽象出一个AudioCaptureInterface来(我懒,但是我替读者操心,说一嘴)这种读取I/O相关的操作,比如写文件,操作系统一般是攒够了一段再往文件写,频繁读写磁盘是很低效的(当然,我这儿还是懒,直接调用fflush给冲进文件了)咱这是一个demo,里面各种野路子硬编码(比如麦克风名称,文件名啥的),诸位小朋友写商业产品记得改成变量;暂时没想出来,就这样吧!

2024-07-26 21:44:23 905 2

原创 Windows平台编译FFmpeg动态库

这两个是后续编译依赖库时候使用的,比如ffmpeg依赖fdk-aac或者libx264等库,待续…安装过程中出现的确认信息,仔细读读(其实我一般都无脑Y+Enter的啦,一般人我不告诉他)因为我们是64位系统,并且想使用mingw而不是msvc,所以双击下图的exe即可;看到界面如下图,搞Linux的同学,有没有很熟悉?*养成良好的编程思维,即使是shell脚本也封装成函数,还有,温馨提示:最好跟我用一样的版本,您想锻炼下自己填坑的能力另说。这不是本文重点,我只能说我使用的版本是QT5。

2024-04-04 18:43:28 1338 3

原创 【Linux系统使用NDK交叉编译FFmpeg】

ndk编译ffmpeg

2024-03-29 22:21:15 442 2

空空如也

空空如也

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

TA关注的人

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