基于FFmpeg+SDL的视频播放器的制作-基础知识
基础知识
目录
- 视频播放器原理
- 封装格式(MP4、RMVB、TS、FLV、AVI)
- 视频编码数据(H.264、MPEG2、VC-1)
- 音频编码数据(AAC、MP3、AC-3)
- 视频像素数据(YUV420P、RGB)
- 音频采样数据(PCM)
前言
本课程的作用
- 本课程是视音频技术最基础的入门课程
- 本课程的内容是是视音频相关行业的必备基础知识
- 本课程对未来的生活有一定的帮助
学习本课程的条件
- C语言
- 熟悉Visual C++开发环境
视频播放器原理
常用播放器
- 跨平台系列(非DirectShow框架):VLC、Mplayer、ffplay...
- windows系列(DirectShow框架):完美解码、终极解码、暴风影音
信息查看工具
- 综合信息查看:MediaInfo
- 二进制信息查看:UItraEdit
- 单项详细分析:
- 封装格式:Elecard Format Analyzer
- 视频编码数据:Elecard Stream Eye
- 视频像素数据:YUV Player
- 音频采样数据:Adobe Audition
封装格式
- 封装格式的作用:视频码流和音频码流按照一定的格式存储在一个文件中
- 封装格式分析工具:Elcard Format Analyzer
名称 | 推出机构 | 目前使用领域 |
AVI | Microsoft Inc | BT下载影视 |
MP4 | MPEG | 互联网视频网站 |
TS | MPEG | IPTV、数字电视 |
FLV | Adobe Inc | 互联网视频网站 |
MKV | CoreCode Inc | 互联网视频网站 |
RMVB | Real NetWorks Inc | BT下载影视 |
视频编码数据
- 视频编码的作用:将视频像素数据(RGB,YUV等)压缩成为视频码流,从而降低视频的数据量
- 视频编码分析工具:Elecard Stream Eye
名称 | 推出机构 | 推出时间 | 目前使用领域 |
HEVC(H.265) | MPEG/ITU-T | 2013 | 研发中 |
H.264 | MPEG/ITU-T | 2003 | 各个领域 |
MPEG4 | MPEG | 2001 | 不温不火 |
MPEG2 | MPEG | 1994 | 数字电视 |
VP9 | 2013 | 研发中 | |
VP8 | 2008 | 不普及 | |
VC-1 | Microsoft Inc | 2006 | 微软平台 |
音频编码数据
- 音频编码的作用:将音频采样(PCM等)压缩称为音频码流,从而降低音频的数据量
- 音频编码分析工具:暂不涉及
名称 | 推出机构 | 推出时间 | 目前使用领域 |
AAC | MPEG | 1997 | 各个领域(新) |
AC-3 | Dolby Inc | 1992 | 电影 |
MP3 | MPEG | 1993 | 各个领域(旧) |
WMA | Microsoft Inc | 1999 | 微软平台 |
视频像素数据
- 视频像素数据作用:保存屏幕每个像素点的像素值
- 格式:常见的像素格式有RGB24、RGB32、YUV420P、YUV422P、YUV444P等,压缩编码中一般使用的是YUV格式的像素数据,最为常见的格式为YUV420P
- 特点:视频像素数据体积很大,一般情况下1小时高清视频的RGB24格式的数据体积为:3600*25*1920*1080*3=559.9GByte
PS:这里假定帧率为25Hz,取样精度8bit
- YUV格式像素数据查看工具:YUV Player
音频采样数据
- 音频采样数据作用:保存了音频中每个采样点的值
- 特点:音频采样数据体积很大,一般情况下一首4分钟的PCM格式的歌曲体积为:4*60*44100*2*2=42.3MByte
PS:这里假定采样率为44100Hz,采样精度为16bit
- 音频采样数据查看工具:Adobe Audition
基于FFmpeg+SDL的视频播放器的制作-基础知识相关推荐
- 《基于 FFmpeg + SDL 的视频播放器的制作》课程的视频
这两天开始带广播电视工程大二的暑假小学期的课程设计了.本次小学期课程内容为<基于 FFmpeg + SDL 的视频播放器的制作>,其中主要讲述了视音频开发的入门知识.由于感觉本课程的内容不 ...
- 基于 FFmpeg SDL 的视频播放器的制作 课程的视频
分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! 这两天开 ...
- 最简单的基于FFMPEG+SDL的视频播放器 ver2 (采用SDL2.0)
===================================================== 最简单的基于FFmpeg的视频播放器系列文章列表: 100行代码实现最简单的基于FFMPEG ...
- 最简单的基于FFMPEG+SDL的视频播放器:拆分-解码器和播放器
===================================================== 最简单的基于FFmpeg的视频播放器系列文章列表: 100行代码实现最简单的基于FFMPEG ...
- 100行代码实现最简单的基于FFMPEG+SDL的视频播放器(SDL1.x)
===================================================== 最简单的基于FFmpeg的视频播放器系列文章列表: 100行代码实现最简单的基于FFMPEG ...
- 100行代码实现最简单的基于FFMPEG+SDL的视频播放器
简介 FFMPEG工程浩大,可以参考的书籍又不是很多,因此很多刚学习FFMPEG的人常常感觉到无从下手.我刚接触FFMPEG的时候也感觉不知从何学起. 因此我把自己做项目过程中实现的一个非常简单的视频 ...
- 《FFmpeg+SDL的视频播放器的制作》学习记录(4):SDL播放视频
SDL库的配置比较简单,略. SDL视频显示函数 SDL_Init():初始化SDL系统 SDL_CreateWindow():创建窗口 SDL_Window SDL_CreateRenderer() ...
- 雷神FFmpeg + SDL 的视频播放器修正版
雷神(雷霄桦)在FFmpeg + SDL 的视频播放器的代码中清晰地展示了作为一个播放器代码的思路.非常适合初学者学习借鉴. 雷神在"广播电视工程大二的暑假小学期的课程设计"中,课 ...
- 基于 FFmpeg 的跨平台视频播放器简明教程(四):像素格式与格式转换
系列文章目录 基于 FFmpeg 的跨平台视频播放器简明教程(一):FFMPEG + Conan 环境集成 基于 FFmpeg 的跨平台视频播放器简明教程(二):基础知识和解封装(demux) 基于 ...
最新文章
- 在Substance Designer中创建砖墙视频教程
- 超级账本(Hyperledger Fabric)之权限管理浅析
- ZooKeeper 3.4.5 分布式环境搭建详解
- hash表与系统顺序寻址
- bezier曲线_套娃成神:贝塞尔曲线
- ASP.NET中使用多个runat=server form(转)
- java如何输出完整的图_java实现输入输出图片
- Atitit 时间的展示格式与存储格式 目录 1.1. 赛事时间的格式起源	1 1.1.1. 六十[编辑]	1 1.2. 1h 12m 23s 模式 (可读性最好	2 1.3. 日常模式 1:45:
- 11款超5000星 后台管理模板, 总有一款适合你!
- 中国制药机械行业发展态势与运营展望分析报告2022版
- Elastic官方网络研讨会视频列表
- [week15] ZJM 与霍格沃兹 —— 字符串哈希
- 《史蒂夫乔布斯传》部分读书摘录
- 计算机播放音乐无声音,电脑放歌就突然没声音该怎么办
- 青年大学习自动名单核对程序
- 阿里云网盘:阿里云盘公测预约中,附官网地址入口
- 1、VS2019配置glfw和glad
- 微信小程序如何使用解析 nbsp; lt; gt; amp; apos; ensp; emsp;等字符?
- 转贴 周星驰经典对白
- mysql自定义函数的分号_mysql自定义function问题解决
热门文章
- Echarts插件中的data绑定一个变量,后面通过访问后端接口获取数据给这个变量,Echarts插件无法渲染数据
- solr mysql 全文搜索_全文检索Solr集成HanLP中文分词
- Win95下的注册表文件(User.dat,System.dat)文件格式说明 (转)
- 关于 imtra-mart 的 新研究
- 如何应对面试官:什么场景中会用到java多线程?
- Node(Next)+React实现飞书扫码登录+鉴权的详细开发过程
- android framework学习回忆
- 生产消费者模式实例(多线程实现价格监控)
- Registration system
- 终于好了,自动生成支付宝自定义收款码