2011-01-02 20 views
7

Necesito dividir un gran archivo de video en trozos más pequeños por tiempo. Dame tus sugerencias, por favor, y si puedes, algunos consejos para el uso de la biblioteca. Gracias.biblioteca de python para dividir video

+1

¿En qué formato está tu video? –

+0

El objetivo principal es subir videos a youtube. Esto determina los formatos – pss

Respuesta

5

OpenCV tiene Python wrappers.

Como estás interesado en el video IO, echa un vistazo a QueryFrame y sus funciones relacionadas allí.

Al final, el código se verá algo como esto (no está comprobado):

import cv 

capture = cv.CaptureFromFile(filename) 
while Condition1: 
    # Need a frame to get the output video dimensions 
    frame = cv.RetrieveFrame(capture) # Will return None if there are no frames 
    # New video file 
    video_out = cv.CreateVideoWriter(output_filenameX, CV_FOURCC('M','J','P','G'), capture.fps, frame.size(), 1) 
    # Write the frames 
    cv.WriteFrame(video_out, frame) 
    while Condition2: 
     frame = cv.RetrieveFrame(capture) # Will return None if there are no frames 
     cv.WriteFrame(video_out, frame) 

Por cierto, también hay maneras de hacer esto without writing any code.

+0

Gracias. Parece ser lo que quiero. – pss

+0

No hay problema. En general, los comentarios como "gracias, esto es lo que necesito" se hacen mejor aceptando la respuesta (haga clic en el símbolo de marca). Me alegra que pudieras resolver esto. Bienvenido a stackoverflow. – misha

+0

Esto fue extremadamente útil. He estado buscando un ejemplo simple y claro de biblioteca y código para construir un video y esto fue perfecto. ¡Gracias! –

1

Comprueba youtube-upload, divide los videos usando ffmpeg.

Youtube-upload es una secuencia de comandos que carga videos en Youtube. Si un video no cumple con las limitaciones de Youtube (< 2Gb y < 15 '), se dividirá automáticamente antes de cargarlo. Youtube-upload debería funcionar en cualquier plataforma (GNU/Linux, BSD, OS X, Windows, ...) que ejecuta Python y FFmpeg.

Cuestiones relacionadas