FFMPEG 将 flv 转换为 mp4 而不会降低质量

Cha*_*ker 65 mp4 ffmpeg

目前,我正在将 .flv flash 文件转换为 .webm 和 .mp4 文件,以便与 HTML5 视频播放器一起使用。

_

我将这个 ffmpeg 命令用于 WEBM:ffmpeg -i filename.flv -vcodec libvpx -acodec libvorbis filename.webm 它工作得很好并且文件大小保持相对相同(重要)。

_

对于 MP4,我使用以下内容: ffmpeg -i filename.flv -sameq -ar 22050 filename.mp4

它可以很好地转换为 .mp4 并防止任何质量损失,但文件大小几乎增加了三倍。

什么 ffmpeg 公式可用于转换为 MP4,而不会损失太多质量并防止文件变大?

sas*_*alm 64

ffmpeg -i filename.flv -c:v libx264 -crf 19 -strict experimental filename.mp4
Run Code Online (Sandbox Code Playgroud)

您必须指定使用的视频编解码器。在您的命令中,您没有指定-vcodec-c:v因此 ffmpeg 使用 MP4 ( mpeg4)的默认编解码器,该编解码器没有很好的压缩效率。尝试改用 libx264 并设置 CRF,即质量级别(越低越好,默认值为 23,合理值介于 18 和 28 之间)。

使用 libx264 编码有点复杂,因此您应该查找H.264 编码指南

您还需要指定-strict experimental否则您可能会得到:“编码器 'aac' 是实验性的,但未启用实验性编解码器,如果您想使用它,请添加 '-strict -2'。”

  • @doubleDown 我的答案是旧的 - 从 2011 年开始。从那时起他们可能在某个时候更改了默认值。 (2认同)

c97*_*c97 50

此命令仅更改容器而无需重新编码

ffmpeg -i input.flv -codec copy output.mp4
Run Code Online (Sandbox Code Playgroud)

  • @trainoasis 您的 .flv 不包含 H.264 视频和 AAC 音频。将未使用 `-codec copy` 的音频/视频数据复制到 .mp4 文件仅适用于音频和视频**已经**使用 H.264 和 AAC 编码的极少数情况。请参阅 http://superuser.com/a/1009539/390946 和 https://addpipe.com/blog/flv-to-mp4/ 。 (5认同)

Al *_*epp 5

根据本指南,无需任何 AV 重新编码即可将 FLV 转换为 MP4 的正确命令是:

ffmpeg -i input.flv -c copy -copyts output.mp4
Run Code Online (Sandbox Code Playgroud)

它在所有情况下都非常适合我使用 AVC 视频和 AAC 或 MP3 音频。


归档时间:

查看次数:

120474 次

最近记录:

10 年,1 月 前