Autopsy  4.7.0
Graphical digital forensics platform for The Sleuth Kit and other tools.
Classes | Public Member Functions | Static Public Member Functions | Private Member Functions | Private Attributes | Static Private Attributes | List of all members
org.sleuthkit.autopsy.contentviewers.GstVideoPanel Class Reference

Inherits org.sleuthkit.autopsy.contentviewers.MediaViewVideoPanel.

Classes

class  ExtractMedia
 
class  FrameCaptureRGBListener
 
class  VideoProgressWorker
 

Public Member Functions

 GstVideoPanel ()
 
List< VideoFramecaptureFrames (File file, int numFrames) throws Exception
 
List< VideoFramecaptureFrames (java.io.File file, int numFrames) throws Exception
 
String[] getExtensions ()
 
List< String > getExtensionsList ()
 
List< String > getMimeTypes ()
 
JButton getPauseButton ()
 
JLabel getProgressLabel ()
 
JSlider getProgressSlider ()
 
VideoComponent getVideoComponent ()
 
JPanel getVideoPanel ()
 
boolean isInited ()
 
boolean isSupported (AbstractFile file)
 

Static Public Member Functions

static MediaViewVideoPanel createVideoPanel ()
 

Private Member Functions

void customizeComponents ()
 
void initComponents ()
 
boolean initGst ()
 
void pauseButtonActionPerformed (java.awt.event.ActionEvent evt)
 

Private Attributes

boolean autoTracking = false
 
final Set< String > badVideoFiles = Collections.synchronizedSet(new HashSet<>())
 
javax.swing.JPanel controlPanel
 
AbstractFile currentFile
 
long durationMillis = 0
 
boolean gstInited
 
volatile PlayBin2 gstPlaybin2
 
VideoComponent gstVideoComponent
 
javax.swing.JLabel infoLabel
 
javax.swing.JButton pauseButton
 
final Object playbinLock = new Object()
 
javax.swing.JLabel progressLabel
 
javax.swing.JSlider progressSlider
 
int totalHours
 
javax.swing.JPanel videoPanel
 
VideoProgressWorker videoProgressWorker
 

Static Private Attributes

static final String[] EXTENSIONS = new String[]{".mov", ".m4v", ".flv", ".mp4", ".3gp", ".avi", ".mpg", ".mpeg", ".wmv"}
 
static final long FRAME_CAPTURE_TIMEOUT_MILLIS = 1000
 
static final Logger logger = Logger.getLogger(GstVideoPanel.class.getName())
 
static final String MEDIA_PLAYER_ERROR_STRING = NbBundle.getMessage(GstVideoPanel.class, "GstVideoPanel.cannotProcFile.err")
 
static final List< String > MIMETYPES = Arrays.asList("video/quicktime", "audio/mpeg", "audio/x-mpeg", "video/mpeg", "video/x-mpeg", "audio/mpeg3", "audio/x-mpeg-3", "video/x-flv", "video/mp4", "audio/x-m4a", "video/x-m4v", "audio/x-wav")
 
static final long MIN_FRAME_INTERVAL_MILLIS = 500
 

Detailed Description

Definition at line 73 of file GstVideoPanel.java.

Constructor & Destructor Documentation

org.sleuthkit.autopsy.contentviewers.GstVideoPanel.GstVideoPanel ( )

Creates new form MediaViewVideoPanel

Definition at line 97 of file GstVideoPanel.java.

Member Function Documentation

List<VideoFrame> org.sleuthkit.autopsy.corecomponents.FrameCapture.captureFrames ( File  file,
int  numFrames 
) throws Exception
inherited
Parameters
filethe video file to use
numFramesthe number of frames to capture. Note that the actual number of frames returned may be less than this number. Specifically, this may happen if the video is very short.
Returns
a list of VideoFrames representing the captured frames
List<VideoFrame> org.sleuthkit.autopsy.contentviewers.GstVideoPanel.captureFrames ( java.io.File  file,
int  numFrames 
) throws Exception
Parameters
filea video file from which to capture frames
numFramesthe number of frames to capture. These frames will be captured at successive intervals given by durationOfVideo/numFrames. If this frame interval is less than MIN_FRAME_INTERVAL_MILLIS, then only one frame will be captured and returned.
Returns
a List of VideoFrames representing the captured frames.

Definition at line 303 of file GstVideoPanel.java.

References org.sleuthkit.autopsy.contentviewers.GstVideoPanel.FrameCaptureRGBListener.getImage().

static MediaViewVideoPanel org.sleuthkit.autopsy.contentviewers.MediaViewVideoPanel.createVideoPanel ( )
staticinherited

Factory Method to create a MediaViewVideoPanel.

Implementation is dependent on the architecture of the JVM.

Returns
a MediaViewVideoPanel instance.

Definition at line 57 of file MediaViewVideoPanel.java.

void org.sleuthkit.autopsy.contentviewers.GstVideoPanel.customizeComponents ( )
private

Should always try to synchronize any call to progressSlider.setValue() to avoid a different thread changing playbin while stateChanged() is processing

Definition at line 127 of file GstVideoPanel.java.

String [] org.sleuthkit.autopsy.contentviewers.GstVideoPanel.getExtensions ( )

Definition at line 788 of file GstVideoPanel.java.

List<String> org.sleuthkit.autopsy.contentviewers.MediaViewVideoPanel.getExtensionsList ( )
inherited

Definition at line 129 of file MediaViewVideoPanel.java.

List<String> org.sleuthkit.autopsy.contentviewers.GstVideoPanel.getMimeTypes ( )

Definition at line 793 of file GstVideoPanel.java.

JButton org.sleuthkit.autopsy.contentviewers.GstVideoPanel.getPauseButton ( )

Definition at line 102 of file GstVideoPanel.java.

JLabel org.sleuthkit.autopsy.contentviewers.GstVideoPanel.getProgressLabel ( )

Definition at line 106 of file GstVideoPanel.java.

JSlider org.sleuthkit.autopsy.contentviewers.GstVideoPanel.getProgressSlider ( )

Definition at line 110 of file GstVideoPanel.java.

VideoComponent org.sleuthkit.autopsy.contentviewers.GstVideoPanel.getVideoComponent ( )

Definition at line 118 of file GstVideoPanel.java.

JPanel org.sleuthkit.autopsy.contentviewers.GstVideoPanel.getVideoPanel ( )

Definition at line 114 of file GstVideoPanel.java.

void org.sleuthkit.autopsy.contentviewers.GstVideoPanel.initComponents ( )
private

This method is called from within the constructor to initialize the form. WARNING: Do NOT modify this code. The content of this method is always regenerated by the Form Editor.

Definition at line 445 of file GstVideoPanel.java.

boolean org.sleuthkit.autopsy.contentviewers.GstVideoPanel.initGst ( )
private
boolean org.sleuthkit.autopsy.contentviewers.GstVideoPanel.isInited ( )

Definition at line 123 of file GstVideoPanel.java.

boolean org.sleuthkit.autopsy.contentviewers.MediaViewVideoPanel.isSupported ( AbstractFile  file)
inherited

Although it seems too restrictive, requiring both a supported extension and a supported MIME type prevents two undesirable behaviors:

1) Until AUT-1766 and AUT-1801 are fixed, we incorrectly identify all iff files as audio/aiff. This means that if this panel went with the looser 'mime type OR extension' criteria we use for images, then this panel would attempt (and fail) to display all iff files, even non audio ones.

2) The looser criteria means we are less confident about the files we are potentialy sending to GStreamer on 32bit jvms. We are less comfortable with the error handling for GStreamer, and don't want to send it files which might cause it trouble.

Definition at line 134 of file MediaViewVideoPanel.java.

void org.sleuthkit.autopsy.contentviewers.GstVideoPanel.pauseButtonActionPerformed ( java.awt.event.ActionEvent  evt)
private

Member Data Documentation

boolean org.sleuthkit.autopsy.contentviewers.GstVideoPanel.autoTracking = false
private

Definition at line 89 of file GstVideoPanel.java.

final Set<String> org.sleuthkit.autopsy.contentviewers.GstVideoPanel.badVideoFiles = Collections.synchronizedSet(new HashSet<>())
private

Definition at line 92 of file GstVideoPanel.java.

javax.swing.JPanel org.sleuthkit.autopsy.contentviewers.GstVideoPanel.controlPanel
private

Definition at line 570 of file GstVideoPanel.java.

AbstractFile org.sleuthkit.autopsy.contentviewers.GstVideoPanel.currentFile
private

Definition at line 91 of file GstVideoPanel.java.

long org.sleuthkit.autopsy.contentviewers.GstVideoPanel.durationMillis = 0
private

Definition at line 84 of file GstVideoPanel.java.

final String [] org.sleuthkit.autopsy.contentviewers.GstVideoPanel.EXTENSIONS = new String[]{".mov", ".m4v", ".flv", ".mp4", ".3gp", ".avi", ".mpg", ".mpeg", ".wmv"}
staticprivate

Definition at line 75 of file GstVideoPanel.java.

final long org.sleuthkit.autopsy.contentviewers.GstVideoPanel.FRAME_CAPTURE_TIMEOUT_MILLIS = 1000
staticprivate

Definition at line 81 of file GstVideoPanel.java.

boolean org.sleuthkit.autopsy.contentviewers.GstVideoPanel.gstInited
private

Definition at line 79 of file GstVideoPanel.java.

volatile PlayBin2 org.sleuthkit.autopsy.contentviewers.GstVideoPanel.gstPlaybin2
private

Definition at line 87 of file GstVideoPanel.java.

VideoComponent org.sleuthkit.autopsy.contentviewers.GstVideoPanel.gstVideoComponent
private

Definition at line 88 of file GstVideoPanel.java.

javax.swing.JLabel org.sleuthkit.autopsy.contentviewers.GstVideoPanel.infoLabel
private

Definition at line 571 of file GstVideoPanel.java.

final Logger org.sleuthkit.autopsy.contentviewers.GstVideoPanel.logger = Logger.getLogger(GstVideoPanel.class.getName())
staticprivate

Definition at line 78 of file GstVideoPanel.java.

final String org.sleuthkit.autopsy.contentviewers.GstVideoPanel.MEDIA_PLAYER_ERROR_STRING = NbBundle.getMessage(GstVideoPanel.class, "GstVideoPanel.cannotProcFile.err")
staticprivate

Definition at line 82 of file GstVideoPanel.java.

final List<String> org.sleuthkit.autopsy.contentviewers.GstVideoPanel.MIMETYPES = Arrays.asList("video/quicktime", "audio/mpeg", "audio/x-mpeg", "video/mpeg", "video/x-mpeg", "audio/mpeg3", "audio/x-mpeg-3", "video/x-flv", "video/mp4", "audio/x-m4a", "video/x-m4v", "audio/x-wav")
staticprivate

Definition at line 76 of file GstVideoPanel.java.

final long org.sleuthkit.autopsy.contentviewers.GstVideoPanel.MIN_FRAME_INTERVAL_MILLIS = 500
staticprivate

Definition at line 80 of file GstVideoPanel.java.

javax.swing.JButton org.sleuthkit.autopsy.contentviewers.GstVideoPanel.pauseButton
private

Definition at line 572 of file GstVideoPanel.java.

final Object org.sleuthkit.autopsy.contentviewers.GstVideoPanel.playbinLock = new Object()
private

Definition at line 90 of file GstVideoPanel.java.

javax.swing.JLabel org.sleuthkit.autopsy.contentviewers.GstVideoPanel.progressLabel
private

Definition at line 573 of file GstVideoPanel.java.

javax.swing.JSlider org.sleuthkit.autopsy.contentviewers.GstVideoPanel.progressSlider
private

Definition at line 574 of file GstVideoPanel.java.

int org.sleuthkit.autopsy.contentviewers.GstVideoPanel.totalHours
private

Definition at line 86 of file GstVideoPanel.java.

javax.swing.JPanel org.sleuthkit.autopsy.contentviewers.GstVideoPanel.videoPanel
private

Definition at line 575 of file GstVideoPanel.java.

VideoProgressWorker org.sleuthkit.autopsy.contentviewers.GstVideoPanel.videoProgressWorker
private

Definition at line 85 of file GstVideoPanel.java.


The documentation for this class was generated from the following file:

Copyright © 2012-2016 Basis Technology. Generated on: Mon Jun 18 2018
This work is licensed under a Creative Commons Attribution-Share Alike 3.0 United States License.