Strumento terminale per unire video MP4


14

Vorrei unirmi ai video mp4 come se mi unissi ai pdf di pdfjoin.

Esiste uno strumento predefinito per unire i video?

Risposte:


15

Sì, puoi unire più video in un unico file usando i comandi terminali predefiniti. L'uso di una catvolontà semplice ti farà desiderare.

cat video1.avi video2.avi videon.avi > output.avi

C'è un grande ma qui - questo metodo produrrà l'intestazione video1.avi su output.avi. Pertanto, l'intestazione di output.avi è la stessa di video1.avi, quindi sulla maggior parte dei lettori video, sembrerà che video2.avi e videon.avi siano persi - fonte 1 , fonte 2 .

Per risolvere questo problema, sono necessari strumenti aggiuntivi. Ci sono molti altri strumenti terminali per unire i film che aggiornano anche l'intestazione. Gli strumenti di editing video più conosciuti sono mencoder (che fa parte di MPlayer) e ffmpeg . Entrambi hanno un'enorme quantità di opzioni e impostazioni ed è oltre questo forum approfondire i dettagli, ma fornirò i comandi brevi di seguito.

L'uso e l'installazione di mencoder o ffmpeg possono essere intimidatori, ma le funzionalità di editing video sono le più potenti che abbia mai incontrato finora. Poiché l'installazione da sorgenti può essere una seccatura per gli utenti nativi di OS X, ti consiglio di usare Homebrew .

Per installare questi strumenti usando Homebrew , esegui questo one-liner nel tuo terminale:

ruby -e "$(curl -fsSL https://raw.github.com/mxcl/homebrew/go)"

Homebrew è ora installato, è consigliabile seguire i suggerimenti dell'installatore dopo l'installazione. Ora installiamo ffmpeg e mencoder usando brew.

brew install ffmpeg mplayer

Ora possiamo usare mencoder per unire i due video:

mencoder -oac copy -ovc copy -idx -o output.mp4 video1.mp4 video2.mp4 video3.mp4

Oppure possiamo usare ffmpeg per unire i due video:

 ffmpeg -i concat:"video1.mp4|video2.mp4" -codec copy output.mp4

Chiedete in particolare i file .mp4. mp4è un formato contenitore, è possibile che l'installazione predefinita di ffmpego mencodernon abbia i pacchetti di codifica / decodifica corretti ('codecs') per impostazione predefinita e che sia necessario installarli separatamente. Ma questo va oltre lo scopo di questo argomento.


Nota che potrebbe essere necessario sfuggire al carattere "|" che è speciale per molte conchiglie, quindi ffmpeg -i concat: video1.mp4 \ | video2.mp4
CousinCocaine

2
L'uso di virgolette singole ('') potrebbe essere più semplice della fuga dal carattere pipe. Nel comando usato nella risposta, non importa in entrambi i casi.
nohillside

Ottima risposta con spiegazione chiara. Grazie!
Léo Léopold Hertz

2
Ho provato a installare Homebrew usando il comando terminal come descritto in questa risposta e ho ottenuto "The requested URL returned error: 400 Bad Request". Come per la pagina Homebrew , il nuovo comando del terminale è/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
Sparky, il

@Sparky vai a brew.shper le istruzioni di installazione.
Cugina Cocaina,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.