2012-01-11 17:59:52 +0000 2012-01-11 17:59:52 +0000
151
151
Advertisement

Tagliare parte del file video dalla posizione iniziale alla posizione finale con FFmpeg

Advertisement

Ho un file video di 30 minuti, ma voglio estrarre un video da 00:09:23 a 00:25:33.

Posso definire la posizione iniziale con -ss, ma non sono riuscito a trovarne una per la posizione finale. Qualche aiuto, per favore?

Advertisement
Advertisement

Risposte (6)

255
255
255
2012-01-11 21:02:37 +0000

Installare ffmpeg

Assicuratevi di scaricare una versione recente di ffmpeg , e non usate quella fornita con la vostra distribuzione (ad esempio Ubuntu). Le versioni confezionate di varie distribuzioni sono spesso obsolete e non si comportano come previsto.

Oppure compilalo tu stesso .

Come tagliare un video, senza ricodificare

Usate questo per tagliare il video da [start] per [duration]:

ffmpeg -ss [start] -i in.mp4 -t [duration] -c copy out.mp4

Qui le opzioni significano quanto segue:

  • -ss specifica l'ora di inizio, e. g. 00:01:23.000 o 83 (in secondi)
  • -t specifica la durata della clip (stesso formato).
  • Il recente ffmpeg ha anche un flag per fornire l'ora di fine con -to .
  • -c copy copia il primo bitstream video, audio e sottotitoli dall'ingresso al file di uscita senza ricodificarli. Questo non danneggerà la qualità e farà girare il comando in pochi secondi.

Come tagliare un video, con ricodifica

Se si tralascia l'opzione -c copy, ffmpeg ricodificherà automaticamente il video e l'audio in uscita secondo il formato scelto. Per video e audio di alta qualità, leggere la x264 Encoding Guide e la AAC Encoding Guide , rispettivamente.

Ad esempio:

ffmpeg -ss [start] -i in.mp4 -t [duration] -c:v libx264 -c:a aac -strict experimental -b:a 128k out.mp4
31
31
31
2015-05-07 02:30:48 +0000

Penso che ora si possa usare il seguente comando.

ffmpeg -i inputFile -vcodec copy -acodec copy -ss 00:09:23 -to 00:25:33 outputFile

Date un'occhiata anche ffmpeg Doc , oppure questa pagina wiki .

15
Advertisement
15
15
2015-04-07 15:10:38 +0000
Advertisement

Questo è strano che nessuno ha suggerito il trim filtro .

Lascia tutto tranne il secondo minuto di ingresso:

ffmpeg -i INPUT -vf trim=60:120

Conservare solo il primo secondo:

ffmpeg -i INPUT -vf trim=duration=1

Lascia tutto tranne il secondo 13 al secondo 58:

ffmpeg -i INPUT -vf trim=13:58 OUTPUT
6
6
6
2013-10-03 19:08:40 +0000

Si possono usare questi due metodi che funzionano per Windows e Linux.

Ci sono due modi per dividere i file video con ffmpeg. Il primo è buono di per sé, più di questo - è più veloce, ma a volte crea file di output con certi difetti. Quindi per questi casi c'è il secondo modo di dividere i file video: è considerevolmente più lento, i file di output sono più grandi, ma sembra che siano sempre dello stesso livello qualitativo dei file di input usati.

Via 1:

ffmpeg -ss <start> -i in1.avi -t <duration> -c copy out1.avi

Via 2:

ffmpeg -ss <start> -i in1.avi -t <duration> out1.avi
  • <start> - l'inizio della parte di un ffmpeg video è di tagliare. Formato: 00:00:00.0000, che significa ore:minuti:secondi:millisecondi.

  • <duration> - la durata della parte di un video ffmpeg è da ritagliare. Stesso formato come sopra.

Esempi:

ffmpeg -ss 01:19:00 -i in1.avi -t 00:05:00 -c copy out1.avi
ffmpeg -ss 01:19:00 -i in1.avi -t 00:05:00 out1.avi

ffmpeg ritaglia una parte del file video a partire da 1 ora e 19 minuti 0 secondi. La durata del taglio della sequenza video è di 5 minuti 0 secondi.

-1
Advertisement
-1
-1
2012-01-11 18:29:57 +0000
Advertisement

Potete usare questo

ffmpeg -sameq -ss clip_start -t duration -i original.ogg clip.ogg
``` &001 


Qui dovete dare la durata del video. cioè. 00:25:33-00:09:23
-2
-2
-2
2012-01-11 18:27:11 +0000

Uso la seguente sintassi per tagliare il video con ffmpef:

ffmpeg -sameq -ss [start_seconds] -t [duration_seconds] -i [input_file] [outputfile]

-t è usato per impostare la durata in secondi - non è possibile specificare il tempo di fine ma questo dovrebbe funzionare per voi.

Advertisement

Domande correlate

8
12
3
5
4
Advertisement