Contents:
Javadoc¶
net.bramp.commons.lang3.math.gson¶
net.bramp.ffmpeg¶
FFcommon¶
-
abstract class
FFcommon
¶ Private class to contain common methods for both FFmpeg and FFprobe.
Fields¶
runFunc¶
-
final ProcessFunction
runFunc
¶ Function to run FFmpeg. We define it like this so we can swap it out (during testing)
Constructors¶
FFcommon¶
-
protected
FFcommon
(String path, ProcessFunction runFunction)¶
FFmpeg¶
Fields¶
Constructors¶
FFmpeg¶
-
public
FFmpeg
(ProcessFunction runFunction)¶
FFmpeg¶
-
public
FFmpeg
(String path, ProcessFunction runFunction)¶
Methods¶
builder¶
-
public FFmpegBuilder
builder
()¶
createProgressParser¶
-
protected ProgressParser
createProgressParser
(ProgressListener listener)¶
isFFmpeg¶
-
public boolean
isFFmpeg
()¶ Returns true if the binary we are using is the true ffmpeg. This is to avoid conflict with avconv (from the libav project), that some symlink to ffmpeg.
Throws: - IOException – If a I/O error occurs while executing ffmpeg.
Returns: true iff this is the official ffmpeg binary.
run¶
-
public void
run
(FFmpegBuilder builder, ProgressListener listener)¶
FFmpegExecutor¶
-
public class
FFmpegExecutor
¶
Constructors¶
Methods¶
createJob¶
-
public FFmpegJob
createJob
(FFmpegBuilder builder)¶
createJob¶
-
public FFmpegJob
createJob
(FFmpegBuilder builder, ProgressListener listener)¶
createTwoPassJob¶
-
public FFmpegJob
createTwoPassJob
(FFmpegBuilder builder)¶ Creates a two pass job, which will execute FFmpeg twice to produce a better quality output. More info: https://trac.ffmpeg.org/wiki/x264EncodingGuide#twopass
Parameters: - builder – The FFmpegBuilder
Returns: A new two-pass FFmpegJob
FFmpegUtils¶
-
public final class
FFmpegUtils
¶ Helper class with commonly used methods
FFprobe¶
Fields¶
Constructors¶
FFprobe¶
-
public
FFprobe
(ProcessFunction runFunction)¶
FFprobe¶
-
public
FFprobe
(String path, ProcessFunction runFunction)¶
Methods¶
isFFprobe¶
-
public boolean
isFFprobe
()¶ Returns true if the binary we are using is the true ffprobe. This is to avoid conflict with avprobe (from the libav project), that some symlink to ffprobe.
Throws: - IOException – If a I/O error occurs while executing ffprobe.
Returns: true iff this is the official ffprobe binary.
probe¶
-
public FFmpegProbeResult
probe
(String mediaPath)¶
probe¶
-
public FFmpegProbeResult
probe
(String mediaPath, String userAgent)¶
net.bramp.ffmpeg.builder¶
FFmpegBuilder¶
-
public class
FFmpegBuilder
¶ Builds a ffmpeg command line
Author: bramp
Fields¶
inputProbes¶
-
final Map<String, FFmpegProbeResult>
inputProbes
¶
outputs¶
-
final List<FFmpegOutputBuilder>
outputs
¶
Methods¶
addExtraArgs¶
-
public FFmpegBuilder
addExtraArgs
(String... values)¶ Add additional ouput arguments (for flags which aren’t currently supported).
Parameters: - values – The extra arguments.
Returns: this
addInput¶
-
public FFmpegBuilder
addInput
(FFmpegProbeResult result)¶
addInput¶
-
public FFmpegBuilder
addInput
(String filename)¶
addOutput¶
-
public FFmpegOutputBuilder
addOutput
(String filename)¶ Adds new output file.
Parameters: - filename – output file path
Returns: A new
FFmpegOutputBuilder
addOutput¶
-
public FFmpegOutputBuilder
addOutput
(URI uri)¶ Adds new output file.
Parameters: - uri – output file uri typically a stream
Returns: A new
FFmpegOutputBuilder
addOutput¶
-
public FFmpegBuilder
addOutput
(FFmpegOutputBuilder output)¶ Adds an existing FFmpegOutputBuilder. This is similar to calling the other addOuput methods but instead allows an existing FFmpegOutputBuilder to be used, and reused.
List<String> args = new FFmpegBuilder() .addOutput(new FFmpegOutputBuilder() .setFilename("output.flv") .setVideoCodec("flv") ) .build();
Parameters: - output – FFmpegOutputBuilder to add
Returns: this
addProgress¶
-
public FFmpegBuilder
addProgress
(URI uri)¶
addStdoutOutput¶
-
public FFmpegOutputBuilder
addStdoutOutput
()¶ Create new output (to stdout)
Returns: A new FFmpegOutputBuilder
overrideOutputFiles¶
-
public FFmpegBuilder
overrideOutputFiles
(boolean override)¶
readAtNativeFrameRate¶
-
public FFmpegBuilder
readAtNativeFrameRate
()¶
setFormat¶
-
public FFmpegBuilder
setFormat
(String format)¶
setInput¶
-
public FFmpegBuilder
setInput
(FFmpegProbeResult result)¶
setInput¶
-
public FFmpegBuilder
setInput
(String filename)¶
setPass¶
-
public FFmpegBuilder
setPass
(int pass)¶
setPassDirectory¶
-
public FFmpegBuilder
setPassDirectory
(String directory)¶
setPassPrefix¶
-
public FFmpegBuilder
setPassPrefix
(String prefix)¶
setStartOffset¶
-
public FFmpegBuilder
setStartOffset
(long duration, TimeUnit units)¶
setUserAgent¶
-
public FFmpegBuilder
setUserAgent
(String userAgent)¶
setVerbosity¶
-
public FFmpegBuilder
setVerbosity
(Verbosity verbosity)¶
FFmpegBuilder.Strict¶
-
public enum
Strict
¶
Enum Constants¶
EXPERIMENTAL¶
-
public static final FFmpegBuilder.Strict
EXPERIMENTAL
¶
NORMAL¶
-
public static final FFmpegBuilder.Strict
NORMAL
¶
STRICT¶
-
public static final FFmpegBuilder.Strict
STRICT
¶
UNOFFICAL¶
-
public static final FFmpegBuilder.Strict
UNOFFICAL
¶
VERY¶
-
public static final FFmpegBuilder.Strict
VERY
¶
FFmpegBuilder.Verbosity¶
-
public enum
Verbosity
¶ Log level options: https://ffmpeg.org/ffmpeg.html#Generic-options
Enum Constants¶
DEBUG¶
-
public static final FFmpegBuilder.Verbosity
DEBUG
¶
ERROR¶
-
public static final FFmpegBuilder.Verbosity
ERROR
¶
FATAL¶
-
public static final FFmpegBuilder.Verbosity
FATAL
¶
INFO¶
-
public static final FFmpegBuilder.Verbosity
INFO
¶
PANIC¶
-
public static final FFmpegBuilder.Verbosity
PANIC
¶
QUIET¶
-
public static final FFmpegBuilder.Verbosity
QUIET
¶
VERBOSE¶
-
public static final FFmpegBuilder.Verbosity
VERBOSE
¶
WARNING¶
-
public static final FFmpegBuilder.Verbosity
WARNING
¶
FFmpegOutputBuilder¶
-
public class
FFmpegOutputBuilder
¶ Builds a representation of a single output/encoding setting
Constructors¶
FFmpegOutputBuilder¶
-
protected
FFmpegOutputBuilder
(FFmpegBuilder parent, String filename)¶
FFmpegOutputBuilder¶
-
protected
FFmpegOutputBuilder
(FFmpegBuilder parent, URI uri)¶
Methods¶
addExtraArgs¶
-
public FFmpegOutputBuilder
addExtraArgs
(String... values)¶ Add additional ouput arguments (for flags which aren’t currently supported).
Parameters: - values – The extra arguments
Returns: this
addMetaTag¶
-
public FFmpegOutputBuilder
addMetaTag
(String key, String value)¶ Add metadata on output streams. Which keys are possible depends on the used codec.
Parameters: - key – Metadata key, e.g. “comment”
- value – Value to set for key
Returns: this
addMetaTag¶
-
public FFmpegOutputBuilder
addMetaTag
(MetadataSpecifier spec, String key, String value)¶ Add metadata on output streams. Which keys are possible depends on the used codec.
import static net.bramp.ffmpeg.builder.MetadataSpecifier.*; import static net.bramp.ffmpeg.builder.StreamSpecifier.*; import static net.bramp.ffmpeg.builder.StreamSpecifierType.*; new FFmpegBuilder() .addMetaTag("title", "Movie Title") // Annotate whole file .addMetaTag(chapter(0), "author", "Bob") // Annotate first chapter .addMetaTag(program(0), "comment", "Awesome") // Annotate first program .addMetaTag(stream(0), "copyright", "Megacorp") // Annotate first stream .addMetaTag(stream(Video), "framerate", "24fps") // Annotate all video streams .addMetaTag(stream(Video, 0), "artist", "Joe") // Annotate first video stream .addMetaTag(stream(Audio, 0), "language", "eng") // Annotate first audio stream .addMetaTag(stream(Subtitle, 0), "language", "fre") // Annotate first subtitle stream .addMetaTag(usable(), "year", "2010") // Annotate all streams with a usable configuration
assertThat(global().spec(), is(“g”)); assertThat(chapter(1).spec(), is(“c:1”)); assertThat(program(1).spec(), is(“p:1”)); assertThat(stream(1).spec(), is(“s:1”)); assertThat(stream(id(1)).spec(), is(“s:i:1”));
Parameters: - spec – Metadata specifier, e.g MetadataSpec.stream(Audio, 0)
- key – Metadata key, e.g. “comment”
- value – Value to set for key
Returns: this
build¶
-
protected List<String>
build
(FFmpegBuilder parent, int pass)¶ Builds the arguments
Parameters: - parent – The parent FFmpegBuilder
- pass – The particular pass. For one-pass this value will be zero, for multi-pass, it will be 1 for the first pass, 2 for the second, and so on.
Returns: The arguments
buildOptions¶
-
public EncodingOptions
buildOptions
()¶ Returns a representation of this Builder that can be safely serialised. NOTE: This method is horribly out of date, and its use should be rethought.
Returns: A new EncodingOptions capturing this Builder’s state
checkValidStream¶
-
public static URI
checkValidStream
(URI uri)¶ Checks if the URI is valid for streaming to
Parameters: - uri – The URI to check
Throws: - IllegalArgumentException – if the URI is not valid.
Returns: The passed in URI if it is valid
disableAudio¶
-
public FFmpegOutputBuilder
disableAudio
()¶
disableSubtitle¶
-
public FFmpegOutputBuilder
disableSubtitle
()¶
disableVideo¶
-
public FFmpegOutputBuilder
disableVideo
()¶
done¶
-
public FFmpegBuilder
done
()¶ Finished with this output
Returns: the parent FFmpegBuilder
setAudioBitDepth¶
-
public FFmpegOutputBuilder
setAudioBitDepth
(String bit_depth)¶ Sets the audio bit depth.
Parameters: - bit_depth – The sample format, one of the net.bramp.ffmpeg.FFmpeg#AUDIO_DEPTH_* constants.
Returns: this
See also:
net.bramp.ffmpeg.FFmpeg.AUDIO_DEPTH_U8
,net.bramp.ffmpeg.FFmpeg.AUDIO_DEPTH_S16
,net.bramp.ffmpeg.FFmpeg.AUDIO_DEPTH_S32
,net.bramp.ffmpeg.FFmpeg.AUDIO_DEPTH_FLT
,net.bramp.ffmpeg.FFmpeg.AUDIO_DEPTH_DBL
setAudioBitRate¶
-
public FFmpegOutputBuilder
setAudioBitRate
(long bit_rate)¶ Sets the Audio bit rate
Parameters: - bit_rate – Audio bitrate in bits per second.
Returns: this
setAudioBitStreamFilter¶
-
public FFmpegOutputBuilder
setAudioBitStreamFilter
(String filter)¶
setAudioChannels¶
-
public FFmpegOutputBuilder
setAudioChannels
(int channels)¶ Sets the number of audio channels
Parameters: - channels – Number of channels
Returns: this
See also:
net.bramp.ffmpeg.FFmpeg.AUDIO_MONO
,net.bramp.ffmpeg.FFmpeg.AUDIO_STEREO
setAudioCodec¶
-
public FFmpegOutputBuilder
setAudioCodec
(String codec)¶
setAudioQuality¶
-
public FFmpegOutputBuilder
setAudioQuality
(int quality)¶
setAudioSampleFormat¶
-
public FFmpegOutputBuilder
setAudioSampleFormat
(String sample_format)¶ Sets the audio sample format.
Parameters: - sample_format – The sample format, one of the net.bramp.ffmpeg.FFmpeg#AUDIO_FORMAT_* constants.
Returns: this
See also:
net.bramp.ffmpeg.FFmpeg.AUDIO_FORMAT_U8
,net.bramp.ffmpeg.FFmpeg.AUDIO_FORMAT_S16
,net.bramp.ffmpeg.FFmpeg.AUDIO_FORMAT_S32
,net.bramp.ffmpeg.FFmpeg.AUDIO_FORMAT_FLT
,net.bramp.ffmpeg.FFmpeg.AUDIO_FORMAT_DBL
setAudioSampleRate¶
-
public FFmpegOutputBuilder
setAudioSampleRate
(int sample_rate)¶ Sets the Audio sample rate, for example 44_000.
Parameters: - sample_rate – Samples measured in Hz
Returns: this
See also:
net.bramp.ffmpeg.FFmpeg.AUDIO_SAMPLE_8000
,net.bramp.ffmpeg.FFmpeg.AUDIO_SAMPLE_11025
,net.bramp.ffmpeg.FFmpeg.AUDIO_SAMPLE_12000
,net.bramp.ffmpeg.FFmpeg.AUDIO_SAMPLE_16000
,net.bramp.ffmpeg.FFmpeg.AUDIO_SAMPLE_22050
,net.bramp.ffmpeg.FFmpeg.AUDIO_SAMPLE_32000
,net.bramp.ffmpeg.FFmpeg.AUDIO_SAMPLE_44100
,net.bramp.ffmpeg.FFmpeg.AUDIO_SAMPLE_48000
,net.bramp.ffmpeg.FFmpeg.AUDIO_SAMPLE_96000
setComplexVideoFilter¶
-
public FFmpegOutputBuilder
setComplexVideoFilter
(String filter)¶
setDuration¶
-
public FFmpegOutputBuilder
setDuration
(long duration, TimeUnit units)¶ Stop writing the output after duration is reached.
Parameters: - duration – The duration
- units – The units the duration is in
Returns: this
setFilename¶
-
public FFmpegOutputBuilder
setFilename
(String filename)¶
setFormat¶
-
public FFmpegOutputBuilder
setFormat
(String format)¶
setFrames¶
-
public FFmpegOutputBuilder
setFrames
(int frames)¶ Set the number of video frames to record.
Parameters: - frames – The number of frames
Returns: this
setPassPaddingBitrate¶
-
public FFmpegOutputBuilder
setPassPaddingBitrate
(long bitrate)¶ When doing multi-pass we add a little extra padding, to ensure we reach our target
Parameters: - bitrate – bit rate
Returns: this
setStartOffset¶
-
public FFmpegOutputBuilder
setStartOffset
(long offset, TimeUnit units)¶ Decodes but discards input until the offset.
Parameters: - offset – The offset
- units – The units the offset is in
Returns: this
setStrict¶
-
public FFmpegOutputBuilder
setStrict
(FFmpegBuilder.Strict strict)¶
setTargetSize¶
-
public FFmpegOutputBuilder
setTargetSize
(long targetSize)¶ Target output file size (in bytes)
Parameters: - targetSize – The target size in bytes
Returns: this
setUri¶
-
public FFmpegOutputBuilder
setUri
(URI uri)¶
setVideoBitRate¶
-
public FFmpegOutputBuilder
setVideoBitRate
(long bit_rate)¶
setVideoBitStreamFilter¶
-
public FFmpegOutputBuilder
setVideoBitStreamFilter
(String filter)¶
setVideoCodec¶
-
public FFmpegOutputBuilder
setVideoCodec
(String codec)¶
setVideoCopyInkf¶
-
public FFmpegOutputBuilder
setVideoCopyInkf
(boolean copyinkf)¶
setVideoFilter¶
-
public FFmpegOutputBuilder
setVideoFilter
(String filter)¶ Sets Video Filter TODO Build a fluent Filter builder
Parameters: - filter – The video filter.
Returns: this
setVideoFrameRate¶
-
public FFmpegOutputBuilder
setVideoFrameRate
(Fraction frame_rate)¶ Sets the video’s frame rate
Parameters: - frame_rate – Frames per second
Returns: this
See also:
net.bramp.ffmpeg.FFmpeg.FPS_30
,net.bramp.ffmpeg.FFmpeg.FPS_29_97
,net.bramp.ffmpeg.FFmpeg.FPS_24
,net.bramp.ffmpeg.FFmpeg.FPS_23_976
setVideoFrameRate¶
-
public FFmpegOutputBuilder
setVideoFrameRate
(int frames, int per)¶ Set the video frame rate in terms of frames per interval. For example 24fps would be 24/1, however NTSC TV at 23.976fps would be 24000 per 1001.
Parameters: - frames – The number of frames within the given seconds
- per – The number of seconds
Returns: this
setVideoFrameRate¶
-
public FFmpegOutputBuilder
setVideoFrameRate
(double frame_rate)¶
setVideoHeight¶
-
public FFmpegOutputBuilder
setVideoHeight
(int height)¶
setVideoMovFlags¶
-
public FFmpegOutputBuilder
setVideoMovFlags
(String movflags)¶
setVideoPixelFormat¶
-
public FFmpegOutputBuilder
setVideoPixelFormat
(String format)¶
setVideoPreset¶
-
public FFmpegOutputBuilder
setVideoPreset
(String preset)¶
setVideoQuality¶
-
public FFmpegOutputBuilder
setVideoQuality
(int quality)¶
setVideoResolution¶
-
public FFmpegOutputBuilder
setVideoResolution
(int width, int height)¶
setVideoResolution¶
-
public FFmpegOutputBuilder
setVideoResolution
(String abbreviation)¶ Sets video resolution based on an abbreviation, e.g. “ntsc” for 720x480, or “vga” for 640x480
Parameters: - abbreviation – The abbreviation size. No validation is done, instead the value is passed as is to ffmpeg.
Returns: this
See also: ffmpeg video size
setVideoWidth¶
-
public FFmpegOutputBuilder
setVideoWidth
(int width)¶
useOptions¶
-
public FFmpegOutputBuilder
useOptions
(EncodingOptions opts)¶
useOptions¶
-
public FFmpegOutputBuilder
useOptions
(MainEncodingOptions opts)¶
useOptions¶
-
public FFmpegOutputBuilder
useOptions
(AudioEncodingOptions opts)¶
useOptions¶
-
public FFmpegOutputBuilder
useOptions
(VideoEncodingOptions opts)¶
MetadataSpecifier¶
-
public class
MetadataSpecifier
¶ Metadata spec, as described in the “map_metadata” section of https://www.ffmpeg.org/ffmpeg-all.html#Main-options
Methods¶
chapter¶
-
public static MetadataSpecifier
chapter
(int index)¶
global¶
-
public static MetadataSpecifier
global
()¶
program¶
-
public static MetadataSpecifier
program
(int index)¶
stream¶
-
public static MetadataSpecifier
stream
(int index)¶
stream¶
-
public static MetadataSpecifier
stream
(StreamSpecifierType type)¶
stream¶
-
public static MetadataSpecifier
stream
(StreamSpecifierType stream_type, int stream_index)¶
stream¶
-
public static MetadataSpecifier
stream
(StreamSpecifier spec)¶
StreamSpecifier¶
-
public class
StreamSpecifier
¶
Methods¶
id¶
-
public static StreamSpecifier
id
(int stream_id)¶ Match the stream by stream id (e.g. PID in MPEG-TS container).
Parameters: - stream_id – The stream id
Returns: A new StreamSpecifier
program¶
-
public static StreamSpecifier
program
(int program_id)¶ Matches all streams in the program.
Parameters: - program_id – The program id
Returns: A new StreamSpecifier
program¶
-
public static StreamSpecifier
program
(int program_id, int stream_index)¶ Matches the stream with number stream_index in the program with the id program_id.
Parameters: - program_id – The program id
- stream_index – The stream index
Returns: A new StreamSpecifier
stream¶
-
public static StreamSpecifier
stream
(int index)¶ Matches the stream with this index.
Parameters: - index – The stream index
Returns: A new StreamSpecifier
stream¶
-
public static StreamSpecifier
stream
(StreamSpecifierType type)¶ Matches all streams of this type.
Parameters: - type – The stream type
Returns: A new StreamSpecifier
stream¶
-
public static StreamSpecifier
stream
(StreamSpecifierType type, int index)¶ Matches the stream number stream_index of this type.
Parameters: - type – The stream type
- index – The stream index
Returns: A new StreamSpecifier
tag¶
-
public static StreamSpecifier
tag
(String key)¶ Matches all streams with the given metadata tag.
Parameters: - key – The metadata tag
Returns: A new StreamSpecifier
tag¶
-
public static StreamSpecifier
tag
(String key, String value)¶ Matches streams with the metadata tag key having the specified value.
Parameters: - key – The metadata tag
- value – The metatdata’s value
Returns: A new StreamSpecifier
usable¶
-
public static StreamSpecifier
usable
()¶ Matches streams with usable configuration, the codec must be defined and the essential information such as video dimension or audio sample rate must be present.
Returns: A new StreamSpecifier
StreamSpecifierType¶
-
public enum
StreamSpecifierType
¶
Enum Constants¶
Attachment¶
-
public static final StreamSpecifierType
Attachment
¶ Attachment
Audio¶
-
public static final StreamSpecifierType
Audio
¶ Audio
Data¶
-
public static final StreamSpecifierType
Data
¶ Data
PureVideo¶
-
public static final StreamSpecifierType
PureVideo
¶ Video streams which are not attached pictures, video thumbnails or cover arts.
Subtitle¶
-
public static final StreamSpecifierType
Subtitle
¶ Subtitles
Video¶
-
public static final StreamSpecifierType
Video
¶ Video
net.bramp.ffmpeg.gson¶
LowercaseEnumTypeAdapterFactory¶
-
public class
LowercaseEnumTypeAdapterFactory
implements TypeAdapterFactory¶ Taken from: TypeAdapterFactory
NamedBitsetAdapter¶
-
public class
NamedBitsetAdapter
<T> extends TypeAdapter<T>¶ Converts a json object which represents a set of booleans. For example:
public class Set { public boolean a = true; public boolean b = false; public int c = 1; public int d = 0; }
is turned into:
{ "a": true, "b": false, "c": true, "d": false }
net.bramp.ffmpeg.info¶
net.bramp.ffmpeg.io¶
CRC32InputStream¶
-
public class
CRC32InputStream
extends FilterInputStream¶ Calculates the CRC32 for all bytes read through the input stream. Using the java.util.zip.CRC32 class to calculate the checksum.
Constructors¶
CRC32InputStream¶
-
public
CRC32InputStream
(InputStream in)¶
Methods¶
LoggingFilterReader¶
-
public class
LoggingFilterReader
extends FilterReader¶ Wraps a Reader, and logs full lines of input as it is read.
Author: bramp
Fields¶
buffer¶
-
final StringBuilder
buffer
¶
net.bramp.ffmpeg.job¶
SinglePassFFmpegJob¶
Fields¶
builder¶
-
public final FFmpegBuilder
builder
¶
Constructors¶
SinglePassFFmpegJob¶
-
public
SinglePassFFmpegJob
(FFmpeg ffmpeg, FFmpegBuilder builder)¶
SinglePassFFmpegJob¶
-
public
SinglePassFFmpegJob
(FFmpeg ffmpeg, FFmpegBuilder builder, ProgressListener listener)¶
TwoPassFFmpegJob¶
Constructors¶
TwoPassFFmpegJob¶
-
public
TwoPassFFmpegJob
(FFmpeg ffmpeg, FFmpegBuilder builder)¶
TwoPassFFmpegJob¶
-
public
TwoPassFFmpegJob
(FFmpeg ffmpeg, FFmpegBuilder builder, ProgressListener listener)¶
net.bramp.ffmpeg.modelmapper¶
Mapper¶
-
public class
Mapper
¶ Copies values from one type of object to another
Author: bramp
Methods¶
map¶
-
public static void
map
(MainEncodingOptions opts, FFmpegOutputBuilder dest)¶
map¶
-
public static void
map
(AudioEncodingOptions opts, FFmpegOutputBuilder dest)¶
map¶
-
public static void
map
(VideoEncodingOptions opts, FFmpegOutputBuilder dest)¶
map¶
-
public static void
map
(EncodingOptions opts, FFmpegOutputBuilder dest)¶
Mapper.AudioWrapper¶
-
static class
AudioWrapper
¶ Simple wrapper object, to inject the word “audio” in the property name
Fields¶
audio¶
-
public final AudioEncodingOptions
audio
¶
Constructors¶
AudioWrapper¶
-
AudioWrapper
(AudioEncodingOptions audio)¶
Mapper.VideoWrapper¶
-
static class
VideoWrapper
¶ Simple wrapper object, to inject the word “video” in the property name
Fields¶
video¶
-
public final VideoEncodingOptions
video
¶
Constructors¶
VideoWrapper¶
-
VideoWrapper
(VideoEncodingOptions video)¶
net.bramp.ffmpeg.nut¶
NutDataInputStream¶
-
public class
NutDataInputStream
implements DataInput¶ A DataInputStream that implements a couple of custom FFmpeg Nut datatypes.
Constructors¶
NutDataInputStream¶
-
public
NutDataInputStream
(InputStream in)¶
Methods¶
NutReader¶
-
public class
NutReader
¶ Demuxer for the FFmpeg Nut file format. Lots of things not implemented, startcode searching, crc checks, etc
- See also: <a
- href=”https://www.ffmpeg.org/~michael/nut.txt“>https://www.ffmpeg.org/~michael/nut.txt</a>, <a href=”https://github.com/FFmpeg/FFmpeg/blob/master/libavformat/nutdec.c“>https://github.com/FFmpeg/FFmpeg/blob/master/libavformat/nutdec.c</a>
Fields¶
header¶
-
public MainHeaderPacket
header
¶
in¶
-
final NutDataInputStream
in
¶
listener¶
-
final NutReaderListener
listener
¶
Constructors¶
NutReader¶
-
public
NutReader
(InputStream in, NutReaderListener listener)¶
Packet¶
-
public class
Packet
¶
Methods¶
read¶
-
public void
read
(NutDataInputStream in, long startcode)¶
readBody¶
-
protected void
readBody
(NutDataInputStream in)¶
RawHandler¶
-
public class
RawHandler
¶
Methods¶
streamToAudioFormat¶
-
public static AudioFormat
streamToAudioFormat
(StreamHeaderPacket header)¶ Parses a FourCC into a AudioEncoding based on the following rules: “ALAW” = A-LAW “ULAW” = MU-LAW P[type][interleaving][bits] = little-endian PCM [bits][interleaving][type]P = big-endian PCM Where: [type] is S for signed integer, U for unsigned integer, F for IEEE float [interleaving] is D for default, P is for planar. [bits] is 8/16/24/32
Parameters: - header – The stream’s header.
Returns: The AudioFormat matching this header.
toAudioInputStream¶
-
public static AudioInputStream
toAudioInputStream
(Frame frame)¶
toBufferedImage¶
-
public static BufferedImage
toBufferedImage
(Frame frame)¶
Stream¶
-
public class
Stream
¶
Fields¶
header¶
-
final StreamHeaderPacket
header
¶
Constructors¶
Stream¶
-
public
Stream
(MainHeaderPacket header, StreamHeaderPacket streamHeader)¶
net.bramp.ffmpeg.options¶
AudioEncodingOptions¶
-
public class
AudioEncodingOptions
¶ Encoding options for audio
Author: bramp
Fields¶
EncodingOptions¶
-
public class
EncodingOptions
¶ Author: bramp
Fields¶
audio¶
-
public final AudioEncodingOptions
audio
¶
main¶
-
public final MainEncodingOptions
main
¶
video¶
-
public final VideoEncodingOptions
video
¶
Constructors¶
EncodingOptions¶
-
public
EncodingOptions
(MainEncodingOptions main, AudioEncodingOptions audio, VideoEncodingOptions video)¶
Methods¶
getAudio¶
-
public AudioEncodingOptions
getAudio
()¶
getMain¶
-
public MainEncodingOptions
getMain
()¶
getVideo¶
-
public VideoEncodingOptions
getVideo
()¶
net.bramp.ffmpeg.probe¶
FFmpegProbeResult¶
-
public class
FFmpegProbeResult
¶ TODO Make this immutable
Fields¶
error¶
-
public FFmpegError
error
¶
format¶
-
public FFmpegFormat
format
¶
streams¶
-
public List<FFmpegStream>
streams
¶
Methods¶
getError¶
-
public FFmpegError
getError
()¶
getFormat¶
-
public FFmpegFormat
getFormat
()¶
getStreams¶
-
public List<FFmpegStream>
getStreams
()¶
net.bramp.ffmpeg.progress¶
AbstractSocketProgressParser¶
-
public abstract class
AbstractSocketProgressParser
implements ProgressParser¶
Constructors¶
AbstractSocketProgressParser¶
-
public
AbstractSocketProgressParser
(ProgressListener listener)¶
Methods¶
createUri¶
-
static URI
createUri
(String scheme, InetAddress address, int port)¶ Creates a URL to parse to FFmpeg based on the scheme, address and port. TODO Move this method to somewhere better.
Parameters: - scheme –
- address –
- port –
Throws: - URISyntaxException –
getRunnable¶
-
protected abstract Runnable
getRunnable
(CountDownLatch startSignal)¶
start¶
-
public synchronized void
start
()¶ Throws: - IllegalThreadStateException – if the parser was already started.
Progress¶
-
public class
Progress
¶ TODO Change to be immutable
Fields¶
Constructors¶
ProgressParser¶
StreamProgressParser¶
-
public class
StreamProgressParser
¶
Fields¶
listener¶
-
final ProgressListener
listener
¶
Constructors¶
StreamProgressParser¶
-
public
StreamProgressParser
(ProgressListener listener)¶
TcpProgressParser¶
-
public class
TcpProgressParser
extends AbstractSocketProgressParser¶
Constructors¶
TcpProgressParser¶
-
public
TcpProgressParser
(ProgressListener listener)¶
TcpProgressParser¶
-
public
TcpProgressParser
(ProgressListener listener, int port, InetAddress addr)¶
TcpProgressParserRunnable¶
Fields¶
parser¶
-
final StreamProgressParser
parser
¶
server¶
-
final ServerSocket
server
¶
startSignal¶
-
final CountDownLatch
startSignal
¶
Constructors¶
TcpProgressParserRunnable¶
-
public
TcpProgressParserRunnable
(StreamProgressParser parser, ServerSocket server, CountDownLatch startSignal)¶
UdpProgressParser¶
-
public class
UdpProgressParser
extends AbstractSocketProgressParser¶
Constructors¶
UdpProgressParser¶
-
public
UdpProgressParser
(ProgressListener listener)¶
UdpProgressParser¶
-
public
UdpProgressParser
(ProgressListener listener, int port, InetAddress addr)¶
UdpProgressParserRunnable¶
Fields¶
parser¶
-
final StreamProgressParser
parser
¶
socket¶
-
final DatagramSocket
socket
¶
startSignal¶
-
final CountDownLatch
startSignal
¶
Constructors¶
UdpProgressParserRunnable¶
-
public
UdpProgressParserRunnable
(StreamProgressParser parser, DatagramSocket socket, CountDownLatch startSignal)¶