[小白]FFMPEG小白-day06(sdl框架之视频显示)

原文地址: https://blog.csdn.net/JerryWu145/article/details/79395088

首先,向雷霄骅,雷神致敬


感觉最近更新的比较慢,但还是坚持能够每天一篇吧,如果没有及时更新,大家看到的话请催我一下~~
我们前边5篇文章基本上讲解完了FFMPEG库的一些使用了,那么今天我们来看下sdl库的使用

回顾下视频显示知识

视频显示的流程:

视频显示的流程,其实就是讲像素数据“画”在屏幕上的过程
比如显示YUV,就是讲YUV“画”在系统的窗口中  

SDL简介

作用

SDL全称:Simple DirectMedia Layer,他这个库的作用说白了就是封装了复杂的视频音频底层交互工作,简化了视音频处理的难度,换句大白话说就是以前你显示视音频的话可能需要调用十来条代码,但是通过使用sdl就只需要调用一两条代码即可

特点

跨平台:可以在pc ios android平台使用
开源:代码开源

所以说学会了使用sdl,就可以开发各种平台的视频播放软件了,是不是很期待哦,好好跟着课程走吧~~

SDL结构

SDL结构如下图所示,可以看出他实际上还是调用了DiectX等底层的API完成了和硬件的交互。


VC下SDL开发环境的搭建

新建控制台工程

   打开visual studio
   文件——>新建——>项目——>win32控制台应用程序

拷贝SDL开发文件

头文件(\*.h)拷贝到项目文件夹的include子文件夹下
导入库文件(\*.lib)拷贝至项目文件夹的lib子文件夹下
动态库文件(\*.dll)拷贝至文件夹下

配置开发文件

打开属性面板,解决方案资源管理器——>右键单击项目——>属性

头文件配置:
配置属性——>c/c++——>常规——>附加包含目录,输入“include”(刚才拷贝文件的目录)

导入库配置:
配置属性——>链接器——>常规——>附加库目录,输入“lib”(刚才拷贝文件的目录)
配置属性——>链接器——>输入——>附加依赖项,输入“SDL2.lib,SDL2main.lib”(导入库的文件名)

ok,这样就好了,其实和前两篇文章中的配置ffmpeg类似

测试一下吧

创建源代码文件

       在工程中创建一个包含main()函数的c/c++文件

包含头文件

       如果是c语言中使用sdl,则直接使用下面代码
       #include "SDL2/SDL.h"
        如果是c++语言中使用sdl,则使用下方的代码
        extern "C"
          {
           #include "SDL2/SDL.h"
           }

main()中调用一个SDL的接口函数

    例如下面代码初始化了SDL
    int main(int argc,char*argv[]){
    if(SDL_init(SDL_INIT_VIDEO)){
        printf("Could not initialize SDL -%s\n",SDL_GetError());
    }else{
      printf("Success init SDL");
     }
      return 0;      
    }  

如果运行无误,则表示SDL已经配置完成

ok,本篇配置sdl就到这里,有需要资源的可以联系我,谢谢关注

你可能感兴趣的:([小白]FFMPEG小白-day06(sdl框架之视频显示))