如何简单地转换视频文件(即:MKV 到 MP4)?

use*_*552 172 video conversion ffmpeg

我只是想将任何格式的文件转换为任何格式(目前,我需要将 MKV 转换为 MP4-h264),而不会降低质量。我不想调整(缩放)视频的大小,我不想改变它的纵横比,我不想它失去质量(这很重要);我想要的只是“更改格式”,仅此而已。原因:我的 DVD 播放器无法识别 AVI 或 MP4 以外的任何格式。我不关心文件大小,除非输入和输出文件之间的差异非常大。那么,我该怎么做呢?

我已经尝试过 WinFF、Arista、Format Junkie 等程序,但它们的预设总是会改变一些我不想改变的东西(大小、纵横比等)。我不太确定,但我认为获得我想要的东西的最好方法是使用纯 ffmpeg 命令。但是如何?

顺便说一下,这里是 Ubuntu 13.04(64 位)。谢谢你们的时间,伙计们。

Say*_*yem 272

如果您只想将 MKV 转换为 MP4,那么只需更改容器即可节省质量和大量时间。这两者都只是对相同内容的包装,因此 CPU 只需要做一些工作。不要重新编码,因为你肯定会失去质量。

使用非常简单ffmpeg

ffmpeg -i LostInTranslation.mkv -codec copy LostInTranslation.mp4
Run Code Online (Sandbox Code Playgroud)

在这里,您正在复制视频编解码器和音频编解码器,因此没有进行任何编码。

提示:要转换当前目录中的所有 MKV 文件,请在终端中运行一个简单的循环:

for i in *.mkv; do
    ffmpeg -i "$i" -codec copy "${i%.*}.mp4"
done
Run Code Online (Sandbox Code Playgroud)

对于未来的转换,例如从 AVI 到 MP4,请查看HandBrake

  • 并且不要忘记 `-movflags +faststart`,因为 mp4 很烂;没有它,您将无法播放部分文件(文件末尾尚未写入)。 (6认同)
  • Windows 用户可能需要在输入文件后添加 `-strict Experimental` 标志才能使其工作:`ffmpeg -i LostInTranslation.mkv -strict Experimental -codec copy LostInTranslation.mp4`。根据[此错误报告](https://trac.ffmpeg.org/ticket/209),必须在输入文件后指定`-strict`选项;否则,它不会识别您指定的选项。这花了我很长时间才发现。 (2认同)
  • @Alexander 我在 Windows 10 上,没有使用 `-strict` 标志,并且没有问题。供参考。无论如何,错误报告已有 9 年历史,并且已在 9 年前关闭。 (2认同)

小智 17

这是你没试过的。手刹

  • 没关系,TheHerk。我找到了正确的包名称:handbrake-gtk。安装了它,但不喜欢它。不过还是谢谢。:) (2认同)
  • 正如OP问题中所指定的,Handbrake无法进行无损视频转换。它没有视频的“复制”选项。它只能进行转码,这总是会导致质量损失。 (2认同)