# Unire filmati mp4 senza perdita di qualita'

## carlocaponi

Sto cercando di fare un video-editing razionale, ovviamente sfruttando il piu' possibile la riga di comando. Ecco il workflow:

1. Prendere un filmato e convertirlo in mp4. Necessario per fixare gli header mp3 in alcuni formati:

```
$ ffmpeg -i original.avi -c copy original.mp4
```

2. Usare avidemux per tagliare original.mp4 in tante parti (part01.mp4 .. partN.mp4), utilizzando le impostazioni seguenti:

```
audio: copy, video: copy, format: mp4
```

    Ovviamente i tagli devono essere fatti sui b-frame.

3. Unire tra loro gli mp4.

Qui sorge il problema. Per non perdere qualita', ossia per non fare nessun tipo di re-encoding, l'unica soluzione che sono riuscito a trovare e' inglobare i filmati in un contenitore mkv:

```
$ mkvmerge -o final.mkv part01.mp4 +part02.mp4 +part03.mp4
```

Ora converto il file ottenuto in mp4, perche' 'sto matroska numme piace:

```
$ ffmpeg -i final.mkv -vcodec copy -acodec copy final.mp4
```

Quando vado a visualizzare il filmato con mplayer, ottengo la seguente linea inquietante:

```
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x937d300] multiple edit list entries, a/v desync might occur, patch welcome
```

Diciamo che la cosa e' abbastanza logica, credo che il file mkv sia composto dai vari filmati (entries) collegati in serie tra loro. Pero' vorrei che non comparisse. Allora ho provato a fare cosi':

```
$ mkvextract tracks final.mkv 1:video.mp4 2:audio.aac
```

```
$ ffmpeg -i audio.aac -i video.mp4 -acodec copy -vcodec copy -absf aac_adtstoasc prova.mp4
```

L'arcano messaggio e' sparito, ma la grandezza in byte di final.mp4 e prova.mp4 sono diverse. 

Vi chiedo di rispondere alle due domande sequenti:

1. Come mai? dovrebbero essere uguali, dal momento che in tutto il processo non c'e' stato re-encoding.

2. C'e' un altro modo per unire file mp4 senza fare re-encoding e senza passare per il formato mkv?

----------

## ago

Moved from Forum italiano (Italian) to Forum di discussione italiano.

----------

## xdarma

 *carlocaponi wrote:*   

> 2. C'e' un altro modo per unire file mp4 senza fare re-encoding e senza passare per il formato mkv?

 

Hai provato con avimerge?

Eventualmente, fa parte di transcode.

----------

## carlocaponi

 *xdarma wrote:*   

> Hai provato con avimerge?

 

Purtroppo avimerge fa il re-encoding e a quanto pare funziona solo con il formato avi.

----------

## randomaze

Provato con MP4Box? Credo che non faccia il re-encoding (ma onestamente non ne sono sicuro).

Lo trovi in media-video/gpac

----------

