当前位置: 首页 > news >正文

网站建设前的市场分析怎么写wordpress 本地加速

网站建设前的市场分析怎么写,wordpress 本地加速,Wordpress无法显示,教师个人网站建设目录 0.avformat_open_input的rtsp流程程纯净版1.rtsp拉流流程图2.rtsp拉流对象图 标准rtsp协议的基石是tcp,本节探索下ffmpeg的rtsp拉流协议tcp的创建及rtsp协商过程。 0.avformat_open_input的rtsp流程程纯净版 ffmpeg拉流,从avformat_open_input接口…

目录

  • 0.avformat_open_input的rtsp流程程纯净版
  • 1.rtsp拉流流程图
  • 2.rtsp拉流对象图

标准rtsp协议的基石是tcp,本节探索下ffmpeg的rtsp拉流协议tcp的创建及rtsp协商过程。

0.avformat_open_input的rtsp流程程纯净版

ffmpeg拉流,从avformat_open_input接口开始,去除与rtsp拉流无关的代码后,如下:


int avformat_open_input(AVFormatContext **ps, const char *filename,const AVInputFormat *fmt, AVDictionary **options)
{AVFormatContext *s = *ps;FFFormatContext *si;AVDictionary *tmp = NULL;int ret = 0;if (!s && !(s = avformat_alloc_context()))return AVERROR(ENOMEM);si = ffformatcontext(s);if (!s->av_class) {av_log(NULL, AV_LOG_ERROR, "Input context has not been properly allocated by avformat_alloc_context() and is not NULL either\n");return AVERROR(EINVAL);}if (options)av_dict_copy(&tmp, *options, 0);if ((ret = av_opt_set_dict(s, &tmp)) < 0)goto fail;if (!(s->url = av_strdup(filename ? filename : ""))) {ret = AVERROR(ENOMEM);goto fail;}if ((ret = init_input(s, filename, &tmp)) < 0)goto fail;s->probe_score = ret;s->duration = s->start_time = AV_NOPTS_VALUE;/* Allocate private data. */if (s->iformat->priv_data_size > 0) {if (!(s->priv_data = av_mallocz(s->iformat->priv_data_size))) {ret = AVERROR(ENOMEM);goto fail;}if (s->iformat->priv_class) {*(const AVClass **) s->priv_data = s->iformat->priv_class;av_opt_set_defaults(s->priv_data);if ((ret = av_opt_set_dict(s->priv_data, &tmp)) < 0)goto fail;}}if (s->iformat->read_header){if ((ret = s->iformat->read_header(s)) < 0) {if (s->iformat->flags_internal & FF_FMT_INIT_CLEANUP)goto close;goto fail;}}si->raw_packet_buffer_size = 0;update_stream_avctx(s);if (options) {av_dict_free(options);*options = tmp;}*ps = s;return 0;close:if (s->iformat->read_close)s->iformat->read_close(s);
fail:av_dict_free(&tmp);avformat_free_context(s);*ps = NULL;return ret;
}

其中留下了字典参数配置流程,因为基本会有所设置,参数配置参见《ffmpeg面向对象——参数配置机制及其设计模式探索》。

输入格式匹配(看下面流程图会清晰点),参见《ffmpeg面向对象-rtsp拉流相关对象》的第2节。

协议匹配机制(看下面流程图会清晰点),参见《ffmpeg面向对象——拉流协议匹配机制探索》。

输入格式类与协议类什么关系参见《ffmpeg面向对象——AVInputFormat与URLProtocol啥关系》。

这些结合流层图与对象图看会清晰点。

1.rtsp拉流流程图

在这里插入图片描述
rtsp的tcp链接创建在图中最右边。
rtsp协商流程也比较清晰,可以看到ff_rtsp_send_cmd是各个协商方法最终都要调用的中心转发节点。
另外可以看到底层tcp协议读写是如何对接的,结合下面对象图,就能深入理解输入格式类与协议类的关系,它们面向接口编程,各自分层迭代开发,互不影响。

2.rtsp拉流对象图

在这里插入图片描述

可琢磨的比较多,其中,输入格式类与底层协议类型都是“可变的”,因为这两者都是代码运行中匹配出来的,所以它们都被更上一层的进行“托管”。参见《ffmpeg面向对象——priv_data设计原理探索》。

http://www.yayakq.cn/news/397572/

相关文章:

  • 南宁做网站公司必荐云尚网络做性的网站有哪些内容
  • 江苏省住房城乡建设厅门户网站手机摄影网站
  • 无锡网站建设 微信济南企业型网站
  • 彩页设计网站手机欧美视频网站模板下载 迅雷下载 迅雷下载地址
  • 列表怎么做网站东道设计公司怎么样
  • 注册网站刀具与钢材范围国外有做塑料粒子的网站吗
  • 郑州建设厅官方网站做的漂亮的家居网站
  • 商标设计logo免费生成器网站定制网站多少钱
  • 网站开发流程属于制作与开发怎样建设微网站首页
  • 大学生简历制作网站python在线编程题库
  • 关键词优化排名工具桂林seo
  • 比较大的建站公司市场营销证书含金量
  • 天津建设网站的公司哪家好洛阳新光建站系统
  • 怎么用dw英文版做网站茂名住房和城乡建设局网站
  • 网站建设费用包括网站备案变更主体
  • 创意建站推荐网站推广站
  • 网站备案费一般是多少北京餐饮设计公司哪家好
  • 网站主机设置方法深圳的网站设计
  • 做外贸生意上哪个网站windows网站建设教程
  • 怎么在百度上做推广杭州百家号优化
  • 关于网站建设费用工作总结范文简短
  • 网站备案号去哪查询零基础怎么建设网站
  • 厦门市建设工程造价网站杭州市网站推广
  • 承德微网站开发防封电销系统
  • 潍坊市奎文建设局网站qq炫舞做字网站
  • 网站开发需要用什么软件浙江省建设质量工程协会网站
  • asp.net网站开发教程下载情侣博客 wordpress
  • 成都专业做网站推广电话电商数据分析
  • 东莞市国外网站建设多少钱网站定位策划
  • 网站制作过程合理的步骤是( )网站建设连接