Come posso ritagliare (tempo non immagine) un file video MP4


17

Sto cercando un'app che mi aiuti a tagliare i bit di inizio e fine di un file mp4 in modo efficiente e senza perdite .

es. c'è qualcosa che mi permette di trovare un fotogramma chiave e di copiare il lotto tra quello e un altro fotogramma chiave, senza bisogno di ricodificare il lotto (lento e con perdita) e senza perdere la sincronizzazione AV?

Per mp4, intendo video H264 + audio AAC in un contenitore MP4

Pre h264 giorni Avidemux è stato uno strumento eccellente per questo in quanto è possibile riutilizzare i flussi codificati originali senza perdita di dati e impiegare solo pochi secondi per creare la versione ritagliata, ma è senza speranza con h264: aprirne uno offre due opzioni: utilizzare la modalità provvisoria (che perde la sincronizzazione AV in modo massiccio) o utilizza la modalità pericolosa che la blocca immediatamente.

AFAIK, Openshot, Kdenlive, Pitivi ecc. Lo faranno tutti decodificando e ricodificando (lento e con perdita).

Sembra una cosa semplice (probabilmente mostrando la mia mancanza di conoscenza qui!), Quindi mi chiedevo se mi mancasse qualcosa.


Se devi tagliare la fine del video, vedi la risposta che ho dato su un altro argomento: askubuntu.com/questions/412558/…
v010dya

2
superuser.com/questions/377343/… si riferisce bene e offre una soluzione simile a quella qui sotto, ma aggiunge alcune buone informazioni.
pbhj,

Risposte:


24

ffmpeg

ffmpeg -i source.mp4 -ss 00:00:00 -t 00:00:00 -vcodec copy -acodec copy splice.mp4

Questo richiederà source.mp4 e, usando gli stessi codec audio e video e non degradando la qualità, prenderà -t time dopo -ss time time video e produrrà il tuo splice.mp4

Si noti che i tempi sono molto sensibili alla formattazione (sopra c'è un esempio di formattazione). Inoltre, in alcune distribuzioni, ffmpegè stato sostituito con avconv. Basta eseguire il comando sopra e sostituire la parola ffmpeg con avconv per risolvere questo problema.

Un'altra eccellente fonte di informazioni su questo argomento. (Grazie @pbhj)


3
Brillante. Si noti che non è possibile abbreviare l' -ssargomento, vale 9:00a dire che per 9 minuti deve essere espresso, 00:09:00altrimenti viene ignorato silenziosamente. Penso che anche questa risposta debba essere aggiornata per essere utilizzata avconv, secondo l'avvertimento di ffmpeg. Grazie.
artfulrobot,

Nota a margine, quell'avvertimento riflette solo che hai installato avconv piuttosto che ffmpeg, quindi il tuo eseguibile ffmpeg è in realtà solo un wrapper attorno ad avconv e quel wrapper potrebbe essere presto deprecato. Se ffmpeg fosse installato ma non avconv, non riceveresti questo avviso. Non ha lo scopo di significare che ffmpeg stesso è deprecato (sebbene, le versioni recenti di Ubuntu abbiano scelto di installare avconv di default piuttosto che ffmpeg).
thomasrutter,

5

In Ubuntu 16.04 l'equivalente di ffmpegè il comandoavconv

Per installarlo eseguire:

sudo apt-get install libav-tools

Riga di comando di esempio per ritagliare un video in base al tempo:

avconv -i originalFile.ogv -ss 00:00:00 -t 00:00:10 -vcodec copy -acodec copy croppedFile.ogv

Non disponibile nelle versioni successive di Ubuntu.
lolmaus - Andrey Mikhaylov,
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.