ffmpeg 2个图片合并为视频

  1. 打开图片1,打开解码器

  2. 打开图片2,打开解码器

  3. 打开输出文件

  4. 分配音视频文件封装实例
    avformat_alloc_output_context2(&out_fmt_ctx, nullptr, nullptr, dest_name);

    复制代码
    #include <libavformat/avformat.h>
    
    int avformat_alloc_output_context2(AVFormatContext **out_ctx,
                                       const AVOutputFormat *ofmt,
                                       const char *format_name,
                                       const char *filename);
  5. 打开输出流
    avio_open(&out_fmt_ctx->pb, dest_name, AVIO_FLAG_READ_WRITE);

    复制代码
    #include <libavformat/avformat.h>
    
    int avio_open(AVIOContext **s, const char *url, int flags);
  6. 创建编码器
    AVCodec *codec = avcodec_find_encoder(AV_CODEC_ID_H264);
    AVCodecContext *encodec = avcodec_alloc_context3(codec);

  7. 设置编码器参数(像素格式、视频宽高、帧率、时间基、关键帧间隔时间等)
    encodec->pix_fmt = AV_PIX_FMT_YUV420P;
    encodec->width = src_vStream->width();
    encodec->height = src_vStream->height();
    encodec->framerate = (AVRational{25,1});
    encodec->time_base = (AVRational{1,25});
    encodec->gop_size = 12;
    encodec->max_b_frames = 0; // 0 表示不要B帧
    if(out_fmt_ctx->oformat0>flag & AVFMT_GLOBALHEADER){
    // 允许操作系统显示该视频的缩略图
    encodec->flags = AV_CODEC_FLAG_GLOBAL_HEADER;
    }

  8. 打开编码器

  9. 创建新的数据流
    avformat_new_stream(out_fmt_ctx, nullptr);

  10. 把编码器参数实例复制给目标结构体
    avcodec_parameters_from_context(dest_vStream->codecpar, encodec);

  11. 设置视频流索引
    dest_vStream->codecpar->codec_tag = 0;

  12. 写文件头
    avformat_write_header(out_fmt_ctx, nullptr);

  13. 对视频帧重新编码写入文件(2遍)

  14. 写入文件尾

av_write_trailer(out_fmt_ctx);

相关推荐
ai产品老杨35 分钟前
明火识别算法接入AI视频分析平台全流程与误报优化指南(附接口字段与排查表)
人工智能·算法·音视频
方银的技术分享39 分钟前
四、AI训练师:数据标注-音频标注
人工智能·音视频
深圳市宝华视联2 小时前
移动示教推车功能介绍
网络·嵌入式硬件·音视频·视频编解码·嵌入式实时数据库
chnyi6_ya3 小时前
【论文阅读】VideoArgus:用「样本专属评分表」统一评测视频生成与编辑
论文阅读·音视频
美狐美颜SDK开放平台15 小时前
视频美颜SDK是什么?直播APP开发中美颜功能实现方式介绍
深度学习·架构·实时互动·音视频·视频美颜sdk
美狐美颜sdk17 小时前
直播APP开发如何实现美颜功能?视频美颜SDK接入流程与技术方案解析
大数据·人工智能·音视频·美颜sdk·美颜api
阿童木写作20 小时前
跨马翻译:AI批量图片翻译工具,视频字幕翻译与智能抠图一站式解决
大数据·人工智能·python·音视频
辰辰观影21 小时前
HDR视频颜色偏黄怎么解决?
音视频