四、FFmpeg-用SDL显示视频画面

本文介绍如何利用SDL库在屏幕上显示FFmpeg解码的视频帧,包括SDL的安装、创建显示区域、显示图像和处理YUV420P格式。通过创建YUV覆盖并在事件驱动系统中处理SDL_QUIT事件实现视频播放。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、SDL的安装

可到SDL官网下载安装SDL2.0,下载地址http://www.libsdl.org/

Linux下的SDL安装步骤

cd SDL (进入源码目录)

mkdir build

cd build

../configure

make && sudo make install

二、SDL和视频

本章我们将使用SDL在屏幕上显示视频,SDL是Simple Direct Layer的缩写。它是一个跨平台的出色的多媒体库,许多项目都有用到它。可以从它的官网站http://www.libsdl.org/上下载这个库的源代码,你也可以把它的开发包下载自己的操作系统中。本章及后面的章节的程序的运行,都需要这个库,所以你得先把它编译安装好。

SDL库有许多种方法在屏幕上显示图像,其中一个特殊的图像显示方式叫做YUV覆盖(overlay)。YUV(从技术上讲叫YCbCr而不是YUV)是一种类似于RGB格式的存储原始图像的格式。Y是亮度分量,U和V是色度分量。(这种格式要比RGB复杂的多,因为它丢弃了很多颜色信息,而且每两个水平Y采样点,对应一个U和一个V采样点)。SDL的YUV覆盖使用一组原始的YUV数据并在屏幕上显示它们。它接受4种不同的YUV格式,但是YV12格式是最快的。有一种格式叫做YUV420P࿰

专为树莓派(Raspberry Pi)设计的多媒体播放器且支持(Windows、Linux、Android)系统,支持视频、音频、流媒体、图片、摄像头、动画、文本、滚动字幕、日期时间、二维码、等,支持指令控制播放、覆盖、停止、移动、等, 支持自定义分辨率、帧率(FPS),支….zip嵌入式优质项目,资源经过严格测试可直接运行成功且功能正常的情况才上传,可轻松copy复刻,拿到资料包后可轻松复现出一样的项目。 本人单片机开发经验充足,深耕嵌入式领域,有任何使用问题欢迎随时与我联系,我会及时为你解惑,提供帮助。 【资源内容】:包含完整源码+工程文件+说明,项目具体内容可查看下方的资源详情。 【附带帮助】: 若还需要嵌入式物联网单片机相关领域开发工具、学习资料等,我会提供帮助,提供资料,鼓励学习进步。 【本人专注嵌入式领域】: 有任何使用问题欢迎随时与我联系,我会及时解答,第一时间为你提供帮助,优快云博客端可私信,为你解惑,欢迎交流。 【建议小白】: 在所有嵌入式开发中硬件部分若不会画PCB/电路,可选择根据引脚定义将其代替为面包板+杜邦线+外设模块的方式,只需轻松简单连线,下载源码烧录进去便可轻松复刻出一样的项目 【适合场景】: 相关项目设计中,皆可应用在项目开发、毕业设计、课程设计、期末/期中/大作业、工程实训、大创等学科竞赛比赛、初期项目立项、学习/练手等方面中 可借鉴此优质项目实现复刻,也可以基于此项目进行扩展来开发出更多功能
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Storm-Shadow

你的鼓励将是我最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值