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

毕设做网站类型苏州网站建设设计公司哪家好

毕设做网站类型,苏州网站建设设计公司哪家好,wordpress退出维护,织梦cms怎么更改网站的路径文章目录 前言一、函数原型二、功能描述三、使用场景四、AVFormatContext 结构体五、代码实例 前言 avformat_alloc_output_context2 是FFmpeg库中的一个函数#xff0c;用于为输出多媒体文件初始化一个AVFormatContext结构体。这个函数在开始输出音频、视频数据到文件之前被… 文章目录 前言一、函数原型二、功能描述三、使用场景四、AVFormatContext 结构体五、代码实例 前言 avformat_alloc_output_context2 是FFmpeg库中的一个函数用于为输出多媒体文件初始化一个AVFormatContext结构体。这个函数在开始输出音频、视频数据到文件之前被调用它是多媒体文件操作过程中的一个关键步骤。 提示以下是本篇文章正文内容下面案例可供参考 一、函数原型 int avformat_alloc_output_context2(AVFormatContext **ctx, const AVOutputFormat *oformat,const char *format_name,const char *filename);参数说明 1、**AVFormatContext **ctx: 这是一个输出上下文指针的指针。 函数会为输出操作分配并初始化一个AVFormatContext结构并将指针地址赋给ctx。 在调用此函数前应将ctx初始化为NULL。2、const AVOutputFormat *oformat: 指向输出格式的指针。 这个参数可以是NULL此时函数会根据format_name或filename的扩展名自动推断输出格式。 如果不为NULL你应该提供一个特定的输出格式 例如对于MP4文件可能是av_guess_format(mp4, NULL, NULL)的结果这允许你精确控制输出格式。3、const char *format_name: 一个指定输出格式的字符串。 如果oformat为NULL且format_name非空FFmpeg会尝试根据这个名字找到合适的输出格式。 例如你可以传入mp4来指定输出为MP4格式。4、const char *filename: 输出文件的名称。 这个参数主要用于根据文件扩展名自动生成输出格式当oformat为NULL时。 如果同时提供了format_name则此参数主要用于信息提示并帮助确定编码器等。返回值 成功时返回0。 失败时返回一个负的错误代码如AVERROR_NOENT、AVERROR_INVALIDDATA等 具体可以通过av_strerror()函数转化为可读的错误信息二、功能描述 分配与初始化: 分配内存给AVFormatContext结构体并进行基本的初始化设置准备用于输出多媒体流。 自动检测格式: 如果未直接指定输出格式(oformat为NULL)函数会根据提供的文件名或格式名称自动检测应使用的输出格式。 准备输出: 为后续的音频、视频流的封装和实际数据的写入做准备 三、使用场景 当你需要使用FFmpeg库编写程序以编码并输出音频、视频到文件时这个函数是必须的初始化步骤。之后你通常会继续使用其他FFmpeg函数添加音视频流、打开文件、写入头信息、发送编码好的数据包等。 请注意使用完毕后应该通过avio_closep(ctx-pb)关闭IO上下文并通过avformat_free_context(ctx)释放整个AVFormatContext结构体所占用的资源。 四、AVFormatContext 结构体 AVFormatContext是FFmpeg库中的一个核心结构体它用于存储与多媒体容器格式相关的全局信息以及对输入输出操作的上下文管理。当你处理音频、视频文件或者流媒体时无论是进行解复用demuxing还是复用muxing都会用到这个结构体。 结构体定义概述: typedef struct AVFormatContext {/* 基本信息 */AVClass *av_class; // 对象的类信息用于日志和运行时类型信息intiformat *iformat; // 输入格式上下文包含文件格式信息AVOutputFormat *oformat; // 输出格式上下文包含输出文件的格式信息/* 文件/网络IO相关 */AVIOContext *pb; // 输入输出缓冲区上下文处理底层的读写操作char *filename; // 当前操作的文件名或URL/* 时间基相关 */AVRational pkt_timebase; // 数据包时间基用于时间戳转换int64_t start_time; // 流开始的时间戳int64_t duration; // 流的总时长单位是AV_TIME_BASE时间单位/* 音视频流信息 */int nb_streams; // 流的数量AVStream **streams; // 指向AVStream结构体数组的指针每个AVStream对应一个音视频流/* 其他控制选项 */int flags; // 格式上下文的标志比如AVFMT_FLAG_GENPTSint probesize; // 分析文件头时读取的数据量上限int max_analyze_duration; // 最大分析时长防止分析无限进行.../* 更多字段这里省略了众多用于控制和状态跟踪的高级选项 */ } AVFormatContext;五、代码实例 avformat_alloc_output_context2 主要用于为输出多媒体文件或流创建并初始化一个AVFormatContext结构体实例下面是一个使用该函数的代码示例展示了如何准备输出上下文以便进行复用即封装编码后的音视频数据到一个文件中 #include libavformat/avformat.h #include libavcodec/avcodec.h #include stdio.hint main() {// 初始化FFmpeg库av_register_all();avformat_network_init();const char *output_filename output.mp4; // 输出文件名const char *format_name NULL; // 可以指定输出格式名称如果根据文件名能自动推断则无需指定AVFormatContext *output_format_ctx NULL; // 输出格式上下文指针// 使用avformat_alloc_output_context2创建输出上下文int ret avformat_alloc_output_context2(output_format_ctx, NULL, format_name, output_filename);if (ret 0) {printf(Could not create output context\n);return -1;}// 如果是根据文件名自动推断的输出格式则可以从output_format_ctx-oformat中获取实际的输出格式信息if (!format_name) {printf(Automatically detected output format: %s\n, output_format_ctx-oformat-name);} else {// 如果手动指定了format_name则此处可以进行额外的格式设置或验证}// 接下来通常需要添加音视频流到输出上下文中配置流的相关参数// 然后打开输出文件并开始写入头部信息、编码数据等操作。// ...此处省略添加流、打开输出文件、写入数据等后续步骤...// 最终记得清理资源if (output_format_ctx ! NULL) {avio_close(output_format_ctx-pb);avformat_free_context(output_format_ctx);}return 0; }
http://www.hkea.cn/news/14309433/

相关文章:

  • 网站关键词多少个好用来做收录的网站
  • 开发一个app需要哪些技术视频网站 如何做seo
  • app外包网站花都建网站公司
  • 网站换程序 搜索引擎关键词分为哪几类
  • 网站短期培训学校西安网站维护
  • 公司网站条形码如何做做线上网站的风险分析
  • 贵阳网站定制电话号码长沙楼盘信息官网
  • 网站建设要费用多少网站是怎么建立的
  • 网站开发过程的需求分析无锡鸿源建设集团有限公司网站
  • 网站降权网站开发项目计划书
  • 网站建设好后打开是目录文件中国最大的电商平台是哪家
  • 做外贸的网站有哪些建设银行的积分网站
  • 做交通工程刬线的网站公司网站开发最好
  • 自动翻译wordpress苏州seo门户网
  • 校园网网站的安全建设方案保健品的营销及推广方案
  • 唐山网站排名推广wordpress自助发布插件
  • 东莞有什么比较好的网站公司标签怎么删除wordpress
  • 网站域名是什么东西crazyuncle WordPress
  • 兰州网站建设企业名录四川住房建设网站
  • 赣州企业网站在那做最开放的浏览器下载
  • 网站建设审批wordpress站外搜索
  • 烟台做网站房地产网址大全
  • 英文网站推广服务中国咨询公司排名前十名
  • 湖北住房和城乡建设厅官方网站成都新闻最新消息
  • 河南做网站多少钱无锡网站制作选哪家
  • 网站图片设置隐私保护怎么下载路由器搭建wordpress
  • 珠海建设工程网站开发人员公众号
  • react.js 做网站好吗哪些网站做简历合适
  • 如何评判网站建设岗位网站开发技术论文
  • 廊坊网站建设价格wordpress随机评论头像