Package org.bytedeco.copiedstuff
Class FFmpegFrameGrabber
java.lang.Object
org.bytedeco.copiedstuff.FrameGrabber
org.bytedeco.copiedstuff.FFmpegFrameGrabber
- All Implemented Interfaces:
Closeable,AutoCloseable
-
Nested Class Summary
Nested classes/interfaces inherited from class org.bytedeco.copiedstuff.FrameGrabber
FrameGrabber.Array, FrameGrabber.Exception, FrameGrabber.ImageMode, FrameGrabber.PropertyEditor -
Field Summary
Fields inherited from class org.bytedeco.copiedstuff.FrameGrabber
aspectRatio, audioBitrate, audioChannels, audioCodec, audioMetadata, audioOptions, audioStream, bpp, deinterlace, format, frameNumber, frameRate, gamma, imageHeight, imageMode, imageWidth, list, metadata, numBuffers, options, pixelFormat, sampleFormat, sampleRate, SENSOR_PATTERN_BGGR, SENSOR_PATTERN_GBRG, SENSOR_PATTERN_GRBG, SENSOR_PATTERN_RGGB, sensorPattern, timeout, timestamp, triggerMode, videoBitrate, videoCodec, videoMetadata, videoOptions, videoStream -
Constructor Summary
ConstructorsConstructorDescriptionFFmpegFrameGrabber(File file) FFmpegFrameGrabber(InputStream inputStream) FFmpegFrameGrabber(String filename) -
Method Summary
Modifier and TypeMethodDescriptionstatic FFmpegFrameGrabbercreateDefault(int deviceNumber) static FFmpegFrameGrabbercreateDefault(File deviceFile) static FFmpegFrameGrabbercreateDefault(String devicePath) protected voidfinalize()doubleintintintgetAudioMetadata(String key) static String[]org.bytedeco.javacpp.avformat.AVFormatContextdoubledoublegetGamma()intintintlonggetMetadata(String key) intintintintintgetVideoMetadata(String key) grab()Each call to grab stores the new image in the memory address for the previously returned frame.grabFrame(boolean doAudio, boolean doVideo, boolean processImage, boolean keyFrames) org.bytedeco.javacpp.avcodec.AVPacketvoidrelease()voidsetFrameNumber(int frameNumber) voidsetTimestamp(long timestamp) voidstart()voidstop()voidtrigger()static voidtryLoad()Methods inherited from class org.bytedeco.copiedstuff.FrameGrabber
close, create, create, create, create, createArray, delayedGrab, flush, get, getAudioOption, getAudioStream, getBitsPerPixel, getDefault, getDelayedFrame, getDelayedTime, getFrameNumber, getImageMode, getMetadata, getNumBuffers, getOption, getSensorPattern, getTimeout, getTimestamp, getVideoOption, getVideoStream, grabFrame, init, isDeinterlace, isTriggerMode, restart, setAspectRatio, setAudioBitrate, setAudioChannels, setAudioCodec, setAudioMetadata, setAudioOption, setAudioStream, setBitsPerPixel, setDeinterlace, setFormat, setFrameRate, setGamma, setImageHeight, setImageMode, setImageWidth, setMetadata, setNumBuffers, setOption, setPixelFormat, setSampleFormat, setSampleRate, setSensorPattern, setTimeout, setTriggerMode, setVideoBitrate, setVideoCodec, setVideoMetadata, setVideoOption, setVideoStream
-
Constructor Details
-
FFmpegFrameGrabber
-
FFmpegFrameGrabber
-
FFmpegFrameGrabber
-
-
Method Details
-
getDeviceDescriptions
- Throws:
FrameGrabber.Exception
-
createDefault
- Throws:
FrameGrabber.Exception
-
createDefault
- Throws:
FrameGrabber.Exception
-
createDefault
- Throws:
FrameGrabber.Exception
-
tryLoad
- Throws:
FrameGrabber.Exception
-
release
- Specified by:
releasein classFrameGrabber- Throws:
FrameGrabber.Exception
-
finalize
-
getGamma
public double getGamma()- Overrides:
getGammain classFrameGrabber
-
getFormat
- Overrides:
getFormatin classFrameGrabber
-
getImageWidth
public int getImageWidth()- Overrides:
getImageWidthin classFrameGrabber
-
getImageHeight
public int getImageHeight()- Overrides:
getImageHeightin classFrameGrabber
-
getAudioChannels
public int getAudioChannels()- Overrides:
getAudioChannelsin classFrameGrabber
-
getPixelFormat
public int getPixelFormat()- Overrides:
getPixelFormatin classFrameGrabber
-
getVideoCodec
public int getVideoCodec()- Overrides:
getVideoCodecin classFrameGrabber
-
getVideoBitrate
public int getVideoBitrate()- Overrides:
getVideoBitratein classFrameGrabber
-
getAspectRatio
public double getAspectRatio()- Overrides:
getAspectRatioin classFrameGrabber
-
getFrameRate
public double getFrameRate()- Overrides:
getFrameRatein classFrameGrabber
-
getAudioCodec
public int getAudioCodec()- Overrides:
getAudioCodecin classFrameGrabber
-
getAudioBitrate
public int getAudioBitrate()- Overrides:
getAudioBitratein classFrameGrabber
-
getSampleFormat
public int getSampleFormat()- Overrides:
getSampleFormatin classFrameGrabber
-
getSampleRate
public int getSampleRate()- Overrides:
getSampleRatein classFrameGrabber
-
getMetadata
- Overrides:
getMetadatain classFrameGrabber
-
getVideoMetadata
- Overrides:
getVideoMetadatain classFrameGrabber
-
getAudioMetadata
- Overrides:
getAudioMetadatain classFrameGrabber
-
setFrameNumber
- Overrides:
setFrameNumberin classFrameGrabber- Throws:
FrameGrabber.Exception
-
setTimestamp
- Overrides:
setTimestampin classFrameGrabber- Throws:
FrameGrabber.Exception
-
getLengthInFrames
public int getLengthInFrames()- Overrides:
getLengthInFramesin classFrameGrabber
-
getLengthInTime
public long getLengthInTime()- Overrides:
getLengthInTimein classFrameGrabber
-
getFormatContext
public org.bytedeco.javacpp.avformat.AVFormatContext getFormatContext() -
start
- Specified by:
startin classFrameGrabber- Throws:
FrameGrabber.Exception
-
stop
- Specified by:
stopin classFrameGrabber- Throws:
FrameGrabber.Exception
-
trigger
- Specified by:
triggerin classFrameGrabber- Throws:
FrameGrabber.Exception
-
grab
Description copied from class:FrameGrabberEach call to grab stores the new image in the memory address for the previously returned frame.
IE.
grabber.grab() == grabber.grab()
This means that if you need to cache images returned from grab you shouldFrame.clone()the returned frame as the next call to grab will overwrite your existing image's memory.
Why?
Using this method instead of allocating a new buffer every time a frame is grabbed improves performance by reducing the frequency of garbage collections. Almost no additional heap space is typically allocated per frame.- Specified by:
grabin classFrameGrabber- Returns:
- The frame returned from the grabber
- Throws:
FrameGrabber.Exception- If there is a problem grabbing the frame.
-
grabImage
- Throws:
FrameGrabber.Exception
-
grabSamples
- Throws:
FrameGrabber.Exception
-
grabKeyFrame
- Throws:
FrameGrabber.Exception
-
grabFrame
public Frame grabFrame(boolean doAudio, boolean doVideo, boolean processImage, boolean keyFrames) throws FrameGrabber.Exception - Throws:
FrameGrabber.Exception
-
grabPacket
- Throws:
FrameGrabber.Exception
-