首页 > 解决方案 > FFMPEG 将缩略图附加到视频的第一帧

问题描述

我想将图像(类似于 youtube)附加/附加到视频的第一帧,我尝试了这个命令:

ffmpeg -i video.mp4 -i image.png -map 1 -map 0 -c copy -disposition:0 attached_pic out.mp4

但它不起作用,第一帧不是我的自定义图像

我的 ffmpeg 版本:

ffmpeg 版本 n4.4-80-gbf87bdd3f6-20210830 版权所有 (c) 2000-2021 FFmpeg 开发者

标签: ffmpeg

解决方案


您必须将帧连接到开头。

  1. 重新编码音频video.mp4。音频是 HE-AACv2,但您没有 HE-AACv2 编码器。因此必须将其更改为更常见的 AAC-LC 以允许与从图像生成的视频连接。

    ffmpeg -i video.mp4 -c:v copy -c:a aac main.mp4
    
  2. image.png使用静音填充音频制作视频。它必须具有与 相同的属性main.mp4

    ffmpeg -loop 1 -framerate 30 -i image.png -f lavfi -i anullsrc=r=48000 -frames:v 2 -c:v libx264 -vf format=yuv420p -video_track_timescale 30k -c:a aac image.mp4
    

    -frames:v 2用于代替-frames:v 1音频的要求。

  3. 使input.txt包含:

    file 'image.mp4'
    file 'main.mp4'
    
  4. 连接:

    ffmpeg -f concat -i input.txt -c copy output.mp4
    

推荐阅读