基础知识

目录

  • 视频播放器原理
  • 封装格式(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
  • 单项详细分析:
  1. 封装格式:Elecard Format Analyzer
  2. 视频编码数据:Elecard Stream Eye
  3. 视频像素数据:YUV Player
  4. 音频采样数据: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 Google 2013 研发中
VP8 Google 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的视频播放器的制作-基础知识相关推荐

  1. 《基于 FFmpeg + SDL 的视频播放器的制作》课程的视频

    这两天开始带广播电视工程大二的暑假小学期的课程设计了.本次小学期课程内容为<基于 FFmpeg + SDL 的视频播放器的制作>,其中主要讲述了视音频开发的入门知识.由于感觉本课程的内容不 ...

  2. 基于 FFmpeg SDL 的视频播放器的制作 课程的视频

    分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! 这两天开 ...

  3. 最简单的基于FFMPEG+SDL的视频播放器 ver2 (采用SDL2.0)

    ===================================================== 最简单的基于FFmpeg的视频播放器系列文章列表: 100行代码实现最简单的基于FFMPEG ...

  4. 最简单的基于FFMPEG+SDL的视频播放器:拆分-解码器和播放器

    ===================================================== 最简单的基于FFmpeg的视频播放器系列文章列表: 100行代码实现最简单的基于FFMPEG ...

  5. 100行代码实现最简单的基于FFMPEG+SDL的视频播放器(SDL1.x)

    ===================================================== 最简单的基于FFmpeg的视频播放器系列文章列表: 100行代码实现最简单的基于FFMPEG ...

  6. 100行代码实现最简单的基于FFMPEG+SDL的视频播放器

    简介 FFMPEG工程浩大,可以参考的书籍又不是很多,因此很多刚学习FFMPEG的人常常感觉到无从下手.我刚接触FFMPEG的时候也感觉不知从何学起. 因此我把自己做项目过程中实现的一个非常简单的视频 ...

  7. 《FFmpeg+SDL的视频播放器的制作》学习记录(4):SDL播放视频

    SDL库的配置比较简单,略. SDL视频显示函数 SDL_Init():初始化SDL系统 SDL_CreateWindow():创建窗口 SDL_Window SDL_CreateRenderer() ...

  8. 雷神FFmpeg + SDL 的视频播放器修正版

    雷神(雷霄桦)在FFmpeg + SDL 的视频播放器的代码中清晰地展示了作为一个播放器代码的思路.非常适合初学者学习借鉴. 雷神在"广播电视工程大二的暑假小学期的课程设计"中,课 ...

  9. 基于 FFmpeg 的跨平台视频播放器简明教程(四):像素格式与格式转换

    系列文章目录 基于 FFmpeg 的跨平台视频播放器简明教程(一):FFMPEG + Conan 环境集成 基于 FFmpeg 的跨平台视频播放器简明教程(二):基础知识和解封装(demux) 基于 ...

最新文章

  1. 在Substance Designer中创建砖墙视频教程
  2. 超级账本(Hyperledger Fabric)之权限管理浅析
  3. ZooKeeper 3.4.5 分布式环境搭建详解
  4. hash表与系统顺序寻址
  5. bezier曲线_套娃成神:贝塞尔曲线
  6. ASP.NET中使用多个runat=server form(转)
  7. java如何输出完整的图_java实现输入输出图片
  8. Atitit 时间的展示格式与存储格式 目录 1.1. 赛事时间的格式起源 1 1.1.1. 六十[编辑] 1 1.2. 1h 12m 23s 模式 (可读性最好 2 1.3. 日常模式 1:45:
  9. 11款超5000星 后台管理模板, 总有一款适合你!
  10. 中国制药机械行业发展态势与运营展望分析报告2022版
  11. Elastic官方网络研讨会视频列表
  12. [week15] ZJM 与霍格沃兹 —— 字符串哈希
  13. 《史蒂夫乔布斯传》部分读书摘录
  14. 计算机播放音乐无声音,电脑放歌就突然没声音该怎么办
  15. 青年大学习自动名单核对程序
  16. 阿里云网盘:阿里云盘公测预约中,附官网地址入口
  17. 1、VS2019配置glfw和glad
  18. 微信小程序如何使用解析 nbsp; lt; gt; amp; apos; ensp; emsp;等字符?
  19. 转贴 周星驰经典对白
  20. mysql自定义函数的分号_mysql自定义function问题解决

热门文章

  1. Echarts插件中的data绑定一个变量,后面通过访问后端接口获取数据给这个变量,Echarts插件无法渲染数据
  2. solr mysql 全文搜索_全文检索Solr集成HanLP中文分词
  3. Win95下的注册表文件(User.dat,System.dat)文件格式说明 (转)
  4. 关于 imtra-mart 的 新研究
  5. 如何应对面试官:什么场景中会用到java多线程?
  6. Node(Next)+React实现飞书扫码登录+鉴权的详细开发过程
  7. android framework学习回忆
  8. 生产消费者模式实例(多线程实现价格监控)
  9. Registration system
  10. 终于好了,自动生成支付宝自定义收款码