2011-01-02 14 views
7

Potrzebuję podzielić duży plik wideo na mniejsze części według czasu. Daj mi swoje sugestie, proszę, i jeśli możesz kilka wskazówek dotyczących korzystania z biblioteki. Dzięki.Biblioteka Pythona do dzielenia wideo

+1

W jakim formacie jest Twój film wideo? –

+0

Głównym celem jest przesłanie wideo na youtube. Określa formaty – pss

Odpowiedz

5

OpenCV ma Python wrappers.

Jeśli jesteś zainteresowany wideo IO, spójrz na QueryFrame i związane z nim funkcje.

W końcu, Twój kod będzie wyglądać następująco (całkowicie niesprawdzone):

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) 

Nawiasem mówiąc, są też sposoby wykonywania tej without writing any code.

+0

Dzięki. Wygląda na to, czego chcę. – pss

+0

Nie ma problemu. Ogólnie rzecz biorąc, komentarze takie jak "dziękuję, to jest to, czego potrzebuję" są lepiej wykonane poprzez zaakceptowanie odpowiedzi (kliknij symbol zaznaczenia). Cieszę się, że mogłeś to załatwić. Witamy w stackoverflow. – misha

+0

To było bardzo pomocne. Szukałem prostego i czytelnego przykładu biblioteki i kodu do zbudowania wideo i to było idealne. Dzięki! –

1

Sprawdź youtube-upload, dzieli filmy wideo za pomocą ffmpeg.

Youtube-upload to skrypt z wiersza poleceń, który przesyła filmy wideo do serwisu YouTube. Jeśli film nie jest zgodny z ograniczenia YouTube (< 2Gb i < 15 '), zostanie automatycznie podzielony przed przesłaniem. Youtube-upload powinien działać na dowolnej platformie (GNU/Linux, BSD, OS X, Windows, ...) , która uruchamia Pythona i FFmpeg.

Powiązane problemy