首页 > TAG信息列表 > av
《发现一个有趣的函数:av_strerror》
去官网查看函数的定义: int av_strerror(int errnum, char * errbuf, size_t errbuf_size) Parameters参数描述: errnum: error code to describe(错误码值) errbuf: buffer to which description is written(将要被写进错误描述的数组) errbuf_size: the size in byteJava表达式计算工具-Aviator的使用
Java表达式计算工具-Aviator的使用 添加依赖: <!-- https://mvnrepository.com/artifact/com.googlecode.aviator/aviator --> <dependency> <groupId>com.googlecode.aviator</groupId> <artifactId>aviator</artifactId> <version>pipe
pipe linux中的bash可以使用管道,如ls | sort | head -4。通过管道机制,我们能够进行输入和输出流的重定位,即前一个命令的输出就是下一个命令的输入,从而实现很多信息过滤的功能。 1. 创建pipe int pps[2]; // 管道文件描述符 int pipe(pipe) // 创建管道 一般来说,管道创建ffmpeg实现mjpeg摄像头的采集-预览-拍照
参考链接:https://www.cnblogs.com/tla001/p/7061758.html 摄像头输出是mjpeg格式的,需要实现在线预览功能,然后实现拍照功能 1.可以设置采集图像的分辨率,预览分辨率为640*480,可以自定义 2.ctrl+\ 拍照,ctrl+c 退出 点击查看代码 void test() { if (signal(SIGQUIT, siffmpeg解码随笔
运行资源下载: 链接:https://pan.baidu.com/s/1XEZHO5SnvvFfCfVbfqjdwQ 提取码:odie // 写文件方式提取 11.yuv 里的 y u v void extract_yuv(const char* path,int width,int height){ FILE* fp = fopen(path,"rb+"); FILE* f1 = fopen("yuv420_y.y","wb+WinUI3 FFmpeg.autogen 播放视频,实现播放,暂停,停止,进度条设置播放时间。
在上一篇文章WinUI3 FFmpeg.autogen解析视频帧,使用win2d显示内容. - 吃饭/睡觉 - 博客园 (cnblogs.com) 里已经将整个视频解码的流程都实现了,现在我们来将整个播放视频所需要的 播放,暂停,停止,和进度条功能都实现。 效果图 一. 视频跳转进度到指定的时间。播放器FFmpeg学习:复用器的使用(录制摄像头和麦克风数据,输出mkv文件)
介绍 本文在上一篇复用器的使用基础上,将输入文件改为摄像头和麦克风 目前只是单线程 代码如下: 点击查看代码 #include <iostream> #define __STDC_CONSTANT_MACROS //它允许C++程序使用C99标准中指定的 stdint.h 宏,而这些宏不在C++标准中。 //诸如 UINT8_MAX , INT64_MIN 和 IFFmpeg学习:常用api——缓冲区队列相关
时间戳相关API 时间基转换相关api 缓冲区队列相关api 视频(AVFifoBuffer:先进先出的循环缓冲) 1、结构体定义 typedef struct AVFifoBuffer { uint8_t *buffer; uint8_t *rptr, *wptr, *end; uint32_t rndx, wndx; } AVFifoBuffer; 2、申请fifo /* *分配单个size大小的f海康摄像机rtsp地址格式
海康摄像机rtsp地址格式 https://www.zhihu.com/question/325391869 中控界面通过RTSP播放视频方法 1、局域网内测试 摄像机IP192.168.1.70//确认摄像机IP地址 IE界面登录//确认摄像机用户名+密码 配置-视音频-视频-视频编码-H.264//确认编码格式H.264 配置-网络-基本配置-端FFmpeg中的关键方法及结构体(二)avformat_open_input
avformat_open_input 该方法声明在libavformat/avformat.h:2093 int avformat_open_input(AVFormatContext **ps, const char *url, const AVInputFormat *fmt, AVDictionary **options); 方法实现位于libavformat/demux.c:207,该方法主要用来选择IO以及ffmpeg编译错误/libfdk-aacenc.c: In function 'aac_encode_init'
需要手动打一个补丁 https://git.libav.org/?p=libav.git;a=commitdiff_plain;h=141c960e21d2860e354f9b90df136184dd00a9a8;hp=c8bca9fe466f810fd484e2c6db7ef7bc83b5a943 不想打补丁就复制下面代码命名为libfdk-aacenc.c放到libavcodec下 /* * AAC encoder wrapper * Copyrigh文件操作
打开文件关闭文件 文件分为:二进制(dat)和文本文件(txt); 代码: #include<stdio.h> #include<stdlib.h> { FILE *fp; if ((fp=fopen("地址&名字","方式"))==NULL) { printf("cannot open file\n"); exit(0); } fclose(fp);Adversarial Vertex Mixup: Toward Better Adversarially Robust Generalization
目录概主要内容代码 Lee S., Lee H. and Yoon S. Adversarial vertex mixup: toward better adversarially robust generalization. In IEEE Conference on Computer Vsion and Pattern Recognition (CVPR), 2020. 概 本文提出类注意哦那个 AVmixup 方法用以提高鲁棒的泛化性.ffmpeg录屏
qt + ffmpeg屏幕录制软件 完整工程链接:https://download.csdn.net/download/weixin_42538789/85013858 测试代码 #include <QtCore/QCoreApplication> #include "screencapture.h" #include <iostream> using namespace std; int main(int argc, char *argv[]) { Qffmpeg filter过滤器 基础实例及全面解析
目录 目录 什么是ffmpeg filter 如何使用ffmpeg filter 1 将输入的1920x1080缩小到960x540输出 2 为视频添加logo 3 去掉视频的logo 自己写一个过滤器 filter的结构体 filter_frame调用流程 1 decode_video ffmpegc 2 av_buffersrc_add_frame_flagsbuffersrcc 3ffmpeg学习日记19-判断AVPacket中的一帧数据是否为关键帧
ffmpeg学习日记19-判断AVPacket中的一帧数据是否为关键帧 从视频转到h264,其264数据存放结构是AVPacket,所以要利用AVPacket结构中的数据来判断关键帧,关键帧就是I帧。 方法一:通过数据解析协议来判断 最简单的办法是找0x65或0x25(I frame启始位),或者去找0x67或0x27(SPS)和0x68或0x28ffmpeg学习日记21-缓存AVPacket数据
ffmpeg学习日记21-缓存AVPacket数据 avpacket中存储的是压缩过后的数据,数据量并不是很大,在合成视频之前,需要将该部分数据存在内存中,待合成使用。 创建一个存储器 std::list<AVPacket *> deque; av_read_frame函数读出来avpacket,此处可以将avpacket结构中的数据单独存起来,也内存分析(二) AVFrame
AVFrame结构体内有很多成员变量,我们肯定不可能都分析,只关心我们需要的,从实际应用场景出发,用到avframe只要有4个场景,1,init,2,decode,3 encode 4,free 从decode说起,decode涉及的函数是avcodec_decode_video2(),这个函数代码较长,我就不粘了,其实我们关心的点很简单, 它就做了2件事,先调用ffmpeg 数据结构
ffmpeg中重要的数据结构记录, AVFrame结构体: AVFrame *av_frame_alloc(void) 分配AVFrame并设置默认值,必须调av_frame_free释放 void av_frame_free(AVFrame **frame) 释放AVFrame,如果该AVFrame有引用的AVBuffer,则先释放引用 int av_frame_ref(AVFrame *dst, coUTM (Unified Threat Management)
UTM(统一威胁管理,Unified Threat Management的缩写)是由传统的防火墙观念进化而成,它将多种安全功能都整合在单一的产品之上,其中包括了网络防火墙,防止网络入侵(IDS),防毒网关(gateway antivirus,AV),反垃圾信件网关(gateway anti-spam),虚拟私人网络(VPN),内容过滤(content filtering),负载平【ResourceManagerService 分析】第三篇:SystemCallbackImpl 电量管理 BatteryNotifier 的代理+ CpuSet 提升等级的入口
SystemCallbackInterface 接口定义在头文件中,定义了四个public的函数 frameworks/av/services/mediaresourcemanager/ResourceManagerService.h class ResourceManagerService : public BnResourceManagerService { public: struct SystemCallbackInterface :FFMpeg AVPacket 之理解与掌握
本人的描述基本是白话文, 我没有时间和能力去画图,真正的理解需要调试附带的代码. 代码是我整理的. ffmpeg 中引入了很多概念,今天, 介绍一个重要的概念AVPacket c 的时代还没有引入类class的概念, 放在一起的数据叫结构struct, 用结构声明一个变量结构变量. 文件中的各个函nobuffer与av_read_frame的关系
AVDictionary *options = NULL; av_dict_set(&options, “fflags”, “nobuffer”, 0); int re = avformat_open_input(&ic, URL, NULL, &options); av_read_frame在读取视频后,开始解码在最开始几帧avcodec_receive_frame并不会得到解码后的数据,这个函数返回值是AVERROR(EAGA王纲非标准流
#ifndef PCH_H #define PCH_H extern "C" { #include "libavutil/opt.h" #include "libavutil/channel_layout.h" #include "libavutil/common.h" #include "libavutil/imgutils.h" #include "liffmpeg重要函数和结构体整理
ffmpeg、ffplay 自己学习记录,方便以后查看。 ======================================================================================================================= ffmpeg关键结构体类型: 1)解协议 AVIOContext,URLProtocol,URLContext主要存储视音频使用的协