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

设计图库seo培训师招聘

设计图库,seo培训师招聘,爱建站小程序特点,好的网站设计作品介绍 在本系列,我打算花大篇幅讲解我的 gitee 项目音视频播放器,在这个项目,您可以学到音视频解封装,解码,SDL渲染相关的知识。您对源代码感兴趣的话,请查看基于FFmpeg和SDL的音视频播放器 如果您不理解本…

介绍

在本系列,我打算花大篇幅讲解我的 gitee 项目音视频播放器,在这个项目,您可以学到音视频解封装,解码,SDL渲染相关的知识。您对源代码感兴趣的话,请查看基于FFmpeg和SDL的音视频播放器

如果您不理解本文,可参考我的前一篇文章音视频项目—基于FFmpeg和SDL的音视频播放器解析(十七)

解析

之前解析的 fill_audio_pcm 函数有点复杂,先不继续讲这个了。

我们讲最后一个类 videooutput,可见这是负责视频播放的函数,先看 .h 文件

#ifndef VIDEOOUTPUT_H_
#define VIDEOOUTPUT_H_#ifdef __cplusplus
extern "C"{
#include"libavutil/avutil.h"
#include"SDL.h"
#include"libavutil/time.h"
}
#endif#include"avframequeue.h"
#include"avsync.h"class VideoOutput{
public:VideoOutput(AVSync* avsync, AVRational time_base, AVFrameQueue* frame_queue, int video_width, int video_height);~VideoOutput();int Init();int MainLoop();void RefreshLoopWaitEvent(SDL_Event* event);
private:void videoRefresh(double* remaining_time);AVFrameQueue* frame_queue = nullptr;SDL_Event event;SDL_Rect rect;SDL_Window* win = nullptr;SDL_Renderer* renderer = nullptr;SDL_Texture* texture = nullptr;AVSync* avsync = nullptr;AVRational time_base;int video_width = 0;int video_height = 0;uint8_t* yuv_buf = nullptr;int yuv_buf_size = 0;
};#endif

公有成员,都是构造函数,析构函数,初始化函数,循环函数,等待函数。

私有成员有比较多,我们这篇文章解析一下。

    void videoRefresh(double* remaining_time);        负责刷新的函数

    AVFrameQueue* frame_queue = nullptr;              视频帧数据队列

    SDL_Event event;                                                 SDL 事件

    SDL_Rect rect;                                                      SDL rectangle

    SDL_Window* win = nullptr;                                  SDL 窗口

    SDL_Renderer* renderer = nullptr;                        SDL 渲染器

    SDL_Texture* texture = nullptr;                              SDL 纹理

    AVSync* avsync = nullptr;                                       负责音视频同步的类

    AVRational time_base;                                           用于计算时间戳与帧率

    int video_width = 0;                                                视频窗口的宽度

    int video_height = 0;                                               视频窗口的高度

    uint8_t* yuv_buf = nullptr;                                       存放 yuv 数据的数组

    int yuv_buf_size = 0;                                               存放 yuv 数据的数组长度

好了,这篇文章讲解了 VieoOutput 类的私有成员变量,下一篇文章开始讲解函数。

欲知后事如何,请听下回分解。

http://www.yayakq.cn/news/493008/

相关文章:

  • 营销网站建设公司效果模拟ip访问网站
  • 一台服务器做两个网站吗wordpress怎么加站点图标
  • 做音乐网站用什么程序涂鸦app定制开发
  • 网上书城网站开发的结论与不足网站开发公司地址
  • org 结尾的网站注册要什么手续淘宝客网站建设方案书
  • 惠州网站制作软件免费注册公众号
  • 发卡网站搭建网站建设都包含哪些内容
  • 十大设计网站网站备案是干嘛的
  • 兴国县城乡规划建设局网站外贸品牌网站建设
  • 全面了解网站开发asp.net做网站步骤
  • 深圳网站建设推广方案企业网站货物查询怎么做
  • 英德建设网站中企动力科技股份有限公司青岛分公司
  • 网站建设厘金手指下拉12抖音小程序赚钱
  • 昭通市有做网站的吗wordpress载入等待
  • 做行业门户网站要投资多少钱wordpress 商务 主题
  • 用网站做邮箱吗wordpress登录界面插件
  • 什么是网站优化wordpress好用的主体
  • 企业网站的种类网页导航设计步骤
  • 哪个网站可以学做咸菜南昌关键词优化平台
  • 什么是自助网站英文旅游网站建设
  • 苏州沧浪区做网站衡水做wap网站价格
  • 燃气行业网站建设方案类似微薄利网站怎么做
  • 浙江杭州seo网站建设网站优化中天建设集团有限公司官网
  • 广东网站营销seo费用可以在手机建网站的
  • 网站只显示一个网址购买域名流程
  • 网站源码 手机 微信万网
  • 安徽论坛网站建设营销相关网站
  • 做一个英文网站西安建站费用
  • 最好看免费观看高清大全老师补课台州seo管理
  • 网页网站制作维护凯里市经济开发区建设局网站