Se ho un video, normalmente avi, ma potrebbe essere qualsiasi, e voglio crearne un altro nello stesso formato ma solo una parte, la posizione da i secondi a f secondi nel video, qual è il comando di una riga da fare Questo?
Se ho un video, normalmente avi, ma potrebbe essere qualsiasi, e voglio crearne un altro nello stesso formato ma solo una parte, la posizione da i secondi a f secondi nel video, qual è il comando di una riga da fare Questo?
Risposte:
Questo può essere fatto usando mencoder
e ffmpeg
.
Supponi di voler ritagliare una parte che inizia alle 00:00:30 nel file originale con una durata di 5 secondi e che non deve essere ricodificata (se desideri ricodificarlo, dovrai sostituirlo copy
con l'audio e codec video, per un elenco di problemi di codec audio disponibili mencoder -oac help
, per un elenco di problemi di 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 i nomi dei file effettivi, il successivo è il nome del file creato per contenere la parte ritagliata.
Supponi di voler ritagliare una parte che inizia alle 00:00:30 nel file originale con una durata di 5 secondi e che non dovrebbe essere ricodificato (se vuoi ricodificarlo, dovrai sostituirlo copy
con codec audio e video, per un elenco dei 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 i nomi dei file effettivi, il successivo è il nome del file creato per contenere la parte ritagliata.
Per riferimento consultare http://lazyxiong-tech.blogspot.com/2007/05/using-mencoder-to-cut-out-pieces-of.html e "7. Copia solo una parte del video" in http: // segfault.in/2010/10/ffmpeg-tricks-you-should-know-about/
-ss ... -t ...
ha bisogno di essere prima che l' -i infile
opzione. Vedi questa risposta per il vero one-liner. Hai quasi capito, ma non l'ordine ...
Devi tagliare video con ricodifica o senza modalità di ricodifica? Puoi provare a seguire il comando seguente.
Sinossi: ffmpeg -i [input_file] -ss [start_seconds] -t [duration_seconds] [output_file]
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 tagliare 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 si desidera tagliare la sezione dall'inizio, è sufficiente abbandonare -t 00:00:10
il comando
medipack è un'app molto semplice da riga di comando come wrapper ffmpeg
.
puoi ottenere il taglio del tuo video usando questi comandi:
medipack trim input.mp4 -s 01:04 -e 14:08 -o output.mp4
medipack trim input.mp4 -s 01:04 -t 13:04 -o output.mp4
è possibile visualizzare le opzioni del sottocomando trim come:
srb@srb-pc:$ medipack trim -h
usage: medipack trim [-h] [-s START] [-e END | -t TIME] [-o OUTPUT] [inp]
positional arguments:
inp input video file ex: input.mp4
optional arguments:
-h, --help show this help message and exit
-s START, --start START
start time for cuting in format hh:mm:ss or mm:ss
-e END, --end END end time for cuting in format hh:mm:ss or mm:ss
-t TIME, --time TIME clip duration in format hh:mm:ss or mm:ss
-o OUTPUT, --output OUTPUT
puoi anche esplorare altre opzioni usando medipack -h
srb@srb-pc:$ medipack --help
usage: medipack.py [-h] [-v] {trim,crop,resize,extract} ...
positional arguments:
{trim,crop,resize,extract}
optional arguments:
-h, --help show this help message and exit
-v, --version Display version number
puoi visitare https://github.com/srbcheema1/medipack e esempi di checkout in README.
Per essere più precisi è possibile: MANUALMENTE Aprire il file in un lettore multimediale che inquadrerà per fotogramma in avanti (potplayer il mio preferito ma MPC-HC funziona) e riprodurre 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 tagliare con il formato ora ESATTO:
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"
PROGRAMMATAMENTE Ho scritto un programma ma non ho un livello 10 per mostrarlo, scusa