`
wiseideal
  • 浏览: 443857 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

AVPacket与AVFrame的关系

阅读更多

最近在做ffmpeg相关的项目,满眼的AVPacket和AVFrame,一下就眼晕了天真。Frame还好理解,但是这里packet到底什么样的包,和Frame又是什么关系呢。

参考网上的介绍

http://blog.csdn.net/ym012/article/details/6540065 写道
从int av_read_frame(AVFormatContext *s, AVPacket *pkt)函数看,从数据流读出的数据首先是保存在AVPacket里,也可以理解为一个AVPacket最多只包含一个AVFrame,而一个AVFrame可能包含好几个AVPacket,AVPacket是种数据流分包的概念。记录一些音视频相关的属性值,如pts,dts等

 

一桢的数据保存在frame里这没什么问题,packet实际是这一桢中的分包。因为packet中还包含pts/dts,可以理解为对一桢的细分.

http://blog.csdn.net/alentam/article/details/2490716 写道
DTS时间戳决定了解码器在SCR时间等于DTS时间时进行解码,PTS时间戳也是类似的。通常,DTS/PTS时间戳指示的是晚于音视频包中的SCR的一个时间。例如,如果一个视频数据包的SCR是100ms(意味着此包是播放100ms以后从磁盘中读取的),那么DTS/PTS值就差不多是200/280ms,表明当SCR到200ms时这个视频数据应该被解码并在80ms以后被显示出来(视频数据在一个buffer中一直保存到开始解码)

 

分享到:
评论

相关推荐

    ffmpeg基础库编程开发

    4. AVPacket 与 AVFrame:对于编码器或者解码器的输入输出部分,也就是压缩数据以及原始数据的抽象就是AVPacket与AVFrame。 5. AVFilter:除了编解码之外,对音视频的处理肯定是针对于原始数据的处理,也就是针对...

    ffmpeg内存模型AVPacket API和AVFrame API

    10linux-ffmpeg-buffermode

    C++队列缓存AVpacket.zip

    FFmpeg是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序。采用LGPL或GPL许可证。它提供了录制、转换以及流化音视频的完整解决方案。它包含了非常先进的音频/视频编解码库libavcodec,为了...

    ffplay+qt播放器

    在Windows环境使用QT Creator 4.4.1编译ffplay(Ffmpeg3.3.3版本): (1)去掉了参数的解析,目前只支持内部写死文件路径...(3)在QT编译ffplay的目的是为了方便debug,以方便观察AVPacket、AVFrame等结构体的变量。

    ffmpeg视频解码成YUV,JPG

    最近在做视频解码,把视频文件或者视频流解码成YUV文件,再把YUV编码成jpg文件,然后对jpg文件进行一些处理,这是一个小demo

    ffmpeg 解析aac sdts格式文件

    ffmpeg 解析aac sdts格式文件

    FFMpeg_SDK_开发手册.pdf

    (6) AVFrame (7) AVPacket (8) AVPicture (9) AVStream 2. 初始化函数: (1) av_register_all() (2) avcodec_open() (3) avcodec_close() (4) av_open_input_file() (5) av_find_input_format() (6) av_find_stream_...

    FFMpeg SDK 开发手册

    (6) AVFrame (7) AVPacket (8) AVPicture (9) AVStream 2. 初始化函数: (1) av_register_all() (2) avcodec_open() (3) avcodec_close() (4) av_open_input_file() (5) av_find_input_format() (6) av_find_stream_...

    FFmpeg - 推流rtsp/rtmp实时加入sei自定义信息,附添加发送与接收解析代码

    本资源包含完整的Vs+Qt+FFmpeg代码。 资源介绍:https://blog.csdn.net/automoblie0/article/details/124830219 资源视频介绍:...【视频中展示的软件效果即是本资源的完整代码】

    h264 环形缓冲队列 编解码

    1.c++ 开发解码h264模块 2.完成h264视频d的解码 3.接收h264数据存储在封装的缓冲队列中

    linux下配置ffmpeg(支持x264编码)

    在网上找了好多配置ffmpeg的教程,大多操作复杂。 我写了一个脚本,给它执行权限了(chmod +x install_ffmpeg.sh),一键式安装ffmpeg环境,配置了x264编码库,希望有人用得到。

    TUTK_IOTC_Platform_14W42P2.zip TUTK IOTC官方sdk

    tutk官方sdk 可开发安卓 ios windows mac端与摄像头的网络p2p监控的所开发需要的全部SDK

    h264,h265裸流封装成mp4文件和推流到rtmp服务器

    支持h264和h265视频流封装成mp4文件和推流到rtmp服务器,资源是一个完整的VS工程,VS版本为2015,可直接运行。主要代码文件为zhf_h264_to_mp4_file.h和zhf_pushstream_rtmp.h

    pcm转aac.rar

    PCM转AAC,上网查询了一些资料,了解了PCM和AAC相关的概念以及一些与转码相关的参数 下面几个参数是在转码过程中比较重要的: 1.sample_fmt: 音频的格式,有AV_SAMPLE_FMT_S16、AV_SAMPLE_FMT_FLT等不同的类型,...

    ffmpeg基础开发资料自总结

    4.11 AVPacket 结 构体 67 4.12 AVPacketList 结 构体 67 4.13 AVFrame 结构体 53 第五章 重要模块 68 5.1 libavutil 公共模块 68 1 文件列表 68 2 common.h 文件 68 3 bswap.h 文件 70 4 rational.h 文件 71 5 ...

    FFmpeg基础库编程开发

    4.11 AVPacket 结构体 66 4.12 AVPacketList 结构体 67 4.13 AVFrame结构体 67 第五章 重要模块 76 5.1 libavutil公共模块 76 1 文件列表 76 2 common.h 文件 76 3 bswap.h 文件 78 4 rational.h 文件 79 5 ...

    C++编程FFMpeg实时美颜直播推流.zip

    【106862】AVPacket的pts运算并完成帧推送使用vlc测试.zip 【106863】根据pts和系统记时控制推流速度_浏览器flash播放直播流.zip 【106864】推流基于rtsp协议的大华海康相机.zip 【106866】windows 上创建opencv示例...

    ijkplayer 的动态库v7a 和v8a,支持海康摄像头RTSP h264协议,源码来自最新版本ijkplayer k0.8.0

    ijkplayer 的动态库v7a 和v8a,支持海康摄像头RTSP h264协议,源码来自最新版本ijkplayer k0.8.0 使用原DEMO即可支持RTSP mp4文件等播放,首画面500ms显示. module-lite-rtsp.sh的内容如下: ...

Global site tag (gtag.js) - Google Analytics