现在位置: 首页 > 自动控制 > 工业·编程 > 文章
2020-01-06 09:10 工业·编程 ⁄ 共 951字 暂无评论
RTSP发起/终结流媒体之后,再通过RTP协议传输流媒体数据 ,RTCP对RTP进行控制,同步。既然叫协议就要满足各自的标准,比如各自协议里面的头、参数、步骤(比如RTP步骤包含tcp/udp协议),每一层都有自己的封装,然后发送出去,接收方按照各自协议解析出来。 RTSP:实时流协议 · RTSP的请求主要有DESCRIBE,SETUP,PLAY,PAUSE,TEARDOWN,OPTIONS等,顾名思义可以知道起对话和控制作用 · RTSP的对话过程中SETUP可以确定RTP/RTCP使用...
阅读全文
2020-01-05 08:36 工业·编程 ⁄ 共 1379字 评论 2 条
1、ORTP库概览 (1)库本身没有main,提供一堆功能函数,都在src目录下 (2)库的使用给了案例,有main,在src/tests目录下 (3)相关数据结构和头文件在include/ortp目录下 (4)ortp实现了rtp和rtcp协议,前者负责传输,后者负责控制和同步协调 2、ORTP库的使用案例 (1)src/tests/rtpsend.c (2)ortp_init及av_profile_init (3)ortp_scheduler_init和ORTP调度器:一个任务中完成多个会话的发送和接收,类似于select (4)rtp_session_new...
阅读全文
PROJECT(usocket)   cmake_minimum_required(VERSION 2.6)   set(CMAKE_CXX_COMPILER "g++")   SET(LIB_SRC     ./src/socket.c     ./src/eventing/libuv.c     ./src/eventing/epoll_kqueue.c     ./src/eventing/gcd.c     ./src/crypto/wolfssl.c     ./src/crypto/openssl.c   &...
阅读全文
void *us_loop_ext(struct us_loop_t *loop) {     return loop + 1; } void *us_socket_ext(int ssl, struct us_socket_t *s) { #ifndef LIBUS_NO_SSL     if (ssl) {         return us_internal_ssl_socket_ext((struct us_internal_ssl_socket_t *) s);     } #endif       return s + 1; }   void *us_i...
阅读全文
uSockets主要数据结构: struct us_poll_t {     uv_poll_t uv_p;     LIBUS_SOCKET_DESCRIPTOR fd;//这个其实就是把平台摸平了的fd     unsigned char poll_type; };   /* Internal callback types are polls just like sockets */ struct us_internal_callback_t {     alignas(LIBUS_EXT_ALIGNMENT) struct us_poll_t p;     struct us...
阅读全文
  最近在学习websockets的库,cpp主要有三个,websocketpp/libwebsockets/uwebsockets.看了一下简单明了的就是uWebSockets了,但是这个代码写的确实有点抽象。。。不太像我的风格。websocketpp要boost,有点巨大,不想用,libwebsockets虽然是c的,但是它的samples写的太磋,不太想用。纠结来纠结去还是用uWebSockets了,网址:https://github.com/uNetworking/uWebSockets  uWebSockets依赖uSockets: https://github...
阅读全文
2019-12-31 12:08 工业·编程 ⁄ 共 3489字 暂无评论
书单均是个人看过或者业界认可的经典书籍,如果你有何好书推荐,可在此留言补充。本文也会不定期更新书单。 计算机及系统原理 · 《编码:隐匿在计算机软硬件背后的语言》 【美】Charles Petzold · 《深入理解计算机系统》【美】Randal E.Bryant · 《深入理解Windows操作系统》【美】Russinovich,M.E.;Solomon,D.A. · 《Linux内核设计与实现》【美】Robert Love · 《深入理解Android内核设计思想》林学森 · 《Android系统源代...
阅读全文
2019-12-30 08:26 工业·编程 ⁄ 共 510字 暂无评论
Intel 4004 (1971) Intel 8008 (1972) Intel 8080 (1974) Intel 8085 (1976) Intel 8086 (1978) Intel 8088 (1979) Intel 80286 (1982) Intel i80386 (1985) Intel i80486 (1989) Intel Pentium (1993) Intel Pentium MMX (1997) Intel Pentium Pro (1995) Intel Pentium Ⅱ (1997) Intel Celeron (1998) Intel Xeon (1998) Intel Pentium Ⅲ (1...
阅读全文
2019-12-29 06:23 工业·编程 ⁄ 共 1347字 暂无评论
Libevent、libev、libuv三个网络库,都是c语言实现的异步事件库 libevent :名气最大,应用最广泛,历史悠久的跨平台事件库; libev :较libevent而言,设计更简练,性能更好,但对Windows支持不够好; libuv :开发node的过程中需要一个跨平台的事件库,他们首选了libev,但又要支持Windows,故重新封装了一套,linux下用libev实现,Windows下用IOCP实现; 功能 由epoll,kqueue,IOCP和事件端口支持的功能齐全的事件循环。 异...
阅读全文
2019-12-28 08:23 工业·编程 ⁄ 共 923字 暂无评论
C标准函数库   (C standard library,缩写:libc)。标准函数库通常会随附在编译器上。windows系统和Linux系统下都可以尽情使用。是最基本的C函数库,也叫ANSI C。   ANSI C共包括15个头文件。1995年,Normative Addendum 1 (NA1)批准了3个头文件(iso646.h、wchar.h和wctype.h)增加到C标准函数库中。C99标准增加了6个头文件(complex.h、fenv.h、inttypes.h、stdbool.h、stdint.h和tgmath.h)。C11标准中又新增...
阅读全文