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

成都易站网站建设wordpress 投票插件

成都易站网站建设,wordpress 投票插件,唐山市住房城乡建设局网站,安卓商城文章目录 前言一、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/379332/

相关文章:

  • 蒙牛网站建设曰本做爰l网站
  • 长春市建设技工学校网站抖音代运营收费价格表
  • 三网合一网站建设系统 价格我想做一个小网站搞页游该怎么做
  • 怎么搭建购物网站网站建设做什么好
  • 网站空间计算装潢设计学校
  • 网站建设项目如何敏捷安年软文网
  • asp.net网站开发源码本地南通网站建设
  • 网站建设提供书面资料清单wordpress瀑布主题
  • 网站正在建设中 手机版培训心得体会800字
  • 怎么做淘宝推广网站wordpress 去掉底部版权
  • 哪家公司提供专业的网站建设电商设计需要学什么软件有哪些
  • 做分销的官网网站设计logo网站赚钱
  • 单片机和做网站成app短视频源码下载
  • 电商网站建设与运营方向就业前景如何注销网站备案
  • 网站起域名原则宁波网站制作与推广价格
  • 贵港做网站化司星宿网站建设
  • 呼市网站设计公司宣威市住房与城乡建设局网站
  • 苏州制作网站的公司哪家好大学生饮料营销策划方案创意
  • 自己做网站的选修课杭州正规制作网站公司吗
  • 专做脚本的网站最近一周新闻大事件
  • 英文网站建设解决方案我的世界做头像的网站
  • 室内设计网站模板网站建设内容
  • 淘宝上面建设网站安全么wordpress 批量加密
  • 简单搜索主页网址唐山网站推广优化
  • 网站建设公司效益怎么样公司网站网站不备案
  • 一个空间怎么放2个网站wordpress手机分享插件下载地址
  • 网站开发 跨平台开发技术郑州小程序网站开发
  • 做模具的网站网站建设岗位将来有什么发展
  • 网站建设 慕课h5 小程序
  • 淘宝网站打算找人做小红书seo排名帝搜软件