J'essaie de convertir un fichier MKV en MP4 pour qu'il soit compatible avec ma PS3. J'utilise: avconv -i file.mkv -c copy file.mp4
Cela échoue et j'obtiens l'erreur suivante:
[mp4 @ 0x8a17c00] pts < dts in stream 0 av_interleaved_write_frame(): Invalid argument
Le fichier est vidéo h264 et audio ac3.
Je crois que
avconv -i file.mkv -c:v copy -c:a copy file.mp4
est la commande correcte. Vous devez spécifier la propriété de copie de codec pour les flux que vous souhaitez copier séparément.
Sudo apt-get install gpac mkvtoolnix
Vous devez d’abord vérifier les pistes que contient le fichier matroska avec
mkvmerge --identify video.mkv
File 'video.mkv': container: Matroska
Track ID 1: video (V_MPEG4/ISO/AVC)
Track ID 2: audio (A_AC3)
Extrayez ensuite la vidéo et l'audio en fonction de leurs pistes avec:
mkvextract tracks video.mkv 1:video.h264 2:audio.ac3
Extracting track 1 with the CodecID 'V_MPEG4/ISO/AVC' to the file 'video.h264'. Container format: AVC/h.264 elementary stream
Extracting track 2 with the CodecID 'A_AC3' to the file 'audio.ac3'. Container format: Dolby Digital (AC3)
Progress: 100%
MP4Box -fps 24 -add video.h264 -add audio.ac3 video.mp4
AVC-H264 import - frame size 1280 x 720 at 24.000 FPS
Import results: 31671 samples - Slices: 5672 I 125048 P 122648 B - 32288 SEI - 4936 IDR
AC3 import - sample rate 48000 - 6 channels
Saving to video.mp4: 0.500 secs Interleaving
J'ai dû ajouter l'option -fps 24
parce que MP4Box
n'a pas détecté correctement les images par seconde. En fonction de l'utilisation, AC3
la piste audio doit être ré-encodée dans un autre fichier avant de multiplexer.
Maintenant, vous avez remodelé les flux du conteneur matroska dans le conteneur mp4 sans perte de qualité.
EDIT: MP4 ne prenant pas officiellement en charge l’audio AC3, la piste audio doit donc être convertie dans un format pris en charge (par exemple, AAC, MP3) si vous voulez que le fichier puisse être lu avec autre chose que VLC.
Je cherchais muxing mp4 avec m4a. L'habituel ffmpeg commandes pour l'encodage n'a pas fonctionné. J'ai essayé MP4Box & cela a fonctionné comme un charme. :-)