ffmpeg - 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 开发者
解决方案
您必须将帧连接到开头。
重新编码音频
video.mp4
。音频是 HE-AACv2,但您没有 HE-AACv2 编码器。因此必须将其更改为更常见的 AAC-LC 以允许与从图像生成的视频连接。ffmpeg -i video.mp4 -c:v copy -c:a aac main.mp4
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
音频的要求。使
input.txt
包含:file 'image.mp4' file 'main.mp4'
连接:
ffmpeg -f concat -i input.txt -c copy output.mp4
推荐阅读
- c# - GridFS MongoDB 在下载文件时检索元数据
- django - 拥有许多所有权的 Django 模型
- google-data-studio - 使用 Data Studio 显示输入最多的列
- r - 在ggspatial图中使用轴标签和网格线的投影坐标?
- typescript - 推断任何泛型类的泛型类型参数
- javascript - 警报在 getPosition 函数结束之前打开
- python - 二进制和脚本文件的 pypi 打包安装位置错误
- asynchronous - Vala 异步关闭
- asp.net-core-webapi - ASP.NET Core - 引用程序集中的控制器
- javascript - 在javascript中将日期和时间分成两行