音视频编码基础知识

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

常见的视频编码:

  • 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帧压缩率最小。
相关推荐
MediaTea10 小时前
Pr 视频过渡:沉浸式视频 - VR 色度泄漏
音视频·vr
LNTON羚通10 小时前
算法定制LiteAIServer摄像机实时接入分析平台烟火检测算法的主要功能
音视频·视频监控
EasyCVR15 小时前
EHOME视频平台EasyCVR视频融合平台使用OBS进行RTMP推流,WebRTC播放出现抖动、卡顿如何解决?
人工智能·算法·ffmpeg·音视频·webrtc·监控视频接入
冷凝女子17 小时前
【QT】海康视频及openCv抓拍正脸接口
qt·opencv·音视频·海康
安步当歌18 小时前
【WebRTC】视频编码链路中各个类的简单分析——VideoStreamEncoder
音视频·webrtc·视频编解码·video-codec
顾北川_野18 小时前
Android CALL关于电话音频和紧急电话设置和获取
android·音视频
顶呱呱程序19 小时前
2-143 基于matlab-GUI的脉冲响应不变法实现音频滤波功能
算法·matlab·音视频·matlab-gui·音频滤波·脉冲响应不变法
EasyCVR20 小时前
萤石设备视频接入平台EasyCVR多品牌摄像机视频平台海康ehome平台(ISUP)接入EasyCVR不在线如何排查?
运维·服务器·网络·人工智能·ffmpeg·音视频
runing_an_min20 小时前
ffmpeg 视频滤镜:屏蔽边框杂色- fillborders
ffmpeg·音视频·fillborders
我喜欢就喜欢1 天前
基于qt vs下的视频播放
开发语言·qt·音视频