自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(33)
  • 资源 (9)
  • 收藏
  • 关注

原创 c++中的函数指针

c++函数指针用法说明

2024-11-29 18:18:50 405

原创 c++中的虚函数

1. 虚函数表是在做动态绑定(dynamic/late binding)时,处理函数调用时的查找表。2. 每个包含虚函数的类都有一张虚函数表,该表在编译时已经建立好。表中包含该类的对象可以访问的所有虚函数的entry。3. entry是一个函数指针,指向该类可以访问的最深层(most-derived)的函数4. 编译器给基类添加了一个隐藏的成员变量,虚指针:*__vptr. 虚指针在对象构建时被赋值,指向该类的虚函数表。

2024-11-29 16:07:49 321

原创 c++ 中的智能指针

c++ 中的智能指针

2024-11-27 16:00:31 697

原创 音视频相关的一些基本概念

音视频相关的一些基本概念

2024-11-26 10:30:43 2165

原创 Shaka Packager生成cbcs加密流的命令行

Shaka Packager生成cbcs加密流的命令行

2024-11-22 14:25:00 786

原创 使用GDB命令调试Linux代码

使用GDB命令调试Linux代码

2024-11-22 12:30:38 324

原创 使用Protobuf生成widevine的pssh data

Protobuf是Protocol Buffers的简称,它是Google公司开发的一种数据描述语言,是一种轻便高效的结构化数据存储格式,可以用于结构化数据串行化,或者说序列化 。目前提供了 C++、Java、Python 三种语言的 API。这里不去介绍Protobuf的各种语法结构,而是以目标为导向,介绍windows平台下生成pssh data的详细步骤

2024-11-21 16:33:17 587

原创 关于DRM 中的PSSH Data

PSSH: Protection System Specific HeadersPSSH 是一个标准化的容器,用来存放prtection system使用到的一些metadata。PSSH不直接包含加密的key,但是包含key ID、 encryption scheme、和其他的一些用来向license server获取key的一些信息

2024-11-19 15:22:07 596

原创 MP4中加密相关的box的含义

为什么要研究这些box呢,是因为我在播放cbcs加密的mp4视频流时,有的浏览器可以正常解密播放,有的浏览器播放时出现绿屏。后来与shakapackager产生的mp4中的box逐个对比,发现区别就在于以下这些box,后来研究了下标准,确实是有些box没有按照标准规定来写,有一些浏览器能兼容可能是这些浏览器解密时没有读取这些box,能播放纯属侥幸~

2024-11-14 15:18:43 294

原创 HLS SAMPLE-AES加密方法

以下为结合相关文档整理出的分别对TS和fMp4的加密方法说明

2024-11-07 15:24:18 805

原创 关于在url queryString中给相同parameter设置不同的value

现在有个需求,需要对同一个ids赋值多个value

2024-11-05 17:33:50 425

原创 HLS 标准的一些需求摘录

HLS协议 关于segment, playlist的标准约定

2024-10-23 16:18:27 1592

原创 关于IO模型的一些概念

整理了IO模型涉及到的一些概念的理解

2024-10-21 17:55:50 287

原创 git使用:同一台机器上不同仓库使用不同的用户名

opensource目录里所有仓库之前用的是全局账户name_global, 现需要将其中一个仓库learning_doc上传到name_personal账户下

2024-10-17 11:52:09 339

原创 gcc 和 g++区别

分别用gcc, g++编译一段c++代码,验证两者区别

2024-10-16 17:26:36 428

转载 CMake,make,CMakeLists.txt,CMakeFiles之间的关系

简单说下CMake,make,CMakeLists.txt,CMakeFiles之间的关系

2024-10-16 16:36:23 89

原创 c++实现将内存数据写入到S3 bucket中

将内存数据写入到S3 bucket中, 测试代码

2024-10-16 12:36:30 306

原创 RFCs 文档中关键字SHALL SHOULD 的区别

在阅读IETF文档时经常遇到一些描述规范requirement程度的关键字,比如,MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALLNOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and"OPTIONAL",理解不清楚可能会对具体功能的实现造成影响,以下是规范中对这些关键字的定义

2024-10-15 15:45:58 834

原创 Linux 平台下定时删除文件

平时开发过程中需要定时清理一些频繁产生的临时文件,防止磁盘写满,以下是相关的执行指令

2024-10-15 14:26:44 756

原创 通过代码理解linux两种内存分配方式

之前在Linux平台开发时遇到过内存问题,当时查看过linux的内存分配原理,总结下来主要就是Linux有两种内存分配方式。以下通过代码分别验证brk和mmap两种内存分配方式中,free之后的内存变化。通过Result可以验证上述结论。

2024-10-14 18:58:47 538

原创 设置VLC media player 使之显示CC708

设置VLC media player 使之显示CC708

2024-10-12 15:40:59 237

原创 使用Dockerfile定制镜像并使用的详细步骤

使用Dockerfile定制镜像并使用的详细步骤

2024-10-12 12:46:09 447

原创 递归读取并展开JSON数据

采用递归方法实现不限定层级的JSON数据的遍历

2024-10-11 10:30:54 610

原创 ffmpeg常用命令行

以下整理了平时在开发测试过程中用到的一些ffmpeg命令行。

2024-10-11 10:17:33 519

原创 为什么static类型的成员函数不能被声明为const类型

为什么static类型的成员函数不能被声明为const类型。

2024-10-10 11:26:12 647

原创 关于常量指针和指针常量

关于常量指针和指针常量的含义理解

2024-10-10 11:23:53 566

原创 c++ 初始化 vector的七种方法

c++ 初始化 vector的七种方法

2024-10-09 16:28:27 323

原创 全局变量与静态全局变量

全局变量与静态全局变量的用法区别

2024-10-09 14:42:27 330

原创 类中回调函数的使用场景

以下记录了在工作过程中使用回调的一种场景:class A 需要使用class B 的一个方法,但是这个方法的最终实现需要依赖调用者传入一个回调函数

2024-10-08 18:34:09 266

原创 Linux cgroup memory相关参数

最近在解决container中的内存问题过程中查找了linux memory 相关的一些文章,稍微整理一下

2024-09-25 17:14:24 1694

原创 k8s 资源配置不足导致的程序异常退出

最近遇到一个问题,我们的程序在k8s环境中运行会又有异常退出的情况,一开始以为是程序产生了crash,于是查看log打印,唯一一个异常点就是每次退出的时候进程的占用内存都在一个差不多的水平,因此怀疑是内存占用过高被系统kill,后来根据反馈,程序退出时也没有产生core_dump文件,更加证实了我们的猜想(由于我们在启动脚本里已经设置了ulimit -c unlimited,如果是发生异常crash应该会产生core文件)运行一段时间后,可以复现异常退出问题。

2024-09-25 14:33:43 489

原创 OpenSSL 1.1 crash when program exit

通过源码对比,从OpenSSL1.0.2开始引入了这样的逻辑:在程序退出了,自身会主动销毁一些内部资源,这与我们代码里的一些资源释放动作有冲突,从而引发了double free的错误。在程序退出处加了一些log跟踪,所有在return之前的log都会执行到,因此断定是执行完我们所写的程序之后,CRT调用atexit中注册的function去析构全局的和静态的一些对象而产生的崩溃。

2024-09-11 18:23:44 376 1

原创 在windows上安装linux子系统

在windows上安装linux子系统

2022-11-04 17:11:15 227

kmeans算法应用及实现

1、利用opencv中的kmeans函数 2、自己编写kmeans功能 3、开发语言:c++

2015-07-24

opengl教程

NeHe SDK是把Nehe的教程中所介绍的所有功能,以面向对象的形式,提供给编程人员快速开发的一套编程接口。

2013-04-08

opengl红宝书源代码

《Open GL编程指南(原书第7版)》对OpenGL以及OpenGL实用函数库进行了全面而又权威的介绍,素有“OpenGL红宝书”之誉,资源为本书源代码

2013-03-17

c8051F340.H带中文对照和页码标识

c8051F340.H,Byte Registers,bit definitions,Interrupt Priorities,

2013-03-07

AN169_USBXpress_Programmers_Guide

he Silicon Laboratories的USBXpress® 为C8051F32x, C8051F34x, C8051F38x, C8051T32x, 和 C8051T62x USB 微控制器和CP210x通信提了一个完整的主机和设备的软件解决方案. 任何USB协议或主机设备驱动程序需要的专业知识。相反,一个简单的,高层次的应用程序接口(API)为主机软件和设备固件是用来提供完整的USB连接。

2013-03-07

U-EC5使用说明

C8051F单片机调试器U-EC5的使用说明。U-EC5 具有:完全的USB 2.0接口、免安装驱动程序、硬件加强型保护功能(减少使用不当造成的硬件损坏率)。该工具可实现单步、连续单步、断点、停止/运行,支持寄存器/存储器的观察和修改,下载程序到Fl a sh存储器等功能。另一特点为可使用专用软件(U-EC5 中文编程软件)快速将程序代码烧录到C8051F MCU 中。

2013-01-29

Visual C++ 程序设计(王明福、高教版)

本书从实际应用的角度介绍了vc6.0软件包的使用方法和编程技巧

2012-12-06

万年历+温度+闹钟c程序

c语言编写的51单片机开发程序,开发一个系统,实现如下功能:万年历、温度、闹钟。

2012-06-08

空空如也

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

TA关注的人

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