def register(self,utility,preferredplaybackmode=None,closeextplayercallback=None): self.utility = utility # TEMPARNO: make sure only used for language strings self.preferredplaybackmode = preferredplaybackmode self.determine_playbackmode() if self.playbackmode == PLAYBACKMODE_INTERNAL: # The python-vlc bindings. Created only once at the moment, # as using MediaControl.exit() more than once with the raw interface # blows up the GUI. # from BaseLib.Video.VLCWrapper import VLCWrapper self.vlcwrap = VLCWrapper(self.utility.getPath()) self.supportedvodevents = [VODEVENT_START,VODEVENT_PAUSE,VODEVENT_RESUME] else: self.vlcwrap = None # Can't pause when external player self.supportedvodevents = [VODEVENT_START] if self.playbackmode != PLAYBACKMODE_INTERNAL or not USE_VLC_RAW_INTERFACE: # Start HTTP server for serving video to external player self.videohttpserv = VideoHTTPServer.getInstance(self.videohttpservport) # create self.videohttpserv.background_serve() self.videohttpserv.register(self.videohttpserver_error_callback,self.videohttpserver_set_status_callback) if closeextplayercallback is not None: self.closeextplayercallback = closeextplayercallback
def vod_ready_callback(d,event,params): print >>sys.stderr,"main: VOD ready callback called",currentThread().getName(),"###########################################################",params["mimetype"] """ f = open("video.avi","wb") while True: data = stream.read() print >>sys.stderr,"main: VOD ready callback: reading",type(data) print >>sys.stderr,"main: VOD ready callback: reading",len(data) if len(data) == 0: break f.write(data) f.close() stream.close() """ videoserv = VideoHTTPServer.getInstance() videoserv.set_inputstream('video/mpeg',params["stream"],None)
def register(self, utility, preferredplaybackmode=None, closeextplayercallback=None): self.utility = utility # TEMPARNO: make sure only used for language strings self.preferredplaybackmode = preferredplaybackmode self.determine_playbackmode() if self.playbackmode == PLAYBACKMODE_INTERNAL: # The python-vlc bindings. Created only once at the moment, # as using MediaControl.exit() more than once with the raw interface # blows up the GUI. # from BaseLib.Video.VLCWrapper import VLCWrapper self.vlcwrap = VLCWrapper(self.utility.getPath()) self.supportedvodevents = [ VODEVENT_START, VODEVENT_PAUSE, VODEVENT_RESUME ] else: self.vlcwrap = None # Can't pause when external player self.supportedvodevents = [VODEVENT_START] if self.playbackmode != PLAYBACKMODE_INTERNAL or not USE_VLC_RAW_INTERFACE: # Start HTTP server for serving video to external player self.videohttpserv = VideoHTTPServer.getInstance( self.videohttpservport) # create self.videohttpserv.background_serve() self.videohttpserv.register( self.videohttpserver_error_callback, self.videohttpserver_set_status_callback) if closeextplayercallback is not None: self.closeextplayercallback = closeextplayercallback
print >>sys.stderr,"main: VOD ready callback: reading",type(data) print >>sys.stderr,"main: VOD ready callback: reading",len(data) if len(data) == 0: break f.write(data) f.close() stream.close() """ videoserv = VideoHTTPServer.getInstance() videoserv.set_inputstream('video/mpeg',params["stream"],None) if __name__ == "__main__": videoserv = VideoHTTPServer.getInstance() # create videoserv.background_serve() s = Session() if sys.platform == 'win32': tdef = TorrentDef.load('bla.torrent') else: tdef = TorrentDef.load('/tmp/bla.torrent') dcfg = DownloadStartupConfig.get_copy_of_default() #dcfg.set_saveas('/arno') dcfg = DownloadStartupConfig.get_copy_of_default() dcfg.set_video_start_callback(vod_ready_callback) #dcfg.set_selected_files('MATRIX-XP_engl_L.avi') # play this video #dcfg.set_selected_files('field-trip-west-siberia.avi')