Pour convertir un MKV en AVI, je fais deux choses. La première chose que je fais est la suivante:
ffmpeg -i filename.mkv -vcodec copy -acodec copy output.avi
ou ca:
ffmpeg -i filename.mkv -sameq -acodec copy output.avi
L'un ou l'autre convertira le MKV en AVI, mais le problème est que la vidéo ne joue pas correctement pour une raison quelconque. C'est bien, car si je fais encore une chose, cela se corrige:
ffmpeg -i output.avi -vcodec mpeg4 -b 4000k -acodec mp2 -ab 320k converted.avi
Après cela, le fichier est lu sans problème. J'ai réussi à le faire de cette façon pour un fichier, mais je l'ai ensuite essayé sur un autre fichier, et il y a une légère, mais notable perte de qualité vidéo. Voici la sortie que j'obtiens lors de la deuxième étape:
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
J'ai juste utilisé des paramètres arbitrairement grands lors de la deuxième étape et cela fonctionnait bien avant mais pas dans ce cas. Quels paramètres dois-je utiliser?