自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 MAC程序签名遇到的问题

需要一个apple开发者账号,个人账户注册需要按年付费。

2025-05-28 19:46:10 503

原创 LearnOpenGL02:绘制三角形和矩形

了解整体的渲染流程以及相关概念。

2025-05-12 16:27:35 192

原创 LearnOpenGL01:创建项目

基于。

2025-05-09 17:02:50 266

原创 WebRtc11:SDP详解

对rtpmap进一步说明用fmtp。

2025-05-02 16:45:26 544

原创 WebRtc10: 端对端1v1传输基本流程

【代码】WebRtc10: 端对端1v1传输基本流程。

2025-05-02 15:45:35 570

原创 WebRtc09:网络基础P2P/STUN/TURN/ICE

STUN存在的目的就是进行NAT穿越STUN是典型的客户端/服务端模式。客户端发送请求,服务端进行相应M必须,Option可选其目的是解决对称NAT无法穿越的问题其建立在STUN之上,消息格式使用STUN格式消息TURN Client要求服务端分配一个公共IP和Port用于接收或发送数据常用工具linux服务端用tcpdump其他端WireShark。

2025-04-30 16:00:25 1231

原创 WebRtc08:WebRtc信令服务器实现

最新版本的socket.io是4.8.1,需要考虑和2版本的兼容性,很多API都变了。安装socket.io和log4js。处理connection消息。引入socket.io。

2025-04-28 18:57:21 531

原创 FFmpeg处理流程

作用:管理媒体文件的封装格式上下文,存储文件格式、流信息、I/O 操作等元数据。关键字段。

2025-03-13 10:54:35 488

原创 HDR图像处理:色调映射和色域映射参数

作用:决定动态范围压缩的方式和视觉风格。

2025-03-12 22:06:02 831

原创 MLT媒体程序框架03:滤镜——loudness

主要用于音频向度的精准标准化,其核心作用三通过两次处理(Double Pass)分析音频特征并应用目标响度参数,确保输出音频符合行业标准(如EBU R128 或 ITU-R BS.1770),同时优化动态范围控制。

2025-03-05 17:54:49 511

原创 本地部署DeepSeek

deepseek现在限制用户4个小时用一次深度思考,如果想要一直使用这个功能,可以选择本地部署Deepseek。比如我的mac是8g运存,我就只能下1.5billon数据量的模型。在ollama官网中的modoule模块中找到deepseek。但是由于数据量太少,用起来傻乎乎的 所以可能需要用更好的显卡。在Linux执行curl命令,自动去下载ollama。是一个可以在本地部署和管理开源大语言模型的框架。打开一个新对话并且设置使用哪个模型。根据自己电脑配置下载对应的模型。mac则直接下载即可。

2025-02-13 14:47:56 305

原创 WebRtc07: 音视频录制实战

只需要把getUserMedia改成getDisplayMedia即可实现捕获桌面的功能。实测使用firefox浏览器不支持webm。

2025-02-09 13:31:05 548

原创 WebRtc06: 音视频数据采集

通过这个API去获取视频音频,通过这个对象去配置偏好,比如视频宽高、音频降噪等index.htmlclient.js会打开前置摄像头并且输出视频音频获取音视频设备的访问权限在前面代码的基础上,返回,从而得到每一个媒体信息然后通过添加到HTML的选择器中实现打印不同设备信息index.htmlclient.js音视频采集约束视频约束widthheightaspectRatio 宽高比frameRate 帧率facingModeuser 前置摄像头environment 后

2025-01-24 15:16:50 1749

原创 Linux测试处理fps为30、1920*1080、一分钟的视频性能

项目CMakeLists.txt。

2025-01-17 18:03:37 595

原创 Linux安装OpenCl

由于服务器用的是很老的集显,选择CPU版本的OpenCL用以测试其中POCL是硬件通用的,所以选择用它,但是不同厂商的有自己的优化,会更快点。

2025-01-17 15:27:38 540

原创 WebRtc05: 设备管理

实测没有使用https时,navigator.mediaDevices没有生效,直接打印。,为了使用https,需要备案网站,而备案又会审核很久,所以最好尽快备案。用于处理异步操作的对象,表示一个异步操作的最终完成(或失败)及其结果值。先处理handle,然后成功则执行resolve,否则执行reject。groupID 两个设备groupID相同,说明是同一个物理设备。deviceID 设备ID。label 设备的名字。kind 设备的种类。

2025-01-09 14:58:07 483

原创 WebRtc04: JavaScript知识回顾

【代码】WebRtc04: JavaScript知识回顾。

2025-01-07 15:43:07 409

原创 WebRtc03: Web服务器原理和Nodejs搭建

在浏览器上输入ip:8080,可以看到helloworld打印。以阿里云的云服务器为例,需要打开安全组的端口8080。服务器是基于centos的,使用yum命令下载。运行服务器并用另一个端口查看是否启动服务器。或者直接使用官方的二进制库。

2025-01-06 23:18:38 472

原创 WebRtc02: WebRtc架构、目录结构、运行机制

MediaStream:媒体流,包括音频流视频流,一个流中有多个轨。RTCPeerConnection(核心)

2025-01-04 14:57:45 354

原创 WebRtc01: 课程导学、框架介绍

应用难点课程大纲学习收获涉及内容

2025-01-04 13:53:03 387

原创 C++音视频04:音视频编码、生成图片

由于ffmpeg自带的aac格式是32位的AV_SAMPLE_FMT_FLTP,如果由libfdk_aac转成ffmpeg自带的aac,需要进行重采样成FLTP才能继续其他操作。先把视频解码成帧序列,然后将帧保存为图片。代码目前有bug尚未找出。

2024-10-28 18:46:18 598

原创 C++音视频03:媒体信息打印、提取音视频、转封装、剪辑

版本:FFMpeg6.0。

2024-10-24 17:16:00 499

原创 C++音视频02:环境搭建

系统:centos7.9—>centos stream9工具:cmake。

2024-10-22 14:47:36 561

原创 李宏毅深度学习项目——HW2个人笔记

定义数据集格式,data是数据,label是对应的标签,如果label为空,则表示需要预测else:else:# 定义训练模型# 前向传播函数,每过一层就走一次激活函数return x。

2024-06-24 17:24:24 429

原创 李宏毅深度学习03——神经网络训练不起来怎么办

假设将分类问题按照回归问题来做即假设class对应着数字1,2,3,有时候可行,有时候不可行。比如假设根据身高体重预测是几年级,由于年级之间有联系,所以可行但是如果这几个class之间没有联系,则不可行。

2024-06-20 15:56:13 1037

原创 李宏毅深度学习02——机器学习任务攻略

先用一个比较简单的模型或者说比较浅层的模型来算Loss,接着再用复杂的模型来算Loss,如果复杂的模型Loss反而更大,则证明是Optimization Issus,否则是Model Bias。

2024-06-19 09:58:02 405

原创 李宏毅深度学习项目——HW1个人笔记

数据集类,处理和加载用于训练模型或者进行预测的数据''''''self.y = yelse:else:# 模型定义,继承自pytorch的nn.Moudule基类(所有神经网络的基类)# 调用父类的构造函数(必须)# 定义自己的模型,nn.Sequential是一个容器,按顺序包含一系列的层,这里定义了三个连接层和两个激活函数# 这里的激活函数是ReLu(),意思是如果nn.Linear()的结果小于0,则神经网络不继续往下走,用于缓解梯度消失问题nn.ReLU(),

2024-06-18 15:06:20 463

原创 李宏毅深度学习01——基本概念简介

loss(损失函数):一个函数,输入是模型中的参数 L(b, w),输出的值代表这组b,w好还是不好,值越大,代表b,w越不好MAE(mean absolute error): 均值绝对误差MSE(mean square error): 均值方差Cross-entropy:如果预测值和实际值都是随机分布的,则使用这种方式查看损失值label(真实值):真实的值,类似于训练数据Error surface(误差面):等高线图。

2024-06-13 17:32:27 1040

原创 Numpy练习

执行save时会在当前项目路径下生产一个my_array.npy文件,等到实际用的时候再通过load把数组拿出来。切片操作是左闭右开的,即包括起始位置,但不包括结束位置。总体思路就是一维一维地分解,并不是什么高深的东西。多维数组看大佬参考链接解释。

2024-06-06 17:51:23 323

原创 双系统下删除ubuntu

由于我在安装Ubuntu的时候没有自定义安装位置,而是使用与window共存的方式让Ubuntu自己选择安装位置,导致卸载时我不知道去格式化哪个分区,查阅多方资料后无果,后在大佬帮助下找到解决方案。

2024-04-27 17:07:30 777

原创 MLT媒体程序框架02:源码剖析

以MLT自带的Melt命令行工具源码为例。去掉一些不重要的代码。

2024-04-10 14:31:58 584

原创 MLT媒体程序框架01:概述

MLT是一个开源的多媒体框架,专为电视广播而设计和开发。它为广播公司、视频编辑器、媒体播放器、转码器、网络流媒体和更多类型的应用程序提供了一个工具包。该系统的功能是通过各种现成的工具、XML创作组件和基于API的可扩展插件提供的。它是通过C语言编写的,但是后续它使用C++封装了一遍,所以C++开发可以直接使用mlt++文件夹下的C++ Api。

2024-04-10 14:08:21 1097 4

原创 算法技巧记录

简单地使用了一下这个性质,当二进制情况下只有1个1时证明该数字是2的倍数。循环调用n & (n - 1) 可以把1的数量统计数量。

2024-04-03 10:40:15 181

原创 Git相关

现在有两个代码仓都是基于同一个代码仓进行修改的,现在我已经在其中代码仓A中进行了修改,想将该commit同步到代码仓B中,查找资料后,选择使用git补丁去实现。将path/改成真正的路径,则会进行批处理操作,将修改同步到代码仓B。在代码仓A中执行下面命令会生成一个类似批处理的脚本。

2024-03-06 14:42:40 572

原创 个人编译踩的坑

在CmakeLists中使用pkg-config引入三方库,需要先使用pkg_search_module或者pkg_check_modules在当前文件内引入对应的库,然后使用PkgConfig::xxx将第三方库链接到对应的可执行文件中,其中xxx必须与pkg_search_module第一个参数一致。

2024-02-26 18:30:12 507

原创 QT6不同场景下的一些代码

注意点:horizontalAdvance代替了QT6以前的width函数。

2024-02-21 17:27:27 579

原创 Mac下编译zlib中的minizip

接着cd /usr/local/opt/minizip/.brew并vi minizip.rb。首先brew formula minizip拿到homebrew执行minizip的脚步。按照rb脚本的执行方式写一个对应的shell脚步。

2024-01-08 09:56:22 765

原创 C++音视频01:视频基础、音频基础、封装格式

零声音视频学习

2022-10-12 01:31:52 745

原创 C++第一天:C++面向对象高级开发上

第一天

2022-08-05 10:07:00 333

原创 Golang第二章:程序结构

第二章

2022-07-26 20:31:35 227

李宏毅作业1数据covid.data.zip

李宏毅作业1数据covid.data.zip

2024-06-18

李宏毅HW1-covid.train.csv

李宏毅HW1-covid.train.csv

2024-06-18

空空如也

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

TA关注的人

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