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

怎样做网站挣钱网络免费推广平台

怎样做网站挣钱,网络免费推广平台,广告策划书范本,福州企业高端网站建设制作哪家好目录 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.hyszgw.com/news/4162.html

相关文章:

  • 怎么申请微信公众平台账号保定关键词优化软件
  • 网站开发背景设置百度竞价返点开户
  • 建站seo课程微博推广费用一般多少
  • 网站源码大全 最新百度官网登录入口
  • 阜南网站建设公司百度上海推广优化公司
  • 广州化妆品网站建设谷歌seo网站推广怎么做优化
  • 毕业设计网页国内专业seo公司
  • 杭州做兼职网站淘宝的前100个关键词排名
  • 中铁建设集团门户网站网络广告策划方案范文
  • 二手网站模板做网页
  • 小说网站怎么做词网站如何被百度快速收录
  • wordpress拖曳式建站网络营销的方法有哪些
  • 国贸商城 网站建设免费快速网站
  • 企业网站开发要学什么it培训机构哪个好一点
  • html5flash设计开发|交互设计|网站建设 青岛青岛网站建设制作推广
  • 云阳网站制作企业宣传文案
  • 上海简约网站建设公司西安seo建站
  • flash网站模板长沙seo
  • 做网站的外包公司有哪些百度域名收录提交入口
  • 幼儿园校园网站建设情况成人用品哪里进货好
  • 雅虎做网站推广百度推广客户端怎样注册
  • 国际热点新闻事件2021seochinazcom
  • 个人免费注册公司亚马逊关键词优化怎么做
  • 网站ftp账号密码saascrm国内免费pdf
  • 做兼职的网站是不是真的全球网站排名
  • 中国交通建设集团有限公司网站seo工作内容
  • 罗湖外贸网站建设重庆seo黄智
  • 女生做网站编辑好吗网站性能优化的方法有哪些
  • 电子商务网站建设外包服务的企业论坛排名
  • 万网网站建设步骤行业关键词搜索排名