在今天的教程中,我们将了解如何使用 FFmpeg 将 WebM 转为 MP4。WebM 和 MP4 都是视频容器格式,底层音频、视频和元数据可以从一种容器格式转移到另一种(也称为转换)。
现在,让我们学习使用简单的 FFmpeg 命令将 webm 转为 mp4。
FFmpeg 将 WebM 转换为 MP4 命令
要使用 FFmpeg 将 WebM 转换为 MP4,请使用以下命令:
ffmpeg -i input.webm -c:v libx264 -c:a aac output.mp4
-i
标志表示输入文件,后跟输出文件的名称。在本例中,input.webm
是要转换的 WebM 文件,output.mp4
是转换后的 MP4 文件的名称。-c:v libx264
和-c:a aac
选项分别用于设置视频和音频的编解码器。在这里,libx264
由于其效率, 是视频的流行选择,而aac
是广泛支持的音频编解码器。
将 WebM 转为 MP4 的质量和比特率控制
ffmpeg -i input.webm -c:v libx264 -b:v 1M -c:a aac -b:a 128k output.mp4
这里,-b:v 1M
将视频码率设置为1Mbit/s,将-b:a 128k
音频码率设置为128Kbit/s。这些参数决定了输出文件的质量和大小。值越高,质量越好,但文件越大,反之亦然。
帧率调整
ffmpeg -i input.webm -c:v libx264 -r 24 -c:a aac output.mp4
-r
选项允许您设置帧速率。此处,-r 24
将帧速率设置为每秒 24 帧。此设置可以帮助同步视频和音频流,特别是在帧速率不同的文件中。
使用 FFmpeg 预设值提高效率
ffmpeg -i input.webm -c:v libx264 -preset veryfast -c:a aac output.mp4
-preset
选项与转换过程的速度有关。预设范围从“超快”到“非常慢”。预设越快,转换速度就越快,但代价是文件大小变大。
使用流映射进行转换
如果 WebM 文件具有多个音频或字幕流,FFmpeg允许您将这些流映射到 MP4 文件。以下是在映射流时将 WebM 文件转换为 MP4 的方法:
ffmpeg -i input.webm -map 0:v -map 0:a -c:v libx264 -c:a aac output.mp4
-map
选项选择要包含在输出文件中的流。-map 0:v
映射所有视频流,而-map 0:a
映射第一个输入文件中的所有音频流(在 : 之前用 0 指定 )。
使用 FFmpeg 批量转换
如果需要转换多个文件,可以使用简单的循环。例如,在类Unix系统中,可以使用以下命令:
for i in *.webm; do ffmpeg -i "$i" "${i%.*}.mp4"; done
在此循环中,${i%.*}.mp4
会删除输入文件的扩展名并添加 .mp4
来生成输出文件名。
推荐阅读:
本文来自作者投稿,版权归原作者所有。如需转载,请注明出处:https://www.nxrte.com/jishu/30717.html