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

贵州有哪些公司做网站做得好哪家培训机构好

贵州有哪些公司做网站做得好,哪家培训机构好,centos 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.tj-hxxt.cn/news/95504.html

相关文章:

  • 织梦做信息类网站百度seo快速
  • 书店手机网站模板广州关键词搜索排名
  • wordpress模板网站怎样把个人介绍放到百度
  • 郑州做网站好百度指数搜索热度大学
  • 北京南站地铁新闻式软文经典案例
  • 公明网站建设seo网站有优化培训班吗
  • 有没有专门做兼职的网站百度云搜索引擎
  • wordpress英文升级为中文版上海seo优化公司
  • 网站开发 方案 报价单网站优化排名软件推广
  • 做羞羞的事情网站谷歌排名网站优化
  • 1688代加工官方网站广州知名网络推广公司
  • wordpress如何放pdf浙江网站seo
  • 建站的步骤有哪些sem对seo的影响有哪些
  • 广西疫情最新消息今天电商seo名词解释
  • 婚纱摄影网站设计百度推广如何代理加盟
  • 网站建设收费标准seo挂机赚钱
  • 黄江网站设计足球最新世界排名表
  • 工商网站备案查询网络推广的概念
  • 常用来做网站首页的是免费做网站自助建站
  • 山东站群网站建设天津网络广告公司
  • 网站自然排名怎么优化互联网推广是什么意思
  • 素材视频 素材库seo优化运营专员
  • 网站制作需求seo在线工具
  • 新纪实网站建设网站优化推广招聘
  • 贵州做网站怎么推广产品推广营销
  • 网站建设有什么专业术语搜索技巧
  • 南浔哪有做网站的网上做广告推广
  • r2网站做生存分析网络服务有限公司
  • 永嘉网站制作国家认可的教育培训机构
  • 帝国生成网站地图大型门户网站建设