extract ogg clips
This commit is contained in:
parent
c9ba3dfa89
commit
27bd9b5475
6 changed files with 223 additions and 124 deletions
|
|
@ -24,6 +24,7 @@ import cache
|
|||
import oxdb_import
|
||||
from oxdb_utils import oxdb_title, oxdb_director, oxdb_id, oxdb_makedir
|
||||
from subtitles import *
|
||||
from extract import *
|
||||
import midentify
|
||||
|
||||
|
||||
|
|
@ -447,8 +448,8 @@ class ArchiveFile(SQLObject):
|
|||
#enable this later
|
||||
#self.extractFrames()
|
||||
#self.extractClips()
|
||||
|
||||
def extractClip(self, inpoint, outpoint=-1, flash_folder=-1):
|
||||
|
||||
def extractFlvClip(self, inpoint, outpoint=-1, flash_folder=-1):
|
||||
if flash_folder == -1:
|
||||
flash_folder = self.frameFolder
|
||||
movie_file = self.mini_movie_file
|
||||
|
|
@ -469,9 +470,30 @@ class ArchiveFile(SQLObject):
|
|||
extract_flash(movie_file, flash_movie, inpoint, outpoint, width, height, offset = 0)
|
||||
#extract_flash_ng(self.absolutePath, flash_movie, inpoint, outpoint, width, height, offset)
|
||||
|
||||
def extractOggClip(self, inpoint, outpoint=-1, flash_folder=-1):
|
||||
if clip_folder == -1:
|
||||
clip_folder = self.frameFolder
|
||||
movie_file = self.mini_movie_file
|
||||
position = inpoint.replace(':', '.')
|
||||
clip_movie = join(self.frameFolder, '%s.%s' % (position, 'ogg'))
|
||||
width = 128
|
||||
height = int(width / self.frameAspect)
|
||||
height = height - height % 2
|
||||
inpoint = inpoint.replace('.', ':')
|
||||
if outpoint == -1:
|
||||
s = self._findSubtitleByStart(inpoint)
|
||||
if s:
|
||||
outpoint = s['stop']
|
||||
else:
|
||||
outpoint = shift_time(5000, inpoint)
|
||||
else:
|
||||
outpoint = outpoint.replace('.', ':')
|
||||
extract_ogg(movie_file, clip_movie, inpoint, outpoint, width, height, offset = 0)
|
||||
|
||||
|
||||
def extractClips(self, img_folder=cache.frame_cache_root):
|
||||
for p in self._startPoints():
|
||||
self.extractClip(p)
|
||||
self.extractFlvClip(p)
|
||||
|
||||
def extractFrame(self, position, img_folder=-1):
|
||||
if img_folder == -1:
|
||||
|
|
@ -508,6 +530,7 @@ class ArchiveFile(SQLObject):
|
|||
if exists(mini_movie_file) and not force:
|
||||
print "clip exists, skipping extraction", mini_movie_file
|
||||
return
|
||||
self.extracted = False
|
||||
oxdb_makedir(dirname(mini_movie_file))
|
||||
|
||||
options = ''
|
||||
|
|
@ -609,8 +632,11 @@ class ArchiveFile(SQLObject):
|
|||
pixels = self.updatePixels()
|
||||
return pixels
|
||||
|
||||
def clip(self, position):
|
||||
return cache.loadClip(self, position)
|
||||
def flvClip(self, position):
|
||||
return cache.loadFlvClip(self, position)
|
||||
|
||||
def oggClip(self, position):
|
||||
return cache.loadOggClip(self, position)
|
||||
|
||||
def frame(self, position):
|
||||
return cache.loadFrame(self, position)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue