仅凭您提供的信息,我就能想到。
让我们逐个进行:
由于仅在视频中添加了一张图像。我想知道是否有减小视频大小的方法,例如强制比特率/秒= 1而不是28?
由于它是静止图像,因此无需更改。保持静止。
您所说的是每秒帧数(fps),而不是比特率。您的想法是正确的。只需一个静止图像1 fps就可以了。
mp4尺寸合适吗?图像尺寸重要吗?
在这种情况下,图像尺寸不会有很大的权重,因为我们只处理一张静态图片。如果这是高质量的视频,那就另当别论了。
我是否应该将jpg的大小调整为1080 * 720,并在ffmpeg中进行其他设置以输出为720p(那么ffmpeg设置是什么?)?
您说的分辨率是1280x720。
我在-loop 1
这里看不到该选项的要点,它只会减慢该过程。您是否使用了-shortest
导致文件具有多个输入流的文件?如果没有,则没有理由使用它。既然您使用过,-acodec copy
我将不得不假设您不想对其进行重新编码。
对于720p 1fps的输出而无需重新编码且不影响比特率:
ffmpeg -framerate 1 -i input.mp3 -i cover.jpg -c:a copy -s 1280x720 output.mp4
如果它有多个输入流,而您希望ffmpeg在最短的流上完成编码,那么可以:
ffmpeg -framerate 1 -i input.mp3 -i cover.jpg -c:a copy -s 1280x720 -shortest output.mp4
现在,如果您必须更改比特率(例如1024k);
ffmpeg -framerate 1 -i input.mp3 -i cover.jpg -c:a copy -b:v 1024k -bufsize 1024k -s 1280x720 output.mp4
请参阅:限制输出比特率
-c:a复制 =复制输入音频流,因此我们不会重新编码。
-b:v =指定为(不精确)恒定的比特率。
-bufsize =它是计算平均比特率的时间间隔。根据-b:v中的指定,这意味着最低的损失质量更好的图像,但比特率更准确。
-s =视频输出的实际大小。
-framerate =我们希望输出使用的输入帧速率。
请注意,如果您仍然希望在某一时刻获得较小尺寸的视频,则必须牺牲质量才能实现这一点。其他实现方法包括使用有损压缩进行重新编码。
从您所说的内容来看,您提供的信息以及您正在尝试做的事情,我认为您的目标似乎是将专辑封面嵌入mp3。如果这是您的目标,那么它将更适合您的要求:
ffmpeg -i input.mp3 -i cover.jpg -map_metadata 0 -map 0 -map 1 output.mp3
-map_metadata =从infile输出文件的ffmpeg元数据说明符。在这种情况下(零)是全局元数据。
-map 0 =输入流1(音频)。
-map 1 =输入流2(图像)。
如果此处没有适合您的要求,请提供更多信息。