在实际压缩时,会采取各种算法减少数据的容量,其中IPB就是最常见的。
I表示关键帧,你可以理解为这一帧画面的完整保留;解码时只需要本帧数据就可以完成(因为包含完整画面)
P表示的是这一帧跟之前的一个关键帧(或P帧)的差别,解码时需要用之前缓存的画面叠加上本帧定义的差别,生成最终画面。(也就是差别帧,P帧没有完整画面数据,只有与前一帧的画面差别的数据)
如果你明白P的意思,那么B就比较好理解了。
B帧是双向差别帧,也就是B帧记录的是本帧与前后帧的差别(具体比较复杂,有4种情况,但我这样说简单些,有兴趣可以看看我上面提供的资料),换言之,要解码B帧,不仅要取得之前的缓存画面,还要解码之后的画面,通过前后画面的与本帧数据的叠加取得最终的画面。
http://hi.baidu.com/dsj_lhx/blog/item/21cab13043fb7c9fa8018ebd.html
什么是muxer/demuxer?
muxer是合并将视频文件、音频文件和字幕文件合并为某一个视频格式。如,可将a.avi, a.mp3, a.srt用muxer合并为mkv格式的视频文件。demuxer是拆分这些文件的。
http://zhidao.baidu.com/question/31952866.html
GUID概念
Globally Unique Identifier(全球唯一标识符) 也称作 UUID(Universally Unique IDentifier)
相关推荐
muxer/demuxer 是分别保存在全局变量 AVOutputFormat *first_oformat 与 AVInputFormat *first_iformat 中的,而 encoder/decoder 都是保存在全局变量 AVCodec *first_avcodec 中的。 muxer/demuxer 和 encoder/...
"MP4_muxer"是用于将音视频数据合成为MP4文件的库文件,它负责将来自海思音视频流的数据按照MP4格式规范进行组织和打包。这个库可能包括了以下功能: - 解析音视频流数据 - 生成和管理时间戳 - 将音视频数据映射...
- muxer/demuxer的信息存储在`AVOutputFormat* first_oformat`和`AVInputFormat* first_iformat`中。 - encoder/decoder的信息存储在`AVCodec* first_avcodec`中。 3. **接口**:均采用函数指针的方式作为对外提供...
FFmpeg是一款强大的开源多媒体处理工具,它包含了众多的编解码器、demuxer(分包器)、muxer(合包器)以及过滤器等组件,可以用来进行音视频的编码、解码、转换、流媒体处理等多种任务。在本案例中,"ffmpeg_...
**muxer/demuxer**与**encoder/decoder**是FFMpeg框架中非常重要的概念,它们在代码实现中有许多共通之处,但也存在显著差异。 1. **初始化过程** - muxer/demuxer和encoder/decoder的初始化都是在`main()`函数内...
标题中的“h264封装flv-----flv-muxer”指的是将H.264编码的视频流封装到FLV(Flash Video)容器格式的过程。这个过程由一个名为“flv-muxer”的工具或程序来完成。在本文中,我们将深入探讨H.264编码、FLV容器格式...
video-audio_demo一个音视频后台开发练习demo,包括两个模块:补充/解压缩demo(muxer_demuxer_demo)客户端/服务端demo(client_server_demo)最终项目源码放在src文件夹中。muxer_demuxer_demo解复用器视频支持h...
"muxer" 在 FFmpeg 中指的是多路复用器,它的主要作用是将不同的音视频流组合成一个单一的容器格式文件。在本例中,我们特别关注的是 "FFMPEG muxer mp4",即 FFmpeg 支持的 MP4 多路复用器,它能够将 MP3 音频和 H....
该解决方案包含了使用FFmpeg进行封装格式处理的各种例子: ...simplest ffmpeg muxer:视音频复用器 simplest ffmpeg remuxer:封装格式转换器 1.2版本增加了多平台下编译的支持:Windows,MacOS,以及Linux。
2.无需安装MinGW,ffmpeg库采用静态编译,去掉encoder,muxer,filter,精简了decoder/demuxer/parser/protocal部件,只发布lib和h文件。 3.整个工程采用VC2008编译,SDL2,SDL_TTF,freetype均有VC工程,方便升级(vc...
mp4 directshow filter muxer
Muxer / Demuxer( ) 音频解码器( ) 转码( ) 流服务器() 支持容器格式: MP4 MPEG-TS 轻型货车 AAC(ADTS) RTSP客户端 高级别的相机错误容忍度 支持STAP-A RTMP客户端 支持发布到nginx-rtmp-...
- **libavformat**: 包含多种文件格式的读取与写入功能,即通常所说的muxer/demuxer。 - **libavcodec**: 包含大量的编码和解码器,实现对各种媒体格式的支持。 - **libavutil**: 包括各种有用的通用工具函数。 - **...
aarch64+linux ffmpeg测试...test_muxer_h26x_aac_to_mp4.c //h264 aac muxer为mp4 test_demuxer_mp4_to_h26x_aac.c //demixer mp4为h264 和 aac test_gen_test_pics.c //产生测试图片 test_v4l2.c //v4l2 获取摄像头
RTMP Java Muxer for Android This project implements the RTMP protocol to broadcast video and audio TO (and only TO!) an RTMP server from Android using pure Java (no native extension). It has been ...
FFmpeg的架构包含多个核心模块,例如文件结构、I/O模块、DEMUXER/MUXER模块、DECODER/ENCODER模块等。这些模块之间相互协作,共同实现FFmpeg的复杂功能。其中,AVStream、AVInputStream/AVOutputStream、AVPacket等...
这些组件以链表的形式存储在全局变量中,如AVOutputFormat *first_oformat和AVInputFormat *first_iformat分别用于存储muxer和demuxer,而编码器和解码器则存储在AVCodec *first_avcodec中。 5. **接口定义**:...
对于muxer和demuxer,它们分别被保存在AVOutputFormat *first_oformat和AVInputFormat *first_iformat中;而对于encoder和decoder,它们都存储在AVCodec *first_avcodec中。 这些组件的公共接口是通过函数指针实现...
ffmpeg混合器基于FFmpeg将视频比特流和音频比特流一起混合到一个文件中特征将H.264比特流(在MPEG2TS中)和mp3比特流文件混合在一起,成为MP4格式文件。 使用cmake进行跨平台构建。依存关系libavformat libavcodec ...