手机访问:wap.265xx.com使用FFmpeg做视频解码
本文主要基于以下文档:
[总结]视音频编解码技术零基础学习方法_雷霄骅的博客-CSDN博客
最简单的基于FFMPEG+SDL的视频播放器 ver2 (采用SDL2.0)
视频编解码四:FFmpeg视频解码流程
视频播放器播放一个互联网上的视频文件,需要经过以下几个步骤:解协议,解封装,解码视音频,视音频同步。如果播放本地文件则不需要解协议,为以下几个步骤:解封装,解码视音频,视音频同步。过程如图所示:

解协议的作用,就是将流媒体协议的数据,解析为标准的相应的封装格式数据。视音频在网络上传播的时候,常常采用各种流媒体协议,例如HTTP,RTMP,或是MMS等等。这些协议在传输视音频数据的同时,也会传输一些信令数据。这些信令数据包括对播放的控制(播放,暂停,停止),或者对网络状态的描述等。解协议的过程中会去除掉信令数据而只保留视音频数据。例如,采用RTMP协议传输的数据,经过解协议操作后,输出FLV格式的数据。
解封装的作用,就是将输入的封装格式的数据,分离成为音频流压缩编码数据和视频流压缩编码数据。封装格式种类很多,例如MP4,MKV,RMVB,TS,FLV,AVI等等,它的作用就是将已经压缩编码的视频数据和音频数据按照一定的格式放到一起。例如,FLV格式的数据,经过解封装操作后,输出H.264编码的视频码流和AAC编码的音频码流。
解码的作用,就是将视频/音频压缩编码数据,解码成为非压缩的视频/音频原始数据。音频的压缩编码标准包含AAC,MP3,AC-3等等,视频的压缩编码标准则包含H.264,MPEG2,VC-1等等。解码是整个系统中最重要也是最复杂的一个环节。通过解码,压缩编码的视频数据输出成为非压缩的颜色数据,例如YUV420P,RGB等等;压缩编码的音频数据输出成为非压缩的音频抽样数据,例如PCM数据。
视音频同步的作用,就是根据解封装模块处理过程中获取到的参数信息,同步解码出来的视频和音频数据,并将视频音频数据送至系统的显卡和声卡播放出来。
相关学习资料推荐,点击下方链接免费报名,先码住不迷路~】
音视频免费学习地址:FFmpeg/WebRTC/RTMP/NDK/Android音视频流媒体高级开发
【免费分享】音视频学习资料包、大厂面试题、技术视频和学习路线图,资料包括(C/C++,Linux,FFmpeg webRTC rtmp hls rtsp ffplay srs 等等)有需要的可以点击788280672加群免费领取~

1、调用了FFmpeg中的libavformat和libavcodec两个库完成视频解码工作,包括了封装格式的解析
注册组件打开封装格式->打开文件
查看视频流
查找视频解码器
打开解码器
读取视频压缩数据->循环读取在解码时两个存储数据的结构体如下:
得到视频解码的流程图如下:

2、对只包含视频编码数据“裸流”(例如H.264、HEVC码流文件),而不能是包含封装格式的媒体数据(例如AVI、MKV、MP4)进行解码。
流程如下:

此时相对于第一个过程,在使用函数上有了一些变化。此外,在“libavcodec+libavformat”的视频解码器中,使用avformat_open_input()和avformat_find_stream_info()就可以解析出输入视频的信息(例如视频的宽、高)并且赋值给相关的结构体。因此我们在初始化的时候就可以通过读取相应的字段获取到这些信息。在只有“libavcodec”的解码器则不能这样,由于没有上述的函数,所以不能在初始化的时候获得视频的参数。“纯净”的解码器中,可以通过avcodec_decode_video2()获得这些信息。因此我们只有在成功解码第一帧之后,才能通过读取相应的字段获取到这些信息。
相应代码请参考文章开头链接。
原文链接:使用FFmpeg做视频解码_ffmpeg编解码视频_进击的研究僧的博客-CSDN博客
上一篇:原创剧评《踩过界2》,师徒情谊波折被赞,网友期待第三部开拍
下一篇:原创梅长苏原来想要黄晓明?《琅琊榜》选角内幕,龚宇本来是要演女一号
最近更新旅游资讯
- 北京IN10018片II期临床试验-IN10018 或安慰剂联合PLD 治疗铂耐
- 重庆西南医院体检中心
- 价值理论论文范文
- 内娱出现第一个“侠女颜”!刚出道4天,小白花们慌了…
- 狗的射速又快又烫
- 震惊!原来我们那些年追过的电视剧三观如此畸形……
- 社区获得性肺炎合并脓毒症患者临床特征及死亡危险因素分析
- 笛安的“北京爱情故事”,满满的欲望和贪婪
- 读《金瓶梅》第13章:李瓶儿为何能看上西门庆?
- 十六岁高二学生没事时看看什么书好?
- 父母中毒而亡,警方问13岁女儿看到凶手没,女孩笑了:我就是凶手
- 别黑陈凯歌了,他有一部神作还不够吗?
- 高三沉沦观后感话题作文800字范文
- 思辨的张力
- 狐文化特辑【十三】狐妖余论:混迹红尘的修仙之狐——「仙狐」
- 喜欢K歌,看电影吗?这些英文一定要掌握!
- 21世纪最佳20部日本动画
- 中西方伦理思想发展比较研究
- 马鞍山人民医院医院历史
- 如何以「我穿越成了一个小妾(或通房丫头)」为题写一篇小说?
- 青海诗选刊 2017年第24期(总第36期)
- 吴军民
- 实用 | 教你如何做好校园景观!
- 无忧传媒三 片
- 《西游记》新解(十套珍稀古画插图)56:神狂诛草寇,道昧放心猿——遇强盗,唐僧软