Um eine MKV in AVI umzuwandeln, mache ich zwei Dinge. Das erste was ich mache ist das:
ffmpeg -i filename.mkv -vcodec copy -acodec copy output.avi
oder dieses:
ffmpeg -i filename.mkv -sameq -acodec copy output.avi
In beiden Fällen wird MKV in eine AVI-Datei konvertiert. Das Problem ist jedoch, dass das Video aus irgendeinem Grund nicht reibungslos wiedergegeben wird. Das ist aber in Ordnung, denn wenn ich noch etwas tue, wird es behoben:
ffmpeg -i output.avi -vcodec mpeg4 -b 4000k -acodec mp2 -ab 320k converted.avi
Nachdem ich dies getan habe, spielt die Datei ohne Problem. Ich hatte Erfolg damit für eine Datei, aber dann habe ich es für eine andere Datei versucht, und es gibt einen leichten, aber merklichen Verlust in der Videoqualität. Dies ist die Ausgabe, die ich bekomme, wenn ich den zweiten Schritt mache:
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
Ich habe im zweiten Schritt nur willkürlich große Einstellungen verwendet und es hat vorher gut funktioniert, aber in diesem Fall nicht. Welche Einstellungen soll ich verwenden?