Extrae parte de un vídeo con un comando de una línea

Extrae parte de un vídeo con un comando de una línea

Si tengo un vídeo, normalmente avi, pero puede ser cualquiera, y quiero crear otro en el mismo formato pero solo una parte, la posiciónisegundos paraFSegundos después del video, ¿cuál es el comando de una línea para hacer esto?

Respuesta1

Esto se puede hacer usando mencodero ffmpeg.

mencodificador

Digamos que desea recortar una parte que comienza en 00:00:30 en el archivo original con una duración de 5 segundos y que no debe volver a codificarse (si desea volver a codificarla tendrá que reemplazarla copycon audio). y códecs de video, para obtener una lista de códecs de audio disponibles mencoder -oac help, para obtener una lista de códecs de video disponibles mencoder -ovc help), luego emita:

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

Tendrás que reemplazar orginalfiley newfilecon nombres de archivos reales, este último es el nombre del archivo que se crea para contener la parte recortada.

ffmpeg

Digamos que desea recortar una parte que comienza en 00:00:30 en el archivo original con una duración de 5 segundos y que no debe volver a codificarse (si desea volver a codificarla tendrá que reemplazarla copycon códecs de audio y vídeo, para obtener una lista de códecs disponibles ffmpeg -formats -E), luego emite:

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

Tendrá que reemplazar orginalfiley newfilecon nombres de archivos reales; el último es el nombre del archivo que se crea para contener la parte recortada.


Para referencia verhttp://lazyxiong-tech.blogspot.com/2007/05/using-mencoder-to-cut-out-pieces-of.htmly "7. Copie sólo una parte del vídeo" enhttp://segfault.in/2010/10/ffmpeg-tricks-you-should-know-about/

Respuesta2

¿Necesita cortar video con recodificación o sin modo de recodificación? Puede intentar seguir el siguiente comando.

Sinopsis: ffmpeg -i [archivo_entrada] -ss [segundos_inicio] -t [segundos_duración] [archivo_salida]

use FFmpeg para cortar video mp4 sin volver a codificarlo

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

use FFmpeg corte video mp4 con recodificación

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

Si desea cortar la sección desde el principio, simplemente suelte -t 00:00:10el comando

Respuesta3

paquete médicoes una aplicación de línea de comandos muy simple como contenedor ffmpeg.

Puedes lograr recortar tu video usando estos comandos:

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

Puede ver las opciones del subcomando recortar como:

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

También puedes explorar otras opciones usandomedipack -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

puedes visitarhttps://github.com/srbcheema1/medipacky ejemplos de pago en README.

Respuesta4

Para ser más precisos, puedes: Abrir MANUALMENTE el archivo en un reproductor multimedia que avanzará fotograma a fotograma (potplayer es mi favorito, pero MPC-HC funciona) y reproducir un archivo AVISynth con datos como:

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)

Luego corte con el formato de hora EXACTO:

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"

y

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"

Si desea unirse, cree un archivo txt con los archivos de video con contenidos como:

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

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

Correr ffmpeg:

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

PROGRAMÁTICAMENTE Escribí un programa pero no tengo nivel 10 para mostrarlo, lo siento

información relacionada