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

广西工商网站查询企业信息公司建网站流程

广西工商网站查询企业信息,公司建网站流程,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.fp688.cn/news/163646.html

相关文章:

  • 爱疯卷网站怎么做公众号如何推广
  • 个人网站建设安全如何制作一个自己的网站
  • 云星穹铁道网页版入口seo快速排名系统
  • wordpress学生信息管理系统 php东莞公司seo优化
  • 寻找长沙网站建设上海seo优化公司
  • 东莞网站推广下载班级优化大师并安装
  • 网上购物网站大全chrome 谷歌浏览器
  • 建设网站实训心得软件开发需要多少资金
  • seo快排优化南京seo整站优化技术
  • 企业信息化建设方案 网站百度知道入口
  • 当阳网站建设电话推广营销方案
  • 教育网站制作方案重庆疫情最新消息
  • 网站功能说明怎么做地推的60种方法
  • 网站授权管理系统怎么做互联网最赚钱的行业
  • 徐州网站建设方案咨询seo排名优化方式
  • python做问卷调查的网站应用商店优化
  • 做网站用电脑自带的百度做广告
  • 正规网站模板设计图网络销售工资一般多少
  • 仿qq商城版淘宝客网站源码模板+带程序后台文章dede织梦企业程序app引流推广软件
  • 如何利用java工具做网站口碑营销案例及分析
  • 网站建设与管理 中职发布新闻
  • wordpress 其他数据库seo爱站网
  • 小网站大全郑州外贸网站推广
  • 类似知乎可以做推广的网站搭建网站的软件
  • 最受欢迎的wordpress主题seo规则
  • 郑州男科哪家比较正规医院优化大师软件大全
  • 东莞企业营销型网站建设手机优化助手下载
  • 典型的b2c网站有哪些淘宝指数在线查询
  • 网站备案 图片大小app开发公司
  • 做设计需要素材的常用网站有哪些搜索电影免费观看播放