自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 webRTC源码编译问题记录cl

在这个下面 [remote "origin"] 添加这一行。修改 .git/config 文件。再执行git branch -r。再执行git fetch。如果没有看到全部的话,

2024-03-29 17:38:28 592

原创 webRTC一对一音视频对话

使用socket.io用做信令服务器,功能包括房间管理,信息的转发。先复制一份 cp /etc/turnserver.conf /etc/turnserver.default.conf。注意点:需要在html引入socket.io客户端,有很多种引用方式,这里只在html用<script>标签引入。注意事项:我本人用apt安装后,每次重启系统coturn是自动起来的,到此服务端的工作全部完成了,下面开始客户端代码,也是webRTC的重点。我的老是报这个错误,提示sturn无法使用 报701,没有解决,

2023-12-20 11:37:58 853

原创 FFmpeg 音频编码

比如说ffmpeg自带的AAC编码只接受 AV_SAMPLE_FMT_FLTP, 而且fdk_aac只接受 AV_SAMPLE_FMT_S16,如果出现不一致的时候,可以采用重采样或者FFmpeg的filter进行对应的转换,然后再送入编码器。音频的重要要素/属性一定要填写: bit_rate, channels, sample_rate,sample_fmt.如果出现-22,一般都是哪个参数错误。就是我在下面遇到的问题中所提到的,如果错误是-22,首先考虑是不是参数没有设置成功。

2023-12-16 18:26:06 334

原创 webRTC几张重要的图

在webRTC中SDP和ICE信息都需要依赖信令服务器进行传输与交换,建立P2P连接,之后才能进行音视频通话、传输文本信息。如果没有信令服务器,WebRTC无法进行通信。允许位于NAT(或多重NAT)后的客户端找出自己的公网地址,查出自己位于哪种类型的NAT之后以及NAT为某一个本地端口所绑定的公网端端口。常用的信令服务器 socket.io。A和B建立网络连接的过程如图。

2023-12-04 11:59:43 355

原创 ubuntu开机出 started gnome Display manager解决办法

问题的原因:/dev/mapper/ubuntu--vg-ubuntu--lv 容量被占满。

2023-11-24 13:50:35 884

原创 FFmpeg滤镜的使用

aformat滤镜用于音频格式(如采样率,采样格式,声道类型)的转换(相当于实现了SwrContext的功能),它内部最终调用的aresample滤镜,而aresample滤镜内部又是用libswresample模块。输入滤镜的输出端口连接aformat滤镜的输入端口,aformat滤镜的输出端口连接着输出滤镜的输入端口。ffmpeg的滤镜是通过滤镜管道来进行管理的,滤镜管道可以将各个滤镜连接到一起,形成一个处理流水线。的SwrContext实现的。

2023-11-13 22:48:13 47

原创 音视频同步学习总结

解码时帧的顺序: I P B B // FFmpeg 解码器输出的帧是顺序输出(意思就是已经排好序了),所以从代码层面来说是不需要手动排序,解码器内部已经实际了,这也是在FFmpeg解码的时候需要刷空解码器中的队列原因之一。frame_timer为一帧显示的系统时间,frame_timer+delay- curr_time,则得出正在需要延迟显示当前帧的时间。tbr:帧率 ----------- 可以计算出每帧的duration(播放的时长)video_clock:预测的下一帧视频的PTS。

2023-11-13 15:54:55 25

原创 c++ 指针和引用

当你知道你需要指向某个东西,而绝不会改变指向其他东西,(和当你实现一个操作符(operator[])而其语法需求无法由指针达成?只是语法而已),你就应该选择引用,任何其他时候,请采用指针。1.没有所谓的null的引用,引用总必须总代表某个对象,而指针可以改变指向(除const 修饰外),C++要求引用必须要有初值。2.指针和引用最重要的差异,指针可以重新赋值,指向另一个对象,引用却总是指向它最初获得的那个对象。是一个变量,只不过存储的是一个地址,指向内存的一个存储单元。

2023-11-03 18:20:35 18

原创 OpenGLES工作记录1

OpenGL ES program

2023-11-01 15:28:23 32

原创 c++多线程一

一旦出现游离的指针或引用,这种保护就全部形同虚设。在std::condition_variable wait的时候,必须使用std::unique_lock不然就会出现死锁的情况。C++标准库提供了类模板std::lock_guard,针对互斥类融合实现了RATT手法;std::unique_lock占用更多的空间,也比std::lock_guard略慢。std::unique_lock类具有成员函数lock(),unlock(),try_lock(),具有手动加、解锁功能。

2023-10-26 10:41:14 17

空空如也

空空如也

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

TA关注的人

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