Table of Contents
业务类型
- 直播
- 点播
- rtc实时通信
编解码器
基础知识
https://zhuanlan.zhihu.com/p/61747783
I帧和IDR帧的区别:
https://forums.xilinx.com/t5/%E5%B5%8C%E5%85%A5%E5%BC%8F-%E5%B7%A5%E5%85%B7-%E8%BD%AF%E4%BB%B6%E5%BC%80%E5%8F%91/%E5%88%86%E4%BA%AB-I%E5%B8%A7%E5%92%8CIDR%E5%B8%A7%E7%9A%84%E5%8C%BA%E5%88%AB/td-p/1173230
IDR帧带有SPS和PPS,所以我们一般说的I帧是IDR帧。
采样率:
- YUV444
- YUV422
- YUV420
YUV420的存储格式:
YV12、YU12、NV12、NV21。以及三种布局方式planar,packed,semi-planar。
编解码器
- h264
- aac
- opus
- speex
几种编解码器辨析
- https://telecom.altanai.com/2019/09/16/video-codecs-h264-h265-av1/
- https://bloggeek.me/av1-vs-hevc-webrtc-codec/
- H.264(aka AVC)
H.264是视频编码标准,又被称为MPEG-4 Part 10 或者 Advanced Video Coding (MPEG-4 AVC)。
https://www.huaweicloud.com/articles/d2f8a3b0f254cc56e1962f194da5fc2a.html - x264
实现了H264编码标准的开源编码器。 - VP8
Google推出的没有专利限制的对标H.264的编码标准。 - H.265(aka HEVC)
- x265
实现了H.265编码标准的编码器。 - VP9
Google推出的没有专利限制的对表HEVC的编码标准。 - AV1
众多厂商联合推出的没有专利限制的编码标准。
h264
https://zhuanlan.zhihu.com/p/71928833
H.264与MPEG-4的关系:可以理解为H.264等同于MPEG-4,只是H.264是由ITU-T定制的H.26x标准的一部分,MPEG-4是ISO/IEC制定的MPEG系列标准的一部分,但是这两个组织又是合作定制了H.264和MPEG-4标准,只是各自取的名字不同。
有MPEG-1、MPEG-2、MPEG-4,但是没有MPEG-3,因为MPEG-2已经达成了预期让MPEG-3实现的需求。
H264标准:
- VCL(Video Coding Layer)
视频编码层,负责将视频数据编码 - NAL(Network Abstraction Layer)
网络抽象层,负责传输编码后的视频数据
分别对应H264的两个目标:
- 高压缩比
- 良好的网络亲和性
VCL编码出来的数据最终被封装成NALU进行传输。
sei
向h264码流中添加sei信息:
http://bbs.chinaffmpeg.com/forum.php?mod=viewthread&tid=590
视频码流分析工具
- Elecard Stream Analyzer
- 264VISA
- https://sourceforge.net/projects/h264bitstream/
- https://sourceforge.net/projects/h264streamanalysis/
视频质量评估
https://superuser.com/a/338734/879851
https://ottverse.com/calculate-psnr-vmaf-ssim-using-ffmpeg/
- psnr
- vmaf
- ssim
容器封装格式
封装格式介绍文章https://www.bgteach.com/article/134 。
- flv
- mp4
- mkv
- rmvb
- avi
- webm
flv
http://lazybing.github.io/blog/2016/07/24/flv-parse/
- 由FLV header加FLV body组成,其中FLV body由audio/video/script tag构成.每种tag类型都由一个单独的流构成,同一个FLV文件中,最多有一个音频流和一个视频流.使用大端字节序进行存储.
mp4
http://lazybing.github.io/blog/2016/07/26/mp4-parse-format/
AVI
http://lazybing.github.io/blog/2016/07/24/avi-parse-format/
流媒体传输协议
- dash
- hls
- rtmp
rtmp
- rtmp协议 http://lazybing.github.io/blog/2016/07/17/rtmp-protocol-standard/
- rtmp库,rtmpdump http://lazybing.github.io/blog/2016/07/20/lib-trmp-source-code-study/
播放器
- 音视频同步
- seeking
- 网络播放器
- 渲染
QOS
QOE
- jitter
- adaptive streaming
- 选档算法
- 转码
近期评论