zoukankan      html  css  js  c++  java
  • 音视频学习系列第(一)篇---基础概念

    音视频系列

    什么是音/视频

    • 音频
      声音的集合

    • 视频
      图片的集合,当一段连续的图片不断的出现在人眼前(至少要求1秒24帧,即一秒内连续出现24张图片),肉眼就会欺骗性的告诉大脑我们在看一个视频,而不是幻灯片。

    编码和解码

    编码,对原始音视频文件进行压缩。
    解码,对压缩过的音视频文件解压缩,从而完成播放功能。

    为什么要进行编码和解码
    我们来做一个算术题,假设一张图片的像素为1280720
    图片大小:1280
    7203 byte, 大约就是2.7MB,注意:乘以3 byte的原因,一个像素点至少需要三原色(RGB)来显示像素本身的颜色,比如一个颜色 #FFFFFF,46=24bit=3 byte
    一秒钟需要24张图片,2.7MB24=64.8MB
    一分钟的视频图片大小,64.8MB
    60=3.8GB
    假设一个电影的时长为1个小时,贼该电影所需要的存储空间为3.8*60=228GB,这显然是不能被我们接受的。

    安卓音视频开发完整流程

    播放流程: 获取流-->解码-->播放
    录制播放流程: 录制音频视频-->剪辑-->编码-->上传服务器 别人播放.
    直播过程 : 录制音视频-->编码-->流媒体传输-->服务器--->流媒体传输到其他app-->解码-->播放

    几个重要的环节

    1. 录制音视频 AudioRecord/MediaRecord
    2. 视频剪辑
    3. 音视频编码
    4. 上传大文件 网络框架,进度监听,断点续传
    5. 流媒体传输 流媒体传输协议
    6. 音视频解码
    7. 渲染播放 MediaPlayer

    目前MediaPlayer可支持的视频格式为mp4,3gp,wmv ,可支持的音频格式为mp3,ogg。

    视频播放器选择

    1. 系统自带的VideoView
    2. MediaPlayer+ SurfaceView/TextureView
    3. 第三方SDK,如ijkplayer

    第一种,无法自定义UI,放弃
    第二种,无法解码所有的视频格式
    第三种,功能强大,支持各种视频格式

  • 相关阅读:
    ZJOI2019二轮游记
    Luogu P5284 [十二省联考2019]字符串问题
    Luogu P5309 [Ynoi2012]D1T1
    Luogu P5292 [HNOI2019]校园旅行
    LOJ #6052. 「雅礼集训 2017 Day11」DIV
    Luogu P5279 [ZJOI2019]麻将
    LOJ #6060. 「2017 山东一轮集训 Day1 / SDWC2018 Day1」Set
    Luogu P5283 [十二省联考2019]异或粽子
    Luogu P5290 [十二省联考2019]春节十二响
    Luogu P5285 [十二省联考2019]骗分过样例
  • 原文地址:https://www.cnblogs.com/Free-Thinker/p/10489353.html
Copyright © 2011-2022 走看看