0%

字符串转日期

=DATE(LEFT(A1,4),MID(A1,5,2),MID(A1,7,2))+TIME(MID(A1,10,2),RIGHT(A1,2),0)

1 简介

Adobe开发的实时通信协议,基于TCP,提供双工通信服务,同时传输多路视频、音频、数据,并且附加时间信息。适用于一对一、一对多实时广播,VOD点播,交互式实时会议等应用。

控制和数据都在一条TCP链路中传输,控制消息使用 AMF 消息编码, 数据使用 FLV 格式, 也都比较简单。RTMP加上了会话协商和时间戳,方便传输实时数据。

阅读全文 »

1 介绍

视频分辨率(video resolution), 指一帧画面包含的像素(pixel)数量。一帧画面有宽和高,分辨率表示宽有多少个像素,高有多少个像素点。
通常来说,分辨率越高,视频画面越清晰,文件越大。影响大小的还有位深(color depth),表示一个像素可以包含多少种颜色, 也就是编码1个像素需要多少位,常用的有 24bits 和 36bits。

阅读全文 »

Nyquist-Shannon sampling theorem

dicates that to reproduce a sound accrtately, it must be sampled at twice the rate of the sound’s frequency. Since the range of human hearing is from around 20Hz to 20,000Hz, reproducing the heighest-pitched sounds people can generally hear requires a sample rate of more than 40,000 Hz.

To provide additional room for a low-pass filter in order to avoid distortion caused by aliasing, an additional 2.05kHz tarnsition band is added to the pre-smapling frequency(resulting in 22,050Hz). Doubling tha per the Nyquist theorem results in a final minimun frequency of (you guessed it) 44.1kHz.

1. 介绍

这里说的音频编码(或者说音频格式)指的是现实中的声音保存在计算机中的形式,模拟信号经过数字化转换后,才能保存到计算机中。数字化的过程叫 PCM(Pulse-code modulation, 脉冲编码调制), 形成的最原始的编码也叫 PCM

阅读全文 »

解决什么问题
进程或线程同步

如何解决?
一个整数n,不允许小于0,小于0就会阻塞程序运行,两个操作来控制: sem_post(3) 每次+1, sem_wait(3) 每次-1。比如初始化时候n=0, 一个线程执行sem_wait(),发现n是0,如果-1,就会小于0,但信号量不允许小于0,就等着。另一个线程执行sem_post(),将n+1,此时n==1,sem_wait()之后,n=0, 操作可以进行,第一个线程就可以继续往后了。

阅读全文 »

1. 介绍

1
2
#include <unistd.h>
pid_t setsid(void);

创建新的会话,并设进程组ID为新的会话ID

阅读全文 »

1. 简介

都是IO多路复用。

可以在一个进程或线程中同时管理多个IO的事件,在相当于在一个点去等待这些事件,收集到事件后,再分别处理。

阅读全文 »

1. 介绍

ROS(Robot Opearting System)是一套开源的机器人操作系统(并不直接跑在裸机上,需要依附ubuntu),对各种硬件设备进行了抽象,提供了方便二次开发的基础环境,包括底层设备控制、消息传递机制、常用函数和接口、包管理。相当于提供了一整套控制机器人的开发框架,用户通过ros提供的各种基础设施,方便的实现自己的功能。主要提供python和C++接口。

阅读全文 »

1
2
3
4
#include <stdio.h>
extern FILE *stdin;
extern FILE *stdout;
extern FILE *stderr;
  • 通常linux程序启动后都会有这3个打开的输入输出流,叫标准I/O流。
  • 对应的文件描述符为STDIN_FILENO(0),STDOUT_FILENO(1),STDERR_FILENO(2)
  • 文件描述符是内核的,文件句柄FILE 是库对文件描述符的封装,子进程可以继承文件描述符,但不继承文件句柄。
  • 通常 stdin,stdout,stderr 用宏来实现的,对它们直接赋值不具有可移植性,标准做法是通过freopen(3)来重新打开。
  • stderr无缓冲,stdout是行缓冲
阅读全文 »

1. 基本概念

1.1. 4表5链

防火墙由很多规则组成,每个规则匹配产生不同的动作,这些规则按功能共划分出4个表,一个表由多个相同功能的规则组成:

  1. raw 控制NAT表中连接跟踪机制的启用状况
  2. mangle 修改数据
  3. filter 过滤
  4. nat 地址转换

在数据经过的各个路径上,设置了5个关键卡点,每个卡点上按顺序有多个规则,共组成5条规则链:

  1. PREROUTING: 外部数据刚进入
  2. INPUT: 经过路由决策,要进入本机的数据
  3. OUTPUT: 本机要出去的数据
  4. FORWARD: 经过路由决策,经过本机转发的数据
  5. POSTROUTING: 发送出去的数据
阅读全文 »