如何以最小的损失将MKV转换为AVI


23

要将MKV转换为AVI,我要做两件事。我要做的第一件事是:

ffmpeg -i filename.mkv -vcodec copy -acodec copy output.avi

或这个:

ffmpeg -i filename.mkv -sameq -acodec copy output.avi

这些中的任何一个都会将MKV转换为AVI,但是问题是视频由于某些原因无法流畅播放。没关系,因为如果我再做一件事,它会得到解决:

ffmpeg -i output.avi -vcodec mpeg4 -b 4000k -acodec mp2 -ab 320k converted.avi

执行完此操作后,文件将正常播放。我成功地对一个文件执行了此操作,但随后又在另一个文件上进行了尝试,但是视频质量出现了轻微但明显的损失。这是执行第二步时得到的输出:

FFmpeg version 0.6.1, Copyright (c) 2000-2010 the FFmpeg developers
  built on Dec 29 2010 18:02:10 with gcc 4.2.1 (Apple Inc. build 5664)
  configuration: 
  libavutil     50.15. 1 / 50.15. 1
  libavcodec    52.72. 2 / 52.72. 2
  libavformat   52.64. 2 / 52.64. 2
  libavdevice   52. 2. 0 / 52. 2. 0
  libswscale     0.11. 0 /  0.11. 0

Seems stream 0 codec frame rate differs from container frame rate: 359.00 (359/1) -> 29.92 (359/12)
Input #0, avi, from 'output.avi':
  Metadata:
    ISFT            : Lavf52.64.2
  Duration: 00:04:17.21, start: 0.000000, bitrate: 3074 kb/s
    Stream #0.0: Video: mpeg4, yuv420p, 704x480 [PAR 229:189 DAR 5038:2835], 29.92 fps, 29.92 tbr, 29.92 tbn, 359 tbc
    Stream #0.1: Audio: vorbis, 48000 Hz, stereo, s16
Output #0, avi, to 'converted.avi':
  Metadata:
    ISFT            : Lavf52.64.2
    Stream #0.0: Video: mpeg4, yuv420p, 704x480 [PAR 229:189 DAR 5038:2835], q=2-31, 4000 kb/s, 29.92 tbn, 29.92 tbc
    Stream #0.1: Audio: mp2, 48000 Hz, stereo, s16, 320 kb/s
Stream mapping:
  Stream #0.0 -> #0.0
  Stream #0.1 -> #0.1

我只是在第二步中使用了任意大的设置,但之前效果很好,但在这种情况下却没有。我应该使用什么设置?


这就是ffmpeg给sameq的东西:选项'sameq'被删除了。如果要寻找保留质量的选项(这不是-sameq的目的),请使用-qscale 0或等效的质量因数选项。
DavidG

Answers:


25

为了只复制视频和音频比特流,从而没有质量损失:

ffmpeg -i filename.mkv -c:v copy -c:a copy output.avi

如果要FFmpeg自动转换视频和音频,请执行以下操作:

ffmpeg -i filename.mkv output.avi

7
FFmpeg的默认设置很糟糕。是各种编解码器编码的一般指南。FFmpeg Wiki提供了更深入的指南。
evilsoup

创建的第一个代码已损坏的文件未在VLC中播放。
codemirror18年

18
 ffmpeg -i "input.mkv" -f avi -c:v mpeg4 -b:v 4000k -c:a libmp3lame -b:a 320k "converted.avi"

我的建议:在avi容器中使用mpeg4 + mp3。


1

尝试使用ffmulticonverter。对我来说非常有用:它是ffmpeg的一种GUI,您可以轻松设置所有参数。此外,您可以找到所有可能的视频格式的列表。

LP


-3

我可以推荐我经常使用的快捷方式吗?

ffmpeg -i filename.mkv -sameq output.avi

4
sameq并不代表相同的质量,因此不应使用。实际上,它是完全从ffmpeg中删除的。而是使用目标编解码器提供的任何内容来设置质量。
slhck
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.