FFMpeg
puyangdev
Q群:126757866
387421656
展开
-
FFmpeg 介绍
FFmpeg是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序。采用LGPL或GPL许可证。它提供了录制、转换以及流化音视频的完整解决方案。它包含了非常先进的音频/视频编解码库libavcodec,为了保证高可移植性和编解码质量,libavcodec里很多codec都是从头开发的. FFmpeg在Linux平台下开发,但它同样也可以在其它操作系统环境中编译运行,包括原创 2017-03-10 15:36:13 · 316 阅读 · 0 评论 -
AAC格式ADTS
ADTS流 跟Raw流,1.ADTS是个啥ADTS全称是(Audio Data Transport Stream),是AAC的一种十分常见的传输格式。AAC解码器都需要把AAC的ES流打包成ADTS的格式,一般是在AAC ES流前添加7个字节的ADTS header。也就是说你可以吧ADTS这个头看作是AAC的frameheader。原创 2017-03-10 16:20:03 · 330 阅读 · 0 评论 -
FFMPEG中结构体
FFMPEG中结构体很多。最关键的结构体可以分成以下几类:解协议(http,rtsp,rtmp,mms)AVIOContext,URLProtocol,URLContext主要存储视音频使用的协议的类型以及状态。URLProtocol存储输入视音频使用的封装格式。每种协议都对应一个URLProtocol结构。(注意:FFMPEG中文件也被当做一种协议“file”)解封装(flv,avi原创 2017-03-10 16:15:19 · 403 阅读 · 0 评论 -
比特率
比特率是指每秒传送的比特(bit)数。单位为 bps(Bit Per Second),比特率越高,传送数据速度越快。声音中的比特率是指将模拟声音信号转换成数字声音信号后,单位时间内的二进制数据量,是间接衡量音频质量的一个指标。 视频中的比特率(码率)原理与声音中的相同,都是指由模拟信号转换为数字信号后,单位时间内的二进制数据量。信道编码中,K符号大小的信源数据块通过编码映射为N符号大小的码字,原创 2017-03-10 16:13:15 · 645 阅读 · 0 评论 -
AAC
AAC(Advanced Audio Coding),中文名:高级音频编码,出现于1997年,基于MPEG-2的音频编码技术。由Fraunhofer IIS、杜比实验室、AT&T、Sony等公司共同开发,目的是取代MP3格式。2000年,MPEG-4标准出现后,AAC重新集成了其特性,加入了SBR技术和PS技术,为了区别于传统的MPEG-2 AAC又称为MPEG-4 AAC。优点:相对于mp3原创 2017-03-10 16:09:59 · 366 阅读 · 0 评论 -
H264 NAL头解析
如果NALU对应的Slice为一帧的开始,则用4字节表示,即0x00000001;否则用3字节表示,0x000001。 NAL Header:forbidden_bit,nal_reference_bit(优先级)2bit,nal_unit_type(类型)5bit。 标识NAL单元中的RBSP数据类型,其中,nal_unit_type为1, 2, 3, 4, 5的NAL单元称为VCL的NAL原创 2017-03-10 16:01:05 · 1035 阅读 · 0 评论 -
h264的压缩方法
1.分组:把几帧图像分为一组(GOP,也就是一个序列),为防止运动变化,帧数不宜取多。2.定义帧:将每组内各帧图像定义为三种类型,即I帧、B帧和P帧;3.预测帧:以I帧做为基础帧,以I帧预测P帧,再由I帧和P帧预测B帧;4.数据传输:最后将I帧数据与预测的差值信息进行存储和传输。 帧内(Intraframe)压缩也称为空间压缩(Spatial compression)原创 2017-03-10 15:57:21 · 4885 阅读 · 0 评论 -
B帧
B帧:双向预测内插编码帧。B帧是双向差别帧,也就是B帧记录的是本帧与前后帧的差别(具体比较复杂,有4种情况,但我这样说简单些),换言之,要解码B帧,不仅要取得之前的缓存画面,还要解码之后的画面,通过前后画面的与本帧数据的叠加取得最终的画面。B帧压缩率高,但是解码时CPU会比较累。 B帧的预测与重构B帧以前面的I或P帧和后面的P帧为参考帧,“找出”B帧“某点”的预测值和两个运动矢量,并取原创 2017-03-10 15:54:42 · 1251 阅读 · 0 评论 -
P帧
P帧:前向预测编码帧。P帧表示的是这一帧跟之前的一个关键帧(或P帧)的差别,解码时需要用之前缓存的画面叠加上本帧定义的差别,生成最终画面。(也就是差别帧,P帧没有完整画面数据,只有与前一帧的画面差别的数据)P帧的预测与重构:P帧是以I帧为参考帧,在I帧中找出P帧“某点”的预测值和运动矢量,取预测差值和运动矢量一起传送。在接收端根据运动矢量从I帧中找出P帧“某点”的预测值并与差值相加以得到P原创 2017-03-10 15:51:52 · 436 阅读 · 0 评论 -
H.264编码原理I/B/P帧
三种帧的说明I帧:帧内编码帧 ,I帧表示关键帧,你可以理解为这一帧画面的完整保留;解码时只需要本帧数据就可以完成(因为包含完整画面)I帧特点:1.它是一个全帧压缩编码帧。它将全帧图像信息进行JPEG压缩编码及传输;2.解码时仅用I帧的数据就可重构完整图像;3.I帧描述了图像背景和运动主体的详情;4.I帧不需要参考其他画面而生成;5.I帧是P帧和B帧的参考帧(其质量直接影原创 2017-03-10 15:49:21 · 481 阅读 · 0 评论 -
FFmpeg模块
1、libavformat:用于各种音视频封装格式的生成和解析,包括获取解码所需信息以生成解码上下文结构和读取音视频帧等功能;2、libavcodec:用于各种类型声音/图像编解码;3、libavutil:包含一些公共的工具函数;4、libswscale:用于视频场景比例缩放、色彩映射转换;5、libpostproc:用于后期效果处理;6、ffmpeg:该项目提供的一个工具,可原创 2017-03-10 15:45:58 · 308 阅读 · 0 评论 -
FFmpeg转码
1.分离视频音频流ffmpeg -i input_file -vcodec copy -an output_file_video //分离视频流ffmpeg -i input_file -acodec copy -vn output_file_audio //分离音频流2.视频解复用ffmpeg –i test.mp4 –vcodec copy –an –f m4v test.原创 2017-03-10 16:22:12 · 344 阅读 · 0 评论