音视频学习系列第(一)篇---基础概念
什么是音/视频
-
音频
声音的集合 -
视频
图片的集合,当一段连续的图片不断的出现在人眼前(至少要求1秒24帧,即一秒内连续出现24张图片),肉眼就会欺骗性的告诉大脑我们在看一个视频,而不是幻灯片。
编码和解码
编码,对原始音视频文件进行压缩。
解码,对压缩过的音视频文件解压缩,从而完成播放功能。
为什么要进行编码和解码
我们来做一个算术题,假设一张图片的像素为1280720
图片大小:12807203 byte, 大约就是2.7MB,注意:乘以3 byte的原因,一个像素点至少需要三原色(RGB)来显示像素本身的颜色,比如一个颜色 #FFFFFF,46=24bit=3 byte
一秒钟需要24张图片,2.7MB24=64.8MB
一分钟的视频图片大小,64.8MB60=3.8GB
假设一个电影的时长为1个小时,贼该电影所需要的存储空间为3.8*60=228GB,这显然是不能被我们接受的。
安卓音视频开发完整流程
播放流程: 获取流-->解码-->播放
录制播放流程: 录制音频视频-->剪辑-->编码-->上传服务器 别人播放.
直播过程 : 录制音视频-->编码-->流媒体传输-->服务器--->流媒体传输到其他app-->解码-->播放
几个重要的环节
- 录制音视频 AudioRecord/MediaRecord
- 视频剪辑
- 音视频编码
- 上传大文件 网络框架,进度监听,断点续传
- 流媒体传输 流媒体传输协议
- 音视频解码
- 渲染播放 MediaPlayer
目前MediaPlayer可支持的视频格式为mp4,3gp,wmv ,可支持的音频格式为mp3,ogg。
视频播放器选择
- 系统自带的VideoView
- MediaPlayer+ SurfaceView/TextureView
- 第三方SDK,如ijkplayer
第一种,无法自定义UI,放弃
第二种,无法解码所有的视频格式
第三种,功能强大,支持各种视频格式
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
2018-03-07 ionic 和cordova的区别是什么
2017-03-07 Android蓝牙自动配对Demo,亲测好使!!!
2017-03-07 android 蓝牙各种UUID
2017-03-07 android蓝牙主动发起配对实例
2017-03-07 Android实现主动连接蓝牙耳机
2017-03-07 Android 蓝牙扫描代码
2017-03-07 IOS蓝牙项目总结