ffmpeg基本杂谈_20171116
准和原理,再通过流媒体串起来,流媒体非专业的核心可能还涉及:关于高中物理、统计学、概率论等一些知识。 3. FFmpeg 核心扩展功能开发。 ## FFmpeg KS [数据帧/数据包] AVFrame用于存储原始音视频数据、也包含字幕数据。 原始数据是指:解码后数据、或是编码前的数据。 音频:一段原始WAV(或未压缩的PCM)音频数据。 视频:一帧图像、一个图片。 字幕:一个时间段内的一句或是几句话。 AVFilterChannelLayouts 数据结构 滤器支持类型,音频格式 AVBufferSinkParams AVABufferSinkParams 内部 音视频参数传递 ## 视频原始数据[AVFrame] 数据面个数: rgb:1 yuv:1-3 normal-4 ffmpeg-8 opencv-16 dx-IDirectDrawSurface BYTE * Data[8](数据面个数) width + ColorFormat 3. Linesize(内存) + Heigh + width + PixelFormat int Linesize[8](行) ## 音频原始数据[AVFrame] int sample_fmt 采样格式(u8bit, 16bit, 32bit, float, double) int sample_rate 采样率(44100,48000,128000-mp30 码力 | 55 页 | 20.91 MB | 2 年前3
FFmpeg滤镜开发人脸识别## 集成操作 - AVFilter AVFilter操作接口 filter_frame ▶ 接口操作对象 AVFrame *in ▶ 接口输出对象 AVFrame *out static int filter_frame(AVFilterLink *inlink, AVFrame *in) FreiOrContext *s = inlink->dst->priv; AVFilterLink AVFilterLink *outlink = inlink->dst->outputs[0]; AVFrame *out; out = ff_get_video_buffer(outlink, outlink->w, outlink->h); if (!out) { av_frame_free(&in); return AVERROR(ENOMEM); 多AVFilter联动 ▶ 从一个AVFilter将参数传递至另一个AVFilter AVFrame中需要增加 * object_x * object_y * object_width * object_height static int filter_frame(AVFilterLink *inlink, AVFrame *in) FreiOrContext *s = inlink->dst->priv;0 码力 | 20 页 | 547.54 KB | 2 年前3
共 2 条
- 1













