ffmpeg视频软编码流程说明

这篇博客详细介绍了ffmpeg的视频软编码流程,包括查找编码器、设置编码器参数、打开编码器、视频编码等步骤,并解析了avcodec_send_frame和avcodec_receive_packet两个关键编码函数的工作原理。
摘要由CSDN通过智能技术生成

1 软编码流程

视频软编码流程图
2 流程图说明

第一节的图中虚线框部分为视频格式封装部分,此处不说明。

编码主要步骤如下:

1)查找编码器
可以通过接口AVCodec *avcodec_find_encoder(enum AVCodecID id)设置,
比如,查找H264编码,设置id= AV_CODEC_ID_H264,即可找到H264编码器;
也可以通过AVCodec *avcodec_find_encoder_by_name(const char *name)设置 [常用此函数],
比如,查找H264编码,设置name=“libx264”,即可找到H264编码器。

2)设置编码器
首先,需申请编码器AVCodecContext,
根据AVCodec信息通过接口AVCodecContext *avcodec_alloc_context3(const AVCodec *codec)创建AVCodecContext,同时将AVCodec赋值给成员codec;
设置编码器参数,比如比特率(码率),帧率,分辨率,像素格式等

3)打开编码器
参数设置之后,可通过接口int avcodec_open2(AVCodecContext *avctx, const AVCodec *codec, AVDictionary **options)打开编码器。
Options可以设置编码器的相关属性,或

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值