视音频编解码
南非程序猿
这个作者很懒,什么都没留下…
展开
-
什么是I帧以及如何判断I帧
1、NAL全称Network Abstract Layer, 即网络抽象层。 在H.264/AVC视频编码标准中,整个系统框架被分为了两个层面:视频编码层面(VCL)和网络抽象层面(NAL)。其中,前者负责有效表示视频数据的内容,而后者则负责格式化数据并提供头信息,以保证数据适合各种信道和存储介质上的传输。因此我们平时的每帧数据就是一个NAL单元(SPS与PPS除外)。在实际的转载 2016-12-12 14:20:24 · 5619 阅读 · 0 评论 -
运用ffmpeg生成MP4文件
生成的MP4文件,用播放器看见的视频如下,同时你可以听到一种呼叫的音频声音生成的MP4文件音频为(aac)、视频为H264由于生成的H264需要依赖x264开源库【因为需要将普通的原始数据编码成H264,而ffmpeg默认是按x264进行编码】,在生产x264库过程中,一般我们默认生成静态库即可。编译ffmpeg并安装代码如下:原创 2016-12-12 14:49:09 · 1187 阅读 · 0 评论 -
关于Rtp封包方式之一的 FU-A分包方式
RFC3984是H.264的baseline码流在RTP方式下传输的规范,这里只讨论FU-A分包方式,因为工作上刚刚用到,就记下来。 FU_A一种分片封包的方式,就是将一个过大的NALU 单元封装成多个 RTP 包,这就不同以往那种单个NALU封装成单个RTP包方式,当然解析方式就不一样了。多个rtp包表示一个NALU单元,就涉及那个rtp包是这个NALU的开始,那个是结束,哪些是原创 2017-03-28 16:08:39 · 9246 阅读 · 0 评论 -
Linux中,pthread_cond_t, 条件变量的使用举例
LINUX系统编程这一快的知识,如果不经常使用的话,可能也会忘记,在项目中,可以代码可以看懂,但是自己亲自写的话,可能还是要翻一下这本书比较好,下面就简单记一下这个知识点一般pthread_cond_t,会搭配pthread_mutex_t 一起使用的, 因为线程间通信时操作共享内存时,需要用到锁。当锁住的共享变量发生改变时,可能需要通知相应的线程(因为可能该共享变量涉及到多个线程),这时就需原创 2017-03-30 09:42:50 · 11271 阅读 · 0 评论