自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(12)
  • 资源 (3)
  • 收藏
  • 关注

原创 多客户端通信之Select服务器

多客户端通信之Select服务器// server3.cpp : 定义控制台应用程序的入口点。 //include “stdafx.h”include include include “SocketList.h”using namespace std;DWORD WINAPI WorkThread(LPVOID lpParam) { SocketList* userlist=(Sock

2017-01-30 21:15:12 495

转载 Socket学习之select多路复用的客户/服务器模型

1. 阻塞与非阻塞首先介绍几个基本的概念。阻塞方式( block ),顾名思义,就是进程或是线程执行到这些函数时必须等待某个事件的发生,假如事件没有发生,进程或线程就被阻塞,函数不能立即返回。非阻塞方式( non-block ),就是进程或线程执行此函数时不必非要等待事件的发生,一旦执行肯定返回,以返回值的不同来反映函数的执行情况,假如事件发生则和阻塞方式相

2017-01-29 22:23:22 236

原创 Socket学习select服务器最简单的客户端

int _tmain(int argc, _TCHAR* argv[]){//初始化WinsockWSADATA wsaDATA;WORD version = MAKEWORD(2, 0);int ret = WSAStartup(version, &wsaDATA);if(ret != 0)cout     SOCKET m_hSocket;SOCKA

2017-01-28 04:48:09 826

原创 Socket学习之select最简版服务器

首先创建一个Windows网络程序,定义变量->获得WINDOCK版本->加载WINSOCK库->初始化->创建套接字->设置套接字选项->关闭套接字->卸载WINSOCK库->释放资源首先要初始化一个WinSockettypedef struct WSAData {        WORD                    wVersion; 

2017-01-27 10:46:04 1267

原创 Live555 源码分析之延迟事件处理

live555的延迟事件       主要存放在BasicTaskScheduler0的成员变量       DelayQueue fDelayQueue;中       其中              DelayQueue 含有对延迟事件单元的增删改查       DelayQueueEntry中有DelayInterval fDeltaTimeRemaining

2017-01-25 15:50:32 1138

原创 ffmpeg 将图片合成视频以及将内存数据合成视频

av_register_all();//初始化解码器和复用器AVFormatContext*  ofmt_ctx = NULL;//其包含码流参数较多,是一个贯穿始终的数据结构,很多函数都要用到它作为参数//首先创建一个封装格式,avformat_alloc_output_context2(&ofmt_ctx, NULL, NULL, out_filenam

2017-01-24 17:30:09 5084 5

转载 ffmpeg 编码器AVCodecContext 的配置参数

1、先说一些基本的API[cpp] view plaincopyAVFormatContex * pFormatCtxEnc;  AVCodecContext * pCodecCtxEnc;    AVStream * video_st;  AVOutputFormat * pOutputFormat;    pOut

2017-01-24 14:15:31 624

转载 select阻塞与非阻塞的含义

一个套接字阻塞或者不阻塞,select就在那里,它可以针对这2种套接字使用,对任何一种套接字的轮询检测,超时时间都是有效的,区别就在于:当select完毕,认为该套接字可读时,1 .阻塞的套接字,会让read阻塞,直到读到所需要的所有字节;2 .非阻塞的套接字,会让read读完fd中的数据后就返回,但如果原本你要求读10个数据,这时只读了8个数据,如果你不再次使用selec

2017-01-24 11:44:59 4352

原创 socket编程之select()

Select在Socket编程中还是比较重要的,它能够监视我们需要监视的文件描述符的变化情况——读写或是异常。 int select(int maxfdp,fd_set *readfds,fd_set *writefds,fd_set *errorfds,struct timeval *timeout); /*参数列表int maxfdp是一个整数值,是指集合中所有文件描述符的范围

2017-01-24 11:15:31 388

转载 ffmpeg时间戳设置以及含义

FFMPEG的很多结构中有AVRational time_base;这样的一个成员,它是AVRational结构的typedef struct AVRational{    int num; ///    int den; ///} AVRational;AVRational这个结构标识一个分数,num为分数,den为分母。实际上time_base的意思就是

2017-01-22 19:21:35 5758

原创 rtp协议解析

RTP简要介绍实时传送协议(Real-time Transport Protocol或简写RTP,也可以写成RTTP)是一个网络传输协议,它是由IETF的多媒体传输工作小组1996年在RFC 1889中公布的。RTP协议详细说明了在互联网上传递音频和视频的标准数据包格式。它一开始被设计为一个多播协议,但后来被用在很多单播应用中。RTP协议常用于流媒体系统(配合RTCP协议或者R

2017-01-22 16:25:50 728

原创 Live555 流媒体服务器启动

TaskScheduler* scheduler = BasicTaskScheduler::createNew();  创建BasicTaskScheduler对象BasicTaskScheduler::createNew(unsigned maxSchedulerGranularity)   参数maxSchedulerGranularity的含义是指定我们默认等待时间返回事件循环以处

2017-01-18 21:57:38 546

基于live555的Rtsp服务器源码

基于live555的Rtsp服务器源码

2017-02-20

FFmpeg开发包

FFmpeg开发包

2017-02-16

空空如也

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

TA关注的人

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