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://hxwzsj.com/article/gsssci.html

其他资讯

Copyright © 2025 青羊区翔捷宏鑫字牌设计制作工作室(个体工商户) All Rights Reserved 蜀ICP备2025123194号-14
友情链接: 重庆网站建设 成都网站建设 手机网站制作 品牌网站建设 app网站建设 梓潼网站设计 成都网站制作 手机网站制作 营销型网站建设 网站制作公司 成都网站建设 做网站设计 专业网站设计 企业网站设计 响应式网站设计 自适应网站建设 成都做网站建设公司 定制网站建设 成都网站设计 攀枝花网站设计 网站设计 定制级高端网站建设