首页 > 其他分享 >音视频编码基础知识

音视频编码基础知识

时间:2024-01-02 12:34:43浏览次数:34  
标签:编码 MPEG H.263 解码 Audio 基础知识 画面 音视频


视频编码指的是通过特定的压缩技术将一种视频格式文件转换成另一种视频格式文件的过程。

常见的视频编码:

  • MPEG类
    MPEG1(VCD等使用),MPEG2(DVD等使用),MPEG4(DivX,XviD是它的变体),MPEG4 AVC等
  • H.26x类
    H.261, H.262, H.263, H.263+, H.263++, H.264, H.265

常见的音频编码:

  • MPEG Audio Layer 1/2,MPEG Audio Layer 3(即MP3), MPEG-2 AAC, MPEG-4 AAC
  • AAC:有损压缩格式
  • APE:无损压缩格式
  • FLAC:无损压缩格式
  • AC3,Audio Coding Version 3,广泛用于5.1声道

Android中有一些多媒体播放组件:

  • MediaPlayer:播放控制
  • MediaCodec: 音视频编解码
  • AudioTrack:音频播放

iOS中也一些多媒体播放组件:

  • AVPlayer:播放控制
  • VideoToolBox:音视频编解码
  • AudioToolBox:音频播放

常见的多媒体框架:

  • FFmpeg:这是一个被广泛用于音视频开发中的多媒体解决方案,而不是框架
  • VLC: Video LAN Client 它是一个开源的跨平台多媒体播放器和框架
  • GStreamer:构建流媒体应用的开源框架

DTS与PTS的意思

  • DTS,即Decode Time Stamp,这指的是读入内存中的比特流开始被送入解码器中进行解码的时间戳,就是说从这个时间开始解码。
  • PTS,即Presentation Time Stamp,这指的是解码后的视频帧开始被显示在屏幕上,就是说从这个时间开始可以看到画面

I,P,B帧

  • I帧,这是一个关键帖,之所以说它关键是因为这一帧的画面是完整的,解码时,只需要本帧的数据就可以完成。
  • P帧,它没有完整的画面数据,P帧记录了与前一个关键帧(I帧)或P帧的差别,因此在解码时,需要用之前缓存的画面叠加上本帧定义的差别生成最终的画面。
  • B帧,它也没有完整的画面数据,B帧记录了本帧与前后帧的差别,解码时要用到之前的缓存的画面,还要用到解码之后的画面,通过前后画面数据与本帧数据的叠加取得最终画面。
  • 所以B帧的压缩率是最高的,P帧次之,I帧压缩率最小。


标签:编码,MPEG,H.263,解码,Audio,基础知识,画面,音视频
From: https://blog.51cto.com/u_11070617/9067654

相关文章

  • 音视频转码
    音视频转码是指:容器中音视频数据编码方式转换,如由H.264编码转成mpeg-4编码,mp3转成AAC;音视频码率的转换,如4Mb视频码率降为2Mb,视频分辨率的转换,如1080P转换为720P,音频重采样等音视频转码一般过程是先解码再编码,方式可以是通过软件解码和编码(俗称软解软编),亦可以是通过硬件解码和编码(俗......
  • java基础知识点API之String详解--String基础看它就够了
    一:概述java中的String在java.lang包下,使用时可以直接使用不需要进行导包。字符串在日常使用中非常多,例如之前的变量定义。二:详细说明<1>JDK-帮助文档中对Strng类的介绍<2>字符串常量的创建,字符串常量在创建之后,它们的值不能被更改,但是可以被共享。publicstaticvoidmain(String[......
  • 稀疏自编码与深度学习的结合
    1.背景介绍稀疏自编码(SparseAutoencoding)是一种深度学习技术,它主要用于处理稀疏数据,如文本、图像等。稀疏自编码的核心思想是将稀疏数据映射到低维的编码空间,从而减少数据的维度并提高计算效率。在深度学习领域,稀疏自编码被广泛应用于图像压缩、文本摘要生成、语音识别等任务。在......
  • 以太网基础知识
    以太网以太网是一种为多台计算机能够彼此自由和廉价地相互通信而设计的通信技术以太网原型-网线以太网最初是通过一根网线连接的,还有一个收发器设备是用来连接不同网线之间信号的。这时的以太网发送的网络包都会被这条网线上的设备接受到,通过携带mac头部也就是地址,计算机会判......
  • 浏览器原生支持JS Base64编码解码
    1.Base64解码:vardecodedData=window.atob('内容');2.Base64编码:varencodedData=window.btoa('base64编码内容');3.中文转换报错?若中文Base64数据转换有报错问题,可以中文先encode转码和decode编码,示例如下:3.1使用:window.btoa(window.encodeURIComponent('内......
  • Java的基础知识
    一、Java类的封装访问修饰符:在Java中,可以使用访问修饰符来限制对类、类的成员变量和方法的访问权限。常用的访问修饰符包括:public:公共访问修饰符,表示可以被任何类访问。private:私有访问修饰符,表示只能在当前类内部访问。protected:受保护访问修饰符,表示只能在当前类及其子类......
  • js中三种URI编码方式比较
    一、实例比较数据传递常需要编码后传递,接收还需反编译,定义url:varurl="https://www.cnblogs.com/?username='小森森'&password='666666'";escape与unescapeconsole.log(escape(url));//编码console.log(unescape(escape(url)));//解码结果:https%3A//www.cnblog......
  • js里URL编码的不同方法和区别
    总结:1.escape/unescape这两个方法不能用于URL编码,但有很多人用,特此指出,因为它的真正作用是返回一个字符的Unicode编码值,不会对"+"进行编码,但是我们知道,网页在提交表单的时候,如果有空格,则会被转化为+字符。服务器处理数据的时候,会把+号处理成空格。2.encodeURI/decodeURI......
  • lncLocator 2.0:具有可解释深度学习的长链非编码rna的细胞系特异性亚细胞定位预测器
    lncLocator2.0:acell-line-specificsubcellularlocalizationpredictorforlongnon-codingRNAswithinterpretabledeeplearnin关键词:长链非编码RNA亚细胞定位预测;可解释模型;词嵌入;端对端;作者:YangLin,XiaoyongPan*andHong-BinShen期刊:Bioinformatics年份:2022......
  • [转]编码算法(URL编码和Base64编码)
    原文地址:编码算法-廖雪峰的官方网站要学习编码算法,我们先来看一看什么是编码。ASCII码就是一种编码,字母A的编码是十六进制的0x41,字母B是0x42,以此类推:字母ASCII编码A0x41B0x42C0x43D0x44……因为ASCII编码最多只能有128个字符,要想对更多的文字进......