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

做seo的网站利川网站建设

做seo的网站,利川网站建设,赣州做网站公司哪家好,温岭做网站公司文章目录 前言一、Libavutil 简介二、AVLog 测试1、示例源码2、运行结果 三、AVDictionary 测试1、示例源码2、运行结果 四、ParseUtil 测试1、示例源码2、运行结果 前言 libavutil 是一个实用库#xff0c;用于辅助多媒体编程#xff0c;本文记录 libavutil 库学习及 demo 例… 文章目录 前言一、Libavutil 简介二、AVLog 测试1、示例源码2、运行结果 三、AVDictionary 测试1、示例源码2、运行结果 四、ParseUtil 测试1、示例源码2、运行结果 前言 libavutil 是一个实用库用于辅助多媒体编程本文记录 libavutil 库学习及 demo 例程展示。 一、Libavutil 简介 libavutil 是一个实用库用于辅助多媒体编程。此库包含安全的可移植字符串函数、随机数生成器、数据结构、附加数学函数、加密和多媒体相关功能如像素和样本格式的枚举。 libavcodec 和 libavformat 并不依赖此库。 从 FFmpeg 官网的文档 -libavutil 来看 avutil 主要有以下几种功能 数学函数字符串操作内存管理相关数据结构相关错误码及错误处理日志输出其他辅助信息比如密钥、哈希值、宏、库版本、常量等 FFmpeg 中 libavutil 的示例目前包含 AVLogAVOption (AVClass)AVDictionaryParseUtil 二、AVLog 测试 AVLog 是 FFmpeg音视频处理库中的一个日志系统用于记录和输出日志信息。它提供了一种可配置的方式使开发者能够根据自己的需求控制日志输出的详细程度和目标。 AVLog 的设计目标是提供一个灵活和可扩展的日志系统以便在音视频处理过程中记录各种事件、错误和调试信息。它可以用于调试和分析应用程序或库的运行时行为特别是在处理音视频数据时。 AVLog 提供了多个日志级别包括 QUIET静默最低日志级别不输出任何日志信息。PANIC紧急当发生严重错误时触发可能导致程序崩溃或不可恢复的错误。FATAL致命当发生严重错误时触发但程序可能还能继续执行。ERROR错误记录错误信息表示发生了一些操作失败或异常情况但程序仍然可以继续执行。WARNING警告记录警告信息表示发生了一些潜在问题或不符合预期的情况。INFO信息记录一般的信息用于追踪应用程序的运行状态。VERBOSE详细记录更详细的信息用于调试和排查问题。DEBUG调试记录详细的调试信息包括函数调用、变量值等。 1、示例源码 #include stdio.hextern C {#include libavcodec/avcodec.h#include libavformat/avformat.h#include libavutil/opt.h#include libavutil/parseutils.h#include libavutil/avutil.h };void test_log(){/ av_register_all();AVFormatContext *pAVFmtCtx NULL;pAVFmtCtx avformat_alloc_context();printf(\n);av_log(pAVFmtCtx,AV_LOG_PANIC, Panic: Something went really wrong and we will crash now.\n);av_log(pAVFmtCtx,AV_LOG_FATAL, Fatal: Something went wrong and recovery is not possible.\n);av_log(pAVFmtCtx,AV_LOG_ERROR, Error: Something went wrong and cannot losslessly be recovered.\n);av_log(pAVFmtCtx,AV_LOG_WARNING, Warning: This may or may not lead to problems.\n);av_log(pAVFmtCtx,AV_LOG_INFO, Info: Standard information.\n);av_log(pAVFmtCtx,AV_LOG_VERBOSE, Verbose: Detailed information.\n);av_log(pAVFmtCtx,AV_LOG_DEBUG, Debug: Stuff which is only useful for libav* developers.\n);printf(\n);avformat_free_context(pAVFmtCtx); }int main(int argc, char* argv[]) {av_log_set_level(AV_LOG_DEBUG);test_log();return 0; }avformat_alloc_context()分配一个 AVFormatContextavformat_free_context()可用于释放上下文以及其中由框架分配的所有内容av_log()如果 level 小于或等于当前 av_log_level则将指定的消息发送到日志。默认情况下所有日志消息都发送到 stderr。可以通过设置不同的日志回调函数来更改此行为。 2、运行结果 [NULL 01e0fc40] Panic: Something went really wrong and we will crash now. [NULL 01e0fc40] Fatal: Something went wrong and recovery is not possible. [NULL 01e0fc40] Error: Something went wrong and cannot losslessly be recovered. [NULL 01e0fc40] Warning: This may or may not lead to problems. [NULL 01e0fc40] Info: Standard information. [NULL 01e0fc40] Verbose: Detailed information. [NULL 01e0fc40] Debug: Stuff which is only useful for libav* developers.三、AVDictionary 测试 AVDictionary 是 FFmpeg音视频处理库中的一个字典结构用于存储键值对的元数据信息。它提供了一种通用的方式来管理和操作多种类型的元数据例如音视频流的元数据、编解码器的参数、封装格式的选项等。 AVDictionary 的设计目标是提供一种灵活和可扩展的数据结构用于表示和传递各种元数据信息。它可以用于读取和写入多种音视频文件格式并且支持动态添加、修改和查询字典中的元素。 AVDictionary 提供了一系列的函数来对字典进行操作包括 av_dict_set()向字典中添加或修改键值对。av_dict_get()根据键查询字典中的值。av_dict_count()获取字典中键值对的数量。av_dict_copy()复制一个字典。av_dict_free()释放字典及其内部分配的内存。 除了基本的操作函数外AVDictionary 还支持迭代器遍历字典中的键值对以及支持将字典转换为字符串格式进行打印或保存。 1、示例源码 #include stdio.hextern C {#include libavcodec/avcodec.h#include libavformat/avformat.h#include libavutil/opt.h#include libavutil/parseutils.h#include libavutil/avutil.h };void test_avdictionary(){AVDictionary *d NULL;AVDictionaryEntry *t NULL;av_dict_set(d, name, zhangsan, 0);av_dict_set(d, age, 22, 0);av_dict_set(d, gender, man, 0);av_dict_set(d, email, wwwwww.com, 0);//av_strdup()char *k av_strdup(location);char *v av_strdup(Beijing-China);av_dict_set(d, k, v, AV_DICT_DONT_STRDUP_KEY | AV_DICT_DONT_STRDUP_VAL);printf(\n);int dict_cnt av_dict_count(d);printf(dict_count:%d\n,dict_cnt);printf(dict_element:\n);while (t av_dict_get(d, , t, AV_DICT_IGNORE_SUFFIX)) {printf(key:%10s | value:%s\n,t-key,t-value);}t av_dict_get(d, email, t, AV_DICT_IGNORE_SUFFIX);printf(email is %s\n,t-value);printf(\n);av_dict_free(d); }int main(int argc, char* argv[]) {test_avdictionary();return 0; }2、运行结果 dict_count:5 dict_element: key: name | value:zhangsan key: age | value:22 key: gender | value:man key: email | value:wwwwww.com key: location | value:Beijing-China email is wwwwww.com四、ParseUtil 测试 ParseUtil 提供了一些实用的函数和方法用于解析和转换编解码器参数字符串以及处理编解码器参数的操作。它主要用于解析编解码器的选项和参数并将它们转换为适当的数据结构供 FFmpeg 使用。 一些常见的功能和用途包括 解析编解码器参数ParseUtil 可以解析编解码器参数字符串将其拆分为键值对或特定格式的数据。转换参数数据类型它可以将参数字符串中的数值或其他特定格式的数据转换为适当的数据类型如整数、浮点数等。构建编解码器参数结构ParseUtil 可以根据解析的结果构建编解码器参数的数据结构以便在 FFmpeg 中使用。错误处理它提供了一些错误处理机制用于检测和处理无效的参数字符串或错误的参数格式。 1、示例源码 #include stdio.hextern C {#include libavcodec/avcodec.h#include libavformat/avformat.h#include libavutil/opt.h#include libavutil/parseutils.h#include libavutil/avutil.h };void test_parseutil(){char input_str[100] {0};printf( Parse Video Size \n);int output_w 0;int output_h 0;strcpy(input_str, 1920x1080);av_parse_video_size(output_w,output_h,input_str);printf(w:%4d | h:%4d\n,output_w,output_h);//strcpy(input_str,vga);//640x480(4:3)//strcpy(input_str,hd1080);//high definitionstrcpy(input_str,pal);//ntsc(N制720x480, pal啪制720x576av_parse_video_size(output_w, output_h, input_str);printf(w:%4d | h:%4d\n,output_w,output_h);printf( Parse Frame Rate \n);AVRational output_rational {0,0};strcpy(input_str,15/1);av_parse_video_rate(output_rational,input_str);printf(framerate:%d/%d\n,output_rational.num,output_rational.den);strcpy(input_str,pal);//fps:25/1av_parse_video_rate(output_rational,input_str);printf(framerate:%d/%d\n,output_rational.num,output_rational.den);printf( Parse Time \n);int64_t output_timeval;//单位微妙 1S1000MilliSeconds, 1MilliS1000MacroSecondsstrcpy(input_str,00:01:01);av_parse_time(output_timeval,input_str,1);printf(microseconds:%lld\n,output_timeval);printf(\n); }int main(int argc, char* argv[]) {test_parseutil();return 0; }av_parse_video_size()用于解析视频大小字符串并将其转换为对应的宽度和高度av_parse_video_rate()用于解析视频帧率字符串并将其转换为对应的帧率值av_parse_time()用于解析时间字符串并将其转换为对应的时间值以微秒为单位 2、运行结果 Parse Video Size w:1920 | h:1080 w: 720 | h: 576Parse Frame Rate framerate:15/1 framerate:25/1Parse Time microseconds:61000000我的qq2442391036欢迎交流
http://wiki.neutronadmin.com/news/241146/

相关文章:

  • 做网站卖机器能看所有网站的浏览器
  • 浙江网站建设方案广西网络干部学院官网
  • 网站配色 原则专业的网站制作公司
  • 京东联盟怎么做CMS网站wordpress调用标签大全
  • 做微网站需要域名吗网站的建设与维护
  • 西宁网站制作做旅游产品的网站有哪些
  • 做响应网站的素材网站有哪些什么是网络营销网络营销的特点有哪些
  • 网站制作的前期主要是做好什么工作彩虹网站建设
  • 最新的网站搭建工具汕尾网站网站建设
  • 南阳做网站公司哪家好国外网站流量查询
  • 外贸建站系统源码保山市住房和城乡建设厅网站
  • 网站设置搜索关键字江苏交通建设监理协会网站
  • 网站建设毕业设计说明书word文档12个优秀的平面设计素材网站
  • 企业网站的作用和意义外包员工强制辞退找谁赔偿
  • 酷站海洛重庆合川企业网站建设
  • 自己的域名搭建网站分类目录seo wordpress
  • 做网站需要神虚拟主机如何搭建网站
  • 珠海专业做网站制作专业广州网站建设
  • 中国建设行业信息网站针对人群不同 网站做细分
  • 网站建设幽默做单机游戏破解的网站
  • 网站怎么进入网站建设软件哪个最好
  • 做传销网站的程序员犯法吗网址导航大全
  • 网站推广名片如何注册网站的名字
  • 凡科网建站系统源码vs2012网站开发
  • 台州品牌网站建设市场营销策略论文参考文献
  • 云南智能建站百度指数对比
  • 做网站深圳搭建网站有哪些
  • 万维网官方网站官方网站下载水印相机
  • 网站建设的关键问题图书馆网站建设情况总结
  • 科技成果转化网站建设方案江苏建设招投标网