mov-rewrap

Per convertire un file video, a volte non è necessario ricomrimerlo solo perché ci è stato chiesto di inviarlo con un’estensione diversa. È spesso il caso dei file h264 esportati come mov che vengono richiesti come mp4 o viceversa.

L’estensione del file, non ne determina il codec, ma il contenitore, quindi il metodo che descrive in che modo i diversi elementi (audio, video, metadati etc…) coesistono al suo interno. Un file H264 è sempre un H264 che la sua estensione sia mp4 o mov. Però, ci sono alcuni player che non riconoscono dei file se hanno un contenitore diverso da quelli che sono specificamente programmati a leggere.

Supponiamo che abbiamo esportato e consegnato un file. Ci richiedono lo stesso file con un’estensione diversa. Non abbiamo più accesso al file originale o non c’è il tempo di fare una nuova compressione. In alcuni casi, possiamo semplicemente cambiargli contenitore senza doverlo ricomprimere.

Il processo è molto veloce (il tempo di una copia del file) ed esistono diversi encoder in grado di farlo. In questo articolo vedremo due tool gratuiti che ci permettono di convertire un file video senza ricomprimerlo: ffmpeg ed mpeg streacmlip.

Cambiare contenitore a un file con ffmpeg

Ffmpeg è un potente e flessibile software di encoding multi piattaforma. Se non conoscete ffmpeg o volete sapere come installarlo, potete leggere il mio post precedente.

Esistono diverse interfacce per ffmpeg ma per il semplice reimpacchettamento trovo pratico usare la riga di comando. La procedura e i comandi sono identici sia su Mac che su Windows.

Inoltre la procedura vale anche per la conversione inversa ed anche altri formati.

Prima di tutto è necessario spostarsi nella cartella dove si trova il file che dovete convertire usando il comando:

cd /percorso/directory

ffmpeg-changedir

 

Per convertire si digita il comando:

ffmpeg -i video_originale.mov -codec copy video_convertito.mp4

Una volta dato l’invio il file sarà reimpacchettato nel nuovo formato in pochissimo tempo e salvato accanto al file originale.

ffmpeg-rewrap

 

Nota: con alcuni file potrebbe presentarsi questo errore:

Codec for stream 0 does not use global headers but container format requires global headers
Codec for stream 1 does not use global headers but container format requires global headers

Se ciò dovesse accadere basterà aggiungere al comando l’opzione -flags global_header quindi il comando completo diventerà:

ffmpeg -i video_originale.mov  -codec copy -flags global_header video_convertito.mp4

Mpeg streamclip

Anche se ormai non viene più sviluppato da diverso tempo, mpeg streamclip è un software di compressione gratuito e ancora molto utilizzato. Una delle funzioni probabilmente poco conosciute di questo software è la possibilità di reimpacchettare i file senza necessariamente ricomprimerli.

mpeg streamclip rewrap

La procedura è molto semplice:

·       Apriamo il filmato in MPEG Streamclip.

·       Dal menu file selezioniamo “registra con nome”.

·       Scegliamo mp4 come estensione e salviamo.

Precisazioni

Con entrambi i metodi possiamo riconvertire i file con qualsivoglia estensione. Però, non tutti i formati contenitore supportano tutti i codec. Un esempio tra tutti è il .avi che non è un contenitore standard per l’h264. Ci sono alcuni player che riescono a riprodurlo ma potrebbe non essere supportato da altri.
Inoltre, con questo metodo otteniamo un file esattamente con le stesse caratteristiche di quello di origine. Ad esempio, a parte cambiare il contenitore, il comando, così com’è, non permette di alterarne i parametri di compressione