Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

音视频容器、音视频编码、MPEG-4协议族 #193

Open
teazean opened this issue Dec 20, 2017 · 3 comments
Open

音视频容器、音视频编码、MPEG-4协议族 #193

teazean opened this issue Dec 20, 2017 · 3 comments

Comments

@teazean
Copy link
Owner

teazean commented Dec 20, 2017

音视频容器(format)表示怎么存储数据,而不管数据是什么编码格式。一个容器可能包含音频、视频、字幕等等。像常见的mp4、wmv等这些都是视频容器格式

可以用一下查看视频容器都有哪些:

ffmpeg -formats 

术语:mux & demux

常见容器格式见:https://en.wikipedia.org/wiki/Digital_container_format

@teazean teazean changed the title 视频容器、视频编码、MPEG-4协议族 音视频容器、音视频编码、MPEG-4协议族 Dec 20, 2017
@teazean
Copy link
Owner Author

teazean commented Dec 20, 2017

编码(codec)表示数据的编码类型。一个音视频容器格式可能包含很多编码:视频编码、音频编码、字幕编码等

可以用以下查看有哪些编码

ffmpeg -codecs

术语:encode & decode

编码规范 编码实现

一个 codec 表示一个编码规范,可以有很多实现 encoderdecoder

比如:

  1. https://en.wikipedia.org/wiki/Video_codec
  2. https://en.wikipedia.org/wiki/List_of_codecs#Audio_compression_formats

可以用以下命令查看编码、解码器:

ffmpeg -encoders
ffmpeg -decoders

其他

无损压缩(lossless compression) vs 有损压缩(lossy compression)

帧内压缩/预测(intra-frame) vs 帧间压缩/预测(inter-frame)

  • 帧内压缩:表示同一帧的数据是分块压缩的,某一个块的数据是根据前一块的数据进行压缩的。

  • 帧内预测:某一个帧的某一个块数据是根据当前帧已经解码好的数据来推测当前帧。

  • 帧间压缩:某一帧某一块的数据压缩是根据前一帧(或者后一帧)某一部分数据来压缩的。

  • 帧间预测:某一帧某一块的数据是根据前一帧某一部分数据来进行预测的。

帧间还牵扯一个 运动搜索(Motion Search)(alias 运动估计(Motion Estimation))的算法。

@teazean
Copy link
Owner Author

teazean commented Dec 20, 2017

关于MPEG-4, 见https://en.wikipedia.org/wiki/MPEG-4:

MPEG-4 是一套音视频的规范

  • MPEG4MPEG-4 PART 2 定义一个的一个视频编码格式
  • MPEG-4 AudioMPEG-4 PART 3 定义的音频规范合集, 包含很多音频格式规范
  • H.264 or MPEG-4/H.262 or MPEG-4 AVCMPEG-4 PART 10 定义的高级视频编码格式
  • MP4MPEG-4 PART 14 定义的 MPEG-4 的容器格式

@teazean
Copy link
Owner Author

teazean commented Dec 20, 2017

可以从https://developer.mozilla.org/en-US/docs/Web/HTML/Supported_media_formats#Browser_compatibility看到浏览器对音视频编码格式的支持。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant