org.mycore.backend.videocharger
Class MCRAVExtVideoCharger

java.lang.Object
  extended by org.mycore.datamodel.ifs.MCRAudioVideoExtender
      extended by org.mycore.backend.videocharger.MCRAVExtVideoCharger

public class MCRAVExtVideoCharger
extends MCRAudioVideoExtender

This class implements the AudioVideoExtender functions for IBM VideoCharger 7.1 and 8.1 instances. It reads technical metadata about stored assets by parsing the vslist cgi responses and gets a player starter file using the iscpfsel cgi. The parameters can be configured in mycore.properties: MCR.IFS.AVExtender..VSListURL URL of vslist cgi MCR.IFS.AVExtender..ISCPFSelURL URL of iscpfsel cgi MCR.IFS.AVExtender..PlayerURL Download URL for VideoCharger Player This class also provides a method to list all assets in a VideoCharger store.

Version:
$Revision: 13085 $ $Date: 2008-02-06 18:27:24 +0100 (Mi, 06 Feb 2008) $
Author:
Frank Lützenkirchen

Field Summary
protected static String assetGroup
           
protected static String encoding
           
 
Fields inherited from class org.mycore.datamodel.ifs.MCRAudioVideoExtender
AUDIO, baseMetadata, basePlayerStarter, bitRate, contentTypeID, durationHours, durationMinutes, durationSeconds, file, frameRate, mediaType, playerDownloadURL, playerStarterCT, size, VIDEO
 
Constructor Summary
MCRAVExtVideoCharger()
           
 
Method Summary
 void getPlayerStarterTo(OutputStream out, String startPos, String stopPos)
          Writes a metafile that starts a streaming player for this asset to an OutputStream, e.
 void init(MCRFileReader file)
          Initializes this AudioVideoExtender and gets technical metadata from the server that holds the streaming asset.
 String[] listAssets()
          Lists all assets that are stored in this VideoCharger store.
 void readConfig(String storeID)
           
 
Methods inherited from class org.mycore.datamodel.ifs.MCRAudioVideoExtender
forwardData, getBetween, getBitRate, getBitRateFormatted, getConnection, getConnectTimeout, getContentTypeID, getDurationFormatted, getDurationHours, getDurationMinutes, getDurationSeconds, getDurationTimecode, getFrameRate, getFrameRateFormatted, getMediaType, getMetadata, getPlayerDownloadURL, getPlayerStarterContentType, getSize, getSizeFormatted, isAudio, isVideo, toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

assetGroup

protected static String assetGroup

encoding

protected static String encoding
Constructor Detail

MCRAVExtVideoCharger

public MCRAVExtVideoCharger()
Method Detail

readConfig

public void readConfig(String storeID)

init

public void init(MCRFileReader file)
          throws MCRPersistenceException
Description copied from class: MCRAudioVideoExtender
Initializes this AudioVideoExtender and gets technical metadata from the server that holds the streaming asset. Subclasses must override this method!

Overrides:
init in class MCRAudioVideoExtender
Parameters:
file - the MCRFile that this extender belongs to
Throws:
MCRPersistenceException

getPlayerStarterTo

public void getPlayerStarterTo(OutputStream out,
                               String startPos,
                               String stopPos)
                        throws MCRPersistenceException
Description copied from class: MCRAudioVideoExtender
Writes a metafile that starts a streaming player for this asset to an OutputStream, e. g. a ServletOutputStream. The browser then streams the asset. The client may provide a start and stop position to play only a certain part of the asset.

Specified by:
getPlayerStarterTo in class MCRAudioVideoExtender
Parameters:
out - the OutputStream to write the player starter to
startPos - the optional start position in the format "hh:mm:ss"
stopPos - the optional stop position in the format "hh:mm:ss"
Throws:
MCRPersistenceException

listAssets

public String[] listAssets()
                    throws MCRPersistenceException
Lists all assets that are stored in this VideoCharger store.

Returns:
a String array containing all asset IDs
Throws:
MCRPersistenceException