小编bod*_*ydo的帖子

如何将视频中具有 1 个静态图像(带声音)的 .avi 视频转换为 ffmpeg 的 mp4 视频到尽可能小的尺寸?

我有一个 25fps 的 .avi 视频 (divx),它有 64kbit/s 的 mp3 音频。该视频在整个视频中只有一张图片。

我正在尝试将此视频转换为 mp4,但要使其尽可能小(因为实际上只有 1 帧!)

我目前正在尝试这个:

ffmpeg -i video.avi -vcodec libx264 -acodec aac \
-ar 32000 -ab 64k -ac 2 -strict -2 -y video.mp4
Run Code Online (Sandbox Code Playgroud)

但这会生成与 .avi 大小相似的 mp4 视频。

接下来我尝试将帧速率更改为 1fps:

ffmpeg -i video.avi -vcodec libx264 -acodec aac \
-ar 32000 -ab 64k -ac 2 -strict -2 -y -r 1 video.mp4
Run Code Online (Sandbox Code Playgroud)

这使得视频文件小得多(小 10 倍),但存在关键帧没有出现在视频的第一帧的问题。所以视频中唯一的一帧在视频中看起来像 8 或 10 秒(!)。

看起来这里的问题是 ffmpeg 不断从 video.avi 中删除帧,并且不会将它们作为关键帧写入 video.mp4。当它确实写了一个关键帧时,它在视频中已经晚了。

它尝试使用-force_key_frames参数,但这也无济于事。我做了-force_key_frames 0和-force_key_frames …

mp4 ffmpeg video-conversion

7
推荐指数
1
解决办法
1204
查看次数

标签 统计

ffmpeg ×1

mp4 ×1

video-conversion ×1