Linux音视频(SDL与YUV)
来源:互联网 发布:指南针炒股软件卸载 编辑:程序博客网 时间:2024/05/18 01:08
SDL是一个比较底层的音视频处理库,很多UI系统的内核都用到它,我们还可以用它来处理摄像头中YUV数据。
拓展:
SDL(Simple DirectMedia Layer)是一个跨平台的底层开发库,提供操作诸如音频、键盘、鼠标、游戏杆以及显卡等硬件的方法,被很多多媒体播放器、模拟器和流行游戏所使用,SDL支持Windows、MacOS、Linux、iOS以及Android,也就是说你目所能及的几乎所有平台它都能运行,并且SDL是开源的,完全由C语言编写,可以在C/C++以及众多主流编程语言中被使用。
使用SDL来显示YUV数据的大概步骤是这样的:
第一步,初始化SDL视频子系统并定义YUVOverlay:
SDL_Init(SDL_INIT_VIDEO|SDL_INIT_AUDIO|SDL_INIT_TIMER);
SDL_Overlay *bmp = SDL_CreateYUVOverlay(fmt->fmt.pix.width,
fmt->fmt.pix.height,
SDL_YUY2_OVERLAY, screen);
第二步,将YUV数据拷贝到YUVOverlay中(需加锁):
SDL_LockYUVOverlay(bmp);
memcpy(bmp->pixels[0], yuvdata, size);
bmp->pitches[0] = width;
SDL_UnlockYUVOverlay(bmp);
第三步,显示:
SDL_DisplayYUVOverlay(bmp, &rect);
当然,有时候YUV数据(上面的变量yuvdata)的各个分量跟SDL的定义方式不同,需要调换次序,总体而言大概如下图所示:
- Linux音视频(SDL与YUV)
- Linux音视频(SDL库)
- Linux音视频(YUV图像数据格式)
- V4L2采集yuv视频花屏:Linux视频采集与编码(一)
- V4L2采集yuv视频花屏:Linux视频采集与编码(一)
- V4L2采集yuv视频花屏:Linux视频采集与编码(一)
- 入门视频采集与处理(学会分析YUV数据)
- 入门视频采集与处理(学会分析YUV数据)
- 入门视频采集与处理(学会分析YUV数据)
- 入门视频采集与处理(显示YUV数据)
- 入门视频采集与处理(学会分析YUV数据)
- 入门视频采集与处理(学会分析YUV数据)
- 入门视频采集与处理(学会分析YUV数据)
- 入门视频采集与处理(显示YUV数据)
- 入门视频采集与处理(学会分析YUV数据)
- 入门视频采集与处理(学会分析YUV数据)
- 入门视频采集与处理(显示YUV数据)
- 入门视频采集与处理(学会分析YUV数据)
- 5款好用的开源JS图片裁剪插件(3个jQuery插件,2个AngularJS插件)
- 浅谈CAS原理
- js判断是手机访问还是电脑访问
- Linux设备驱动模型一 sysfs
- 正则表达式之PHP篇replace,filter,grep
- Linux音视频(SDL与YUV)
- std::string格式化输入输出
- LEETCODE 58
- OpenCV学习笔记_图片融合cvAddWeighted
- asp.net IsPostBack深入探讨
- Linux设备驱动模型二 kobject
- 汉字转化为拼音
- easyui datagrid 跳转指定页面问题
- TCP协议中的三次握手和四次挥手(图解)