Tentando converter MKV para MP4 com avconv, falhando

6

Estou tentando converter um arquivo MKV para MP4 para ser compatível com meu PS3. Estou usando:      avconv -i file.mkv -c copy file.mp4

Ele falha e recebo o seguinte erro:

[mp4 @ 0x8a17c00] pts < dts in stream 0 av_interleaved_write_frame(): Invalid argument

O arquivo é vídeo h264 e áudio ac3.

    
por boredemt 15.01.2013 / 21:31

3 respostas

2

Eu acredito que

avconv -i file.mkv -c:v copy -c:a copy file.mp4

é o comando correto. Você precisa especificar a propriedade de cópia do codec para os fluxos que deseja copiar separadamente.

    
por ixtmixilix 19.05.2013 / 06:42
4

Obtenha o software necessário

sudo apt-get install gpac mkvtoolnix

Extraia vídeo e áudio do arquivo matroska

Primeiro você precisa verificar quais faixas o arquivo matroska contém com

mkvmerge --identify video.mkv

File 'video.mkv': container: Matroska
Track ID 1: video (V_MPEG4/ISO/AVC)
Track ID 2: audio (A_AC3)

Em seguida, extraia vídeo e áudio de acordo com suas faixas com:

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%

Áudio e vídeo Mux no mp4 containter

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

Eu tive que adicionar a opção -fps 24 porque MP4Box não detectou vídeo fps corretamente. Dependendo do uso, AC3 faixa de áudio deve ser recodificada em outra coisa antes do muxing.

Agora você tem fluxos remotos do contêiner matroska para o contêiner mp4 sem perder qualidade.

EDITAR: MP4 oficialmente não suporta áudio AC3, então a faixa de áudio deve ser convertida em um formato suportado (por exemplo, AAC, MP3), se você quiser que o arquivo seja jogável com algo diferente de VLC.

    
por stampede 11.12.2013 / 05:32
0

Eu estava procurando muxing mp4 junto com m4a. O habitual ffmpeg comandos para codificação não funcionou.Tentei MP4Box & amp; Funcionou como um encanto. : -)

    
por kkdeep 03.02.2014 / 13:35

Tags