Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

To convert an MKV to AVI, I do two things. The first thing I do is this:

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

or this:

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

Either of these will convert the MKV to an AVI, but the problem is that the video does not play smoothly for some reason. That's fine though, because if I do one more thing it gets fixed:

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

After I do this then the file plays without problem. I had success doing it this way for one file, but then I tried it on another file, and there is a slight, but noticeable loss in video quality. This is the output I get when doing the second step:

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

I just used arbitrarily large settings on the second step and it worked nicely before but not in this case. What settings should I use?

share|improve this question
add comment

4 Answers 4

up vote 10 down vote accepted

In order to just copy the video and audio bitstream, thus without quality loss:

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

If you want FFmpeg to convert video and audio automatically:

ffmpeg -i filename.mkv output.avi
share|improve this answer
2  
FFmpeg's default settings tend to be awful. Here is a general guide to encoding with various codecs; the FFmpeg wiki has more in-depth guides. –  evilsoup Jun 11 '13 at 8:27
add comment
 ffmpeg -i "input.mkv" -f avi -c:v mpeg4 -b:v 4000k -c:a libmp3lame -b:a 320k "converted.avi"

My suggestion: use mpeg4+mp3 in avi container.

share|improve this answer
add comment

Try to use ffmulticonverter. Very useful for me: it is a sort of GUI for ffmpeg and you can set easily all the parameters. Moreover you can find a list of all possible video formats.

LP

share|improve this answer
add comment

May I recommend a shortcut I use regularly?

ffmpeg -i filename.mkv -sameq output.avi
share|improve this answer
2  
sameq does not mean same quality and shouldn't be used. Rather set the quality using whatever the target codec provides. –  slhck Aug 29 '12 at 21:15
add comment

protected by Community Mar 18 at 4:00

Thank you for your interest in this question. Because it has attracted low-quality answers, posting an answer now requires 10 reputation on this site.

Would you like to answer one of these unanswered questions instead?

Not the answer you're looking for? Browse other questions tagged or ask your own question.