<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[托卡马克]]></title><description><![CDATA[理解一个事物，并将理解表述成文，让其他人也能理解]]></description><link>https://blog.youkuaiyun.com/tech2ipo</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; tech2ipo]]></copyright><item><title><![CDATA[websocket-fmp4播放器wsPlayer]]></title><link>https://blog.youkuaiyun.com/tech2ipo/article/details/124369020</link><guid>https://blog.youkuaiyun.com/tech2ipo/article/details/124369020</guid><author>tech2ipo</author><pubDate>Sat, 23 Apr 2022 19:51:31 +0800</pubDate><description><![CDATA[websocket-fmp4播放器wsPlayer
一、web视频播放器的现状与问题
1、流媒体协议选型：
主流流媒体协议归纳总结：




协议名称
网络传输协议
延时
编码类型
HTML5支持情况




RTSP
TCP/UDP/组播
0~3s
H264/H265
不支持，（RTSP over HTTP除外）


RTMP
TCP
0~3s
H264/H265(CodecID =12)
不支持


HLS
HTTP短连接
1~10s
H264/H265
video标签支持


HTTP-FLV
HTT]]></description><category></category></item><item><title><![CDATA[Linux 进程崩溃打印堆栈]]></title><link>https://blog.youkuaiyun.com/tech2ipo/article/details/117398247</link><guid>https://blog.youkuaiyun.com/tech2ipo/article/details/117398247</guid><author>tech2ipo</author><pubDate>Sun, 30 May 2021 14:55:39 +0800</pubDate><description><![CDATA[示例代码：
#include &lt;signal.h&gt;
#include &lt;execinfo.h&gt;

void signal_handler(int signo) {
    int nptrs;
    void *buffer[1024];
    char **strings;
    
    signal(signo, SIG_DFL);

    nptrs = backtrace(buffer, 1024);
    strings = backtrace_symbols(]]></description><category></category></item><item><title><![CDATA[RTSP协议简介与实现]]></title><link>https://blog.youkuaiyun.com/tech2ipo/article/details/101302677</link><guid>https://blog.youkuaiyun.com/tech2ipo/article/details/101302677</guid><author>tech2ipo</author><pubDate>Tue, 24 Sep 2019 18:23:06 +0800</pubDate><description><![CDATA[RTSP(Real Time Streaming Protocol)被广泛应用于安防行业，其主要特点是RTSP信令交互与HTTP协议相似，媒体层数据传输采用RTP/RTCP协议，支持UDP方式，实时性较好，协议扩展性较好。
RTSP协议标准由IETF制定，协议文档：RFC2326
RTSP拉流时序图
[外链图片转存失败(img-hOChJnQu-1569320550228)(en-resource...]]></description><category></category></item><item><title><![CDATA[Linux IO多路复用]]></title><link>https://blog.youkuaiyun.com/tech2ipo/article/details/101233622</link><guid>https://blog.youkuaiyun.com/tech2ipo/article/details/101233622</guid><author>tech2ipo</author><pubDate>Mon, 23 Sep 2019 23:19:57 +0800</pubDate><description><![CDATA[阻塞IO  每来一个请求创建一个线程
#include &lt;stdio.h&gt;
#include &lt;sys/socket.h&gt;
#include &lt;string.h&gt;
#include &lt;netinet/in.h&gt;
#include &lt;unistd.h&gt;
#include &lt;pthread.h&gt;
#include &lt;asse...]]></description><category></category></item><item><title><![CDATA[服务器主板主要组成部分]]></title><link>https://blog.youkuaiyun.com/tech2ipo/article/details/100676343</link><guid>https://blog.youkuaiyun.com/tech2ipo/article/details/100676343</guid><author>tech2ipo</author><pubDate>Mon, 09 Sep 2019 21:40:34 +0800</pubDate><description><![CDATA[芯片组

总线种类

PCI-E


]]></description><category></category></item><item><title><![CDATA[hiredis使用案例-同步、Pipelining、异步]]></title><link>https://blog.youkuaiyun.com/tech2ipo/article/details/100550364</link><guid>https://blog.youkuaiyun.com/tech2ipo/article/details/100550364</guid><author>tech2ipo</author><pubDate>Thu, 05 Sep 2019 16:54:42 +0800</pubDate><description><![CDATA[同步调用

#include &lt;stdio.h&gt;
#include &lt;stdlib.h&gt;
#include "hiredis/hiredis.h"

int main() {
    redisContext *c = redisConnect("127.0.0.1", 6379);
    if (c == NULL || c-&gt;err) {
        if...]]></description><category></category></item><item><title><![CDATA[排序算法总结]]></title><link>https://blog.youkuaiyun.com/tech2ipo/article/details/99516048</link><guid>https://blog.youkuaiyun.com/tech2ipo/article/details/99516048</guid><author>tech2ipo</author><pubDate>Wed, 21 Aug 2019 09:53:17 +0800</pubDate><description><![CDATA[插入排序：
向一个有序数组a[n]中插入一个新元素x，使得新的数组a[n+1]依然是一个有序数组；
算法实现思路：
1、找到新元素x在有序数组a[n]中的大小位置：从有序数组a[0]开始循环，与x比较大小，当x小于数组中的值时，停止循环，记录数组下标index；
2、将数组中大于x的数全部向后移动一个单位的长度；
3、将新元素插入index所在的位置；
代码实现：
void insert_sort...]]></description><category></category></item><item><title><![CDATA[Linux下UDP Socket编程实例]]></title><link>https://blog.youkuaiyun.com/tech2ipo/article/details/90549210</link><guid>https://blog.youkuaiyun.com/tech2ipo/article/details/90549210</guid><author>tech2ipo</author><pubDate>Sat, 25 May 2019 17:19:11 +0800</pubDate><description><![CDATA[server.c
#include &lt;stdio.h&gt;
#include &lt;sys/types.h&gt;
#include &lt;sys/socket.h&gt;
#include &lt;string.h&gt;
#include &lt;arpa/inet.h&gt;
#include &lt;netinet/in.h&gt;

int main(int argc, ch...]]></description><category></category></item><item><title><![CDATA[C++双缓冲队列实现]]></title><link>https://blog.youkuaiyun.com/tech2ipo/article/details/90513803</link><guid>https://blog.youkuaiyun.com/tech2ipo/article/details/90513803</guid><author>tech2ipo</author><pubDate>Fri, 24 May 2019 11:44:25 +0800</pubDate><description><![CDATA[#pragma once

#include &lt;queue&gt;
#include &lt;mutex&gt;

namespace Infra {
    template&lt;class T&gt;
    class DoubleQueue {
    public:
        explicit DoubleQueue(int max_capacity)
          ...]]></description><category></category></item><item><title><![CDATA[RTSP URL正则表达式校验]]></title><link>https://blog.youkuaiyun.com/tech2ipo/article/details/90374269</link><guid>https://blog.youkuaiyun.com/tech2ipo/article/details/90374269</guid><author>tech2ipo</author><pubDate>Mon, 20 May 2019 14:30:14 +0800</pubDate><description><![CDATA[rtsp url正则表达式校验
rtsp://192.168.1.3对应：
rtsp:\/\/\d{1,3}.\d{1,3}.\d{1,3}.\d{1,3}

rtsp://admin:passward@192.168.1.3对应：
rtsp:\/\/\w{1,20}:\w{1,20}@\d{1,3}.\d{1,3}.\d{1,3}.\d{1,3}


...]]></description><category></category></item><item><title><![CDATA[【设计模式-C++】单例模式]]></title><link>https://blog.youkuaiyun.com/tech2ipo/article/details/90050785</link><guid>https://blog.youkuaiyun.com/tech2ipo/article/details/90050785</guid><author>tech2ipo</author><pubDate>Fri, 10 May 2019 02:01:40 +0800</pubDate><description><![CDATA[Singleton.h
#pragma once

#include &lt;utility&gt;

template &lt;typename T&gt;
class Singleton {
public:
    template&lt;typename... Args&gt;
    static T* Instance(Args&amp;&amp;... args) {
        ...]]></description><category></category></item><item><title><![CDATA[Google C++编程规范]]></title><link>https://blog.youkuaiyun.com/tech2ipo/article/details/89910411</link><guid>https://blog.youkuaiyun.com/tech2ipo/article/details/89910411</guid><author>tech2ipo</author><pubDate>Tue, 07 May 2019 00:36:26 +0800</pubDate><description><![CDATA[总结：
在线手册：
https://zh-google-styleguide.readthedocs.io/en/latest/google-cpp-styleguide/

]]></description><category></category></item><item><title><![CDATA[Linux下TCP Socket编程实例]]></title><link>https://blog.youkuaiyun.com/tech2ipo/article/details/89885878</link><guid>https://blog.youkuaiyun.com/tech2ipo/article/details/89885878</guid><author>tech2ipo</author><pubDate>Mon, 06 May 2019 16:34:50 +0800</pubDate><description><![CDATA[client.c
#include &lt;stdio.h&gt;
#include &lt;sys/types.h&gt;
#include &lt;sys/socket.h&gt;
#include &lt;string.h&gt;
#include &lt;unistd.h&gt;
#include &lt;errno.h&gt;
#include &lt;arpa/inet.h&gt;

...]]></description><category></category></item><item><title><![CDATA[100行代码的简单视频播放器（ffmpeg4.1.3+SDL2.0.9）]]></title><link>https://blog.youkuaiyun.com/tech2ipo/article/details/89574637</link><guid>https://blog.youkuaiyun.com/tech2ipo/article/details/89574637</guid><author>tech2ipo</author><pubDate>Fri, 26 Apr 2019 18:32:36 +0800</pubDate><description><![CDATA[100行代码的简单视频播放器
#include &lt;stdio.h&gt;
#include &lt;signal.h&gt;

#include "SDL2/SDL.h"
#include "libavformat/avformat.h"
#include "libavcodec/avcodec.h"

const char *stream_source = "/home/user1/tes...]]></description><category></category></item><item><title><![CDATA[台式机组RAID（SSD 256G*2 + RAID0）]]></title><link>https://blog.youkuaiyun.com/tech2ipo/article/details/78165918</link><guid>https://blog.youkuaiyun.com/tech2ipo/article/details/78165918</guid><author>tech2ipo</author><pubDate>Fri, 06 Oct 2017 16:44:22 +0800</pubDate><description><![CDATA[（1）首先需要确定你的电脑主板是否支持RAID。
（2）UEFI模式的U盘启动盘，用来安装Windows。
（3）在 英特尔®快速存储技术 的官网下载RAID的驱动。
（4）在BIOS界面设置RAID模式，使用RAID0模式。
（5）安装Windows，在硬盘分区界面，加载RAID驱动。]]></description><category></category></item><item><title><![CDATA[Qt4开发环境搭建（Qt4.8.7+mingw4.8.2+Qt Creator4.2.0）]]></title><link>https://blog.youkuaiyun.com/tech2ipo/article/details/71988984</link><guid>https://blog.youkuaiyun.com/tech2ipo/article/details/71988984</guid><author>tech2ipo</author><pubDate>Sun, 14 May 2017 16:36:38 +0800</pubDate><description><![CDATA[一、选择Qt4.8.7的原因

 本人从事嵌入式GUI开发，目前开源的UI框架，Qt是首选。

 首先在Qt4和Qt5的选择上，个人看法：Qt4相对比较成熟，组件没有Qt5那么多，但Qt4能应对大多数GUI开发的需求，包括界面美化。

 而Qt4.8.7又是Qt4的最后一个版本，同时能够在Qt官方找到指定的mingw版本。

 其他原因，参考

...]]></description><category></category></item><item><title><![CDATA[海康威视推出业界首款Android系统的网络键盘：Android键盘与传统键盘对比]]></title><link>https://blog.youkuaiyun.com/tech2ipo/article/details/57170634</link><guid>https://blog.youkuaiyun.com/tech2ipo/article/details/57170634</guid><author>tech2ipo</author><pubDate>Sun, 26 Feb 2017 00:04:38 +0800</pubDate><description><![CDATA[前两天，从海康威视官网的产品列表里发现海康推出了一款新的CMK（网络键盘 ），型号为DS-1600K（图1），看了一下产品简介和手册，使我对CMK、Android、海康等都有了新的认识。



      首先不得不佩服作为行业老大的海康威视，在网络键盘这样一个单一的产品类别上，也能做出令人兴奋的产品。同时我搜了一下国内其他安防厂商的CMK，还没有发现运行Android系统的CMK，也找了]]></description><category></category></item></channel></rss>