2011-01-02 3 views
7

Мне нужно разделить большой видеофайл на более мелкие кусочки по времени. Дайте мне ваши предложения, пожалуйста, и если вы можете получить некоторые советы по использованию библиотеки. Благодарю.библиотека python для разделения видео

+1

В каком формате Ваше видео? –

+0

Основная цель - загрузить видео на youtube. Это определяет форматы – pss

ответ

5

OpenCV имеет Python wrappers.

Как вас интересует видео IO, посмотрите на QueryFrame и связанные с ним функции.

В конце концов, ваш код будет выглядеть примерно так (полностью непроверенный):

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) 

Кстати, есть также способы сделать это without writing any code.

+0

Спасибо. Кажется, это то, что я хочу. – pss

+0

Нет проблем. В общем, комментарии, такие как «спасибо, это то, что мне нужно», лучше сделаны, приняв ответ (щелкните по тик-символу). Рад, что вы могли это решить. Добро пожаловать в stackoverflow. – misha

+0

Это было очень полезно. Я искал простую и ясную библиотеку и пример кода для создания видео, и это было прекрасно. Благодаря! –

1

Проверьте youtube-upload, он разбивает видео, используя ffmpeg.

Youtube-upload - это сценарий командной строки , который загружает видео на Youtube. Если видео не соответствует Ограничения на использование Youtube (< 2Gb и < 15 '), он будет автоматически разделен перед загрузкой. Youtube-upload должен работать на любой платформе (GNU/Linux, BSD, OS X, Windows, ...) , которая запускает Python и FFmpeg.