Class TimestampMovieSampler
- java.lang.Object
-
- adams.core.logging.LoggingObject
-
- adams.core.logging.CustomLoggingLevelObject
-
- adams.core.option.AbstractOptionHandler
-
- adams.flow.transformer.movieimagesampler.AbstractMovieImageSampler<adams.data.image.BufferedImageContainer>
-
- adams.flow.transformer.movieimagesampler.AbstractBufferedImageMovieImageSampler
-
- adams.flow.transformer.movieimagesampler.TimestampMovieSampler
-
- All Implemented Interfaces:
adams.core.Destroyable
,adams.core.GlobalInfoSupporter
,adams.core.logging.LoggingLevelHandler
,adams.core.logging.LoggingSupporter
,adams.core.option.OptionHandler
,adams.core.SizeOfHandler
,adams.core.Stoppable
,Serializable
public class TimestampMovieSampler extends AbstractBufferedImageMovieImageSampler
Takes a list of timestamps in BaseTimeMSec format and returns an array containing the frames closest to those timestamps- Version:
- $Revision$
- Author:
- steven
- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description protected adams.data.image.BufferedImageContainer
m_CurrentImage
a container for storing the current imageprotected uk.co.caprica.vlcj.player.MediaPlayerFactory
m_Factory
a media player factory for getting the media playerprotected BufferedImage
m_Image
an image to feed the buffer intoprotected uk.co.caprica.vlcj.player.direct.DirectMediaPlayer
m_MediaPlayer
headless media playerprotected adams.data.image.BufferedImageContainer
m_PreviousImage
a container for storing the previous imageprotected List<adams.data.image.BufferedImageContainer>
m_Samples
the samples.protected long
m_TargetTime
protected long
m_TimeOffset
protected adams.core.base.BaseTimeMsec[]
m_Timestamps
the timestamps to grab.protected long[]
m_TimeStampsLong
List of time stamps to sampleprotected Dimension
m_VideoDimension
the dimensions of the video-
Fields inherited from class adams.flow.transformer.movieimagesampler.AbstractMovieImageSampler
m_Stopped
-
-
Constructor Summary
Constructors Constructor Description TimestampMovieSampler()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
defineOptions()
Adds options to the internal list of options.protected adams.data.image.BufferedImageContainer[]
doSample(File file)
Samples images from a movie file.adams.core.base.BaseTimeMsec[]
getTimeStamps()
Returns the timestamps to sample.long[]
getTimeStampsAsLong()
String
globalInfo()
Returns a string describing the object.protected void
initialize()
Initializes the members.protected void
reset()
void
setTimeStamps(adams.core.base.BaseTimeMsec[] timeStamps)
Sets the timestamps to samplevoid
setTimeStampsAsLong(long[] timeStamps)
String
timeStampsTipText()
Returns the tip text for this property.-
Methods inherited from class adams.flow.transformer.movieimagesampler.AbstractBufferedImageMovieImageSampler
generates
-
Methods inherited from class adams.flow.transformer.movieimagesampler.AbstractMovieImageSampler
check, sample, stopExecution
-
Methods inherited from class adams.core.option.AbstractOptionHandler
cleanUpOptions, destroy, finishInit, getDefaultLoggingLevel, getOptionManager, loggingLevelTipText, newOptionManager, setLoggingLevel, toCommandLine, toString
-
Methods inherited from class adams.core.logging.LoggingObject
configureLogger, getLogger, getLoggingLevel, initializeLogging, isLoggingEnabled, sizeOf
-
-
-
-
Field Detail
-
m_TimeStampsLong
protected long[] m_TimeStampsLong
List of time stamps to sample
-
m_Timestamps
protected adams.core.base.BaseTimeMsec[] m_Timestamps
the timestamps to grab.
-
m_MediaPlayer
protected uk.co.caprica.vlcj.player.direct.DirectMediaPlayer m_MediaPlayer
headless media player
-
m_TargetTime
protected long m_TargetTime
-
m_Samples
protected List<adams.data.image.BufferedImageContainer> m_Samples
the samples.
-
m_Factory
protected uk.co.caprica.vlcj.player.MediaPlayerFactory m_Factory
a media player factory for getting the media player
-
m_VideoDimension
protected Dimension m_VideoDimension
the dimensions of the video
-
m_Image
protected BufferedImage m_Image
an image to feed the buffer into
-
m_CurrentImage
protected adams.data.image.BufferedImageContainer m_CurrentImage
a container for storing the current image
-
m_PreviousImage
protected adams.data.image.BufferedImageContainer m_PreviousImage
a container for storing the previous image
-
m_TimeOffset
protected long m_TimeOffset
-
-
Method Detail
-
reset
protected void reset()
- Overrides:
reset
in classadams.core.option.AbstractOptionHandler
-
setTimeStamps
public void setTimeStamps(adams.core.base.BaseTimeMsec[] timeStamps)
Sets the timestamps to sample- Parameters:
timeStamps
-
-
getTimeStamps
public adams.core.base.BaseTimeMsec[] getTimeStamps()
Returns the timestamps to sample.- Returns:
- the timestamps
-
setTimeStampsAsLong
public void setTimeStampsAsLong(long[] timeStamps)
-
getTimeStampsAsLong
public long[] getTimeStampsAsLong()
-
timeStampsTipText
public String timeStampsTipText()
Returns the tip text for this property.- Returns:
- tip text for this property suitable for displaying in the GUI or for listing the options.
-
globalInfo
public String globalInfo()
Returns a string describing the object.- Specified by:
globalInfo
in interfaceadams.core.GlobalInfoSupporter
- Specified by:
globalInfo
in classadams.core.option.AbstractOptionHandler
- Returns:
- a description suitable for displaying in the gui
-
defineOptions
public void defineOptions()
Adds options to the internal list of options.- Specified by:
defineOptions
in interfaceadams.core.option.OptionHandler
- Overrides:
defineOptions
in classadams.core.option.AbstractOptionHandler
-
initialize
protected void initialize()
Initializes the members.- Overrides:
initialize
in classadams.core.option.AbstractOptionHandler
-
doSample
protected adams.data.image.BufferedImageContainer[] doSample(File file)
Samples images from a movie file. Code adapted from https://github.com/caprica/vlcj/blob/vlcj-3.0.1/src/test/java/uk/co/caprica/vlcj/test/condition/ConditionTest.java- Specified by:
doSample
in classAbstractMovieImageSampler<adams.data.image.BufferedImageContainer>
- Parameters:
file
- the movie to sample- Returns:
- the samples, null if failed to sample
-
-