Estrai parte di un video con un comando a riga singola

59

Se ho un video, normalmente avi, ma potrebbe essere qualsiasi, e voglio crearne un altro nello stesso formato ma solo una parte, la posizione i secondi a f secondi nel video, qual è il comando a riga singola per fare ciò?

    
posta Strapakowsky 31.08.2011 - 09:36

3 risposte

86

Questo può essere fatto usando mencoder e ffmpeg .

mencoder

Dite che volete ritagliare una parte che inizia alle 00:00:30 nel file originale con una lunghezza di 5 secondi e che non dovrebbe essere ricodificata (se volete ricodificarla dovrete sostituisci copy con codec audio e video, per un elenco di problemi relativi ai codec audio disponibili mencoder -oac help , per un elenco di problemi relativi ai codec video disponibili mencoder -ovc help ), quindi emetti:

mencoder -ss 00:30:00 -endpos 00:00:05 -oac copy -ovc copy originalfile -o newfile

Dovrai sostituire orginalfile e newfile con nomi di file effettivi, più tardi è il nome del file che viene creato per contenere la parte tagliata.

ffmpeg

Dite che volete ritagliare una parte che inizia alle 00:00:30 nel file originale con una lunghezza di 5 secondi e che non dovrebbe essere ricodificata (se volete ricodificarla dovrete devi sostituire copy con codec audio e video, per un elenco di problemi di codec disponibili ffmpeg -formats -E ), quindi emetti:

ffmpeg -ss 00:00:30 -i orginalfile -t 00:00:05 -vcodec copy -acodec copy newfile

Dovrai sostituire orginalfile e newfile con nomi di file effettivi, più tardi è il nome del file che viene creato per contenere la parte tagliata.

Per riferimento vedi link e "7. Copia solo una parte del video" in link

    
risposta data N.N. 31.08.2011 - 10:23
19

Hai bisogno di tagliare video con ricodifica o senza la modalità di ricodifica? Puoi provare a seguire il comando di sotto.

Sinossi: ffmpeg -i [file_input] -ss [start_secondi] -t [durata_secondi] [file_input]

usa FFmpeg tagliare video mp4 senza ricodificare

Example:
ffmpeg -i source.mp4 -ss 00:00:05 -t 00:00:10 -c copy cut_video.mp4

usa FFmpeg taglia video mp4 con ricodifica

Example:
ffmpeg -i source.mp4 -ss 00:00:05 -t 00:00:10 -async 1 -strict -2 cut_video.mp4

Se vuoi tagliare la sezione dall'inizio, semplicemente rilascia -t 00:00:10 dal comando

    
risposta data Ben Wong 04.01.2016 - 07:33
-1

Per essere più precisi puoi: MANUALE Apri il file in un lettore multimediale che verrà inquadrato per frame advance (potplayer il mio preferito ma MPC-HC funziona) e riproduce un file AVISynth con dati come:

DirectShowSource(("C:\Downloads\Video\Do you want him.flv"), Pixel_Type="yuy2").Crop(0,0,-0,-0)
Subtitle("C:\Downloads\Video\Do you want him.flv", font="Arial", size=24, text_color=$ff0000, align=3)
ShowFrameNumber(scroll=true, x=336, y=27, font="Arial", size=24, text_color=$ff0000)

ShowTime(x=398, y=44, font="Arial", size=24, text_color=$ff0000)

Quindi taglia con il formato dell'ora EXACT:

ffmpeg -i "Path\do you want him.flv" -ss 00:00:05.240 -to 00:00:08.360 -vcodec libx264 -acodec libvo_aacenc "Path\Do you want him1.flv"

e

ffmpeg -i "Path\do you want him.flv" -ss 00:00:10.240 -to 00:00:14.360 -vcodec libx264 -acodec libvo_aacenc "Path\Do you want him2.flv"

Se desideri unirti, crea un file txt con i file video con contenuti come:

file 'C:\Downloads\Video\Do you want him1.flv'

file 'C:\Downloads\Video\Do you want him2.flv'

Esegui ffmpeg :

ffmpeg -f concat -i FileList.txt -c copy "Path\NewName_joined.flv"

a livello di codice Ho scritto un programma ma non ho il livello 10 per mostrarlo, mi dispiace

    
risposta data Budman1 04.09.2014 - 07:55

Leggi altre domande sui tag