kindring 1 рік тому
батько
коміт
2af3109233

+ 56 - 3
C与C++/c中基础函数用法.md

@@ -1,10 +1,10 @@
 # c中基础函数用法
-## `setsockopt`函数
+## `setsockopt` 设置套接字选项
 第二个参数level是被设置的选项的级别,如果想要在套接字级别上设置选项,就必须把level设置为 SOL_SOCKET。
 ```c++
 int setsockopt(int sockfd, int level, int optname, const void *optval, socklen_t optlen);
 ```
-## `memset` 函数
+## `memset` 设置对象内存
 > void *memset(void *s, int ch, size_t n);
 ### 作用
 > En   
@@ -48,7 +48,7 @@ int snprintf( char *buffer, size_t buf_size, const char *format, ... );//可变
   - %x: 十六进制整数
 
 
-## `memcpy` 函数
+## `memcpy` 拷贝对象内存
 ### 作用
 > En  
 > Copies count bytes from the object pointed to by src to the object pointed to by dest.  
@@ -87,3 +87,56 @@ void *memcpy(void *dest, const void *src, size_t count)
     return dest;
 }
 ```
+## `fread` 读取文件
+### 作用
+> En  
+> Reads an array of count elements,  
+> each one with a size of size bytes,  
+> from the stream and stores them in the block of memory specified by ptr.
+> Ch  
+> 从流中读取一个大小为size字节的count个元素的数组,并将它们存储在ptr指定的内存块中。  
+
+### 语法
+```c++
+size_t fread(void *ptr, size_t size, size_t count, FILE *stream);
+```
+
+### 参数
+- ptr: 指向要读取的元素存储位置的指针
+- size: 每个元素的大小(以字节为单位)
+- count: 元素的个数
+- stream: 指向 FILE 对象的指针,该 FILE 对象指定了一个输入流
+
+## `fseek` 移动文件指针
+### 作用
+> En  
+> Sets the position indicator associated with the stream to a new position.  
+> The end-of-file internal indicator of the stream is cleared after a successful call to this function,  
+> and all effects from previous calls to ungetc on this stream are dropped.  
+> Ch  
+> 将与流关联的位置指示器设置为新位置。  
+> 成功调用此函数后,流的文件结束内部指示器将被清除,并且此流上先前调用ungetc的所有效果都将被丢弃。  
+
+### 语法
+```c++
+int fseek(FILE *stream, long int offset, int whence);
+```
+
+### 参数
+- stream: 指向 FILE 对象的指针,该 FILE 对象标识了流
+- offset: 新的文件位置,以字节为单位(long int 类型)
+- whence: 指定从哪里开始偏移
+  - SEEK_SET: 文件开头
+  - SEEK_CUR: 当前位置
+  - SEEK_END: 文件结尾
+  - 也可以使用数字 0, 1, 2 来代替 SEEK_SET, SEEK_CUR, SEEK_END
+  - SEEK_SET: 0
+  - SEEK_CUR: 1
+  - SEEK_END: 2
+- 返回值: 成功返回0,失败返回非0值
+
+### 注意事项
+- 该函数会清除之前调用`ungetc`函数的效果
+- 该函数会清除之前调用`fseek`函数的效果
+- 该函数会清除之前调用`fsetpos`函数的效果
+- 该函数会清除之前调用`rewind`函数的效果

+ 17 - 0
环境配置相关/网络代理.md

@@ -0,0 +1,17 @@
+# 网络代理
+再天朝上国使用互联网经常会出现网络问题,此时需要特殊手段来进行配置,以实现正常使用
+> [!tips] 因为使用的是`clash` 所以默认的端口为`7890`,有需要自行换
+
+## 前端相关
+### npm 配置代理
+#### 设置代理
+```shell
+npm config set proxy http://127.0.0.1:7890
+npm config set proxy http://127.0.0.1:7890
+```
+
+### yarn 代理设置
+```shell
+yarn config set proxy  http://127.0.0.1:7890
+yarn config set https-proxy http://127.0.0.1:7890
+```

+ 32 - 0
音视频学习/ffmpeg杂记.md

@@ -0,0 +1,32 @@
+# 在使用`ffmpeg`中的杂项笔记
+## `ffmpeg` 常用命令笔记
+
+### `-i` 输入文件
+> 该命令用于指定输入文件的来源,可以是本地文件,也可以是网络文件,也可以是摄像头等等
+
+### 音视频处理相关命令
+#### `-vcodec` 视频编码格式
+> 该命令用于指定视频的编码格式,常用的有`h264`,`h265`,`mpeg4`
+
+#### `-vn` 不处理视频
+> 该命令用于忽略掉视频部分内容
+
+#### `-acodec` 音频编码格式
+> 该命令用于指定音频的编码格式,常用的有`aac`,`mp3`,`pcm_s16le`
+
+#### `-an` 不处理音频
+> 该命令用于忽略掉音频部分内容
+
+### `copy` 拷贝内容
+> 用于拷贝音频或者视频的内容  
+> 例如: `-vcodec copy` 拷贝视频内容
+#### `#e` 拷贝视频
+```shell
+-vcodec copy
+```
+
+#### `#a` 拷贝音频
+```shell
+-acodec copy
+```
+

+ 9 - 0
音视频学习/封装格式与编码格式.md

@@ -0,0 +1,9 @@
+# 封装格式与编码格式
+## 封装格式
+### `#d` 解释
+封装格式是一种用于存储和播放媒体文件的方式,它决定了数据在文件中的组织方式。  
+一个封装格式包含了不同类型的数据,比如音频、视频、字幕等,  
+并将它们结合在一起形成一个完整的文件。  
+这些数据可以在文件中按照特定的规则进行排列和存储。  
+不同的封装格式可能具有不同的特点和优势,而我们可以通过封装格式来确定媒体文件的属性和特性。
+### `#d` 封装格式