FFmpegavcodec_send_packet函数说明

int avcodec_send_packet(AVCodecContext *avctx, const AVPacket *avpkt);
/*
brief:支持将裸流数据输出给×××
在函数内部,会拷贝相关的AVCodecContext结构变量,将这些结构变量应用到解码的每一个包。例如
AVCodecContext.skip_frame参数通知×××扔掉包含该帧的包
@warning 输入的avpkt-data缓冲区必须大于AV_INPUT_PADDING_SIZE,因为优化的字节流读取器必须一次读取32或者64比特的数据
@warning 不能跟之前的API(例如avcodec_decode_video2)混用,否则会返回不可预知的错误
@note 在将包发送给×××的时候,AVCodecContext必须已经通过avcodec_open2打开
@参数 avctx 解码上下文
@参数[输入]avpkt 输入AVPakcet.通常情况下,输入数据是一个单一的视频帧或者几个完整的音频帧。调用者保留包的原有属性,×××不会修改包的内容。×××可能创建对包的引用。如果包没有引用计数将拷贝一份。跟以往的API不一样,包必须完整的解码出来,如果包含有多个帧,要求多次调用avcodec_recvive_frame,在重新调用该接口之前。输入参数可以为NULL,或者AVPacket的data域设置为NULL或者size域设置为0,表示将刷新所有的包,意味着数据流已经结束了。第一次发送刷新会总会成功,第二次发送刷新包是没有必要的,并且返回AVERROR_EOF,如果×××缓存了一些帧,返回一个刷新包,将会返回所有的解码包

@返回值 0 表示成功,其他的异常值说明:
AVERROR(EAGAIN):当前不接受输出,必须重新发送
AVERROR_EOF:已经刷新×××,没有新的包可以被刷新
AVERROR(EINVAL):没有打开×××,或者这是一个编码器,或者要求刷新
AVERRO(ENOMEN):无法添加包到内部队列

*/

让客户满意是我们工作的目标,不断超越客户的期望值来自于我们对这个行业的热爱。我们立志把好的技术通过有效、简单的方式提供给客户,将通过不懈努力成为客户在信息化领域值得信任、有价值的长期合作伙伴,公司提供的服务项目有:申请域名、虚拟空间、营销软件、网站建设、北湖网站维护、网站推广。


文章名称:FFmpegavcodec_send_packet函数说明
网站链接:http://www.hxwzsj.com/article/gsssci.html

其他资讯

Copyright © 2025 青羊区翔捷宏鑫字牌设计制作工作室(个体工商户) All Rights Reserved 蜀ICP备2025123194号-14
友情链接: 成都定制网站建设 成都定制网站建设 外贸网站设计方案 app网站建设 成都网站建设 成都网站设计制作公司 重庆电商网站建设 成都网站制作 宜宾网站设计 企业网站设计 网站设计公司 手机网站制作 专业网站建设 上市集团网站建设 成都网站设计 成都网站建设 成都网站设计 成都网站设计 企业网站设计 专业网站设计 商城网站建设 重庆网站制作