Package net.bramp.ffmpeg.builder
Class FFmpegHlsOutputBuilder
java.lang.Object
net.bramp.ffmpeg.builder.AbstractFFmpegStreamBuilder<FFmpegHlsOutputBuilder>
net.bramp.ffmpeg.builder.AbstractFFmpegOutputBuilder<FFmpegHlsOutputBuilder>
net.bramp.ffmpeg.builder.FFmpegHlsOutputBuilder
Builder for FFmpeg HLS (HTTP Live Streaming) output arguments.
-
Field Summary
FieldsModifier and TypeFieldDescriptionFields inherited from class net.bramp.ffmpeg.builder.AbstractFFmpegOutputBuilder
audio_bit_rate, audio_bit_stream_filter, audio_filter, audio_quality, audio_sample_format, bFrames, complexFilter, constantRateFactor, video_bit_rate, video_bit_stream_filter, video_filter, video_preset, video_qualityFields inherited from class net.bramp.ffmpeg.builder.AbstractFFmpegStreamBuilder
audio_channels, audio_codec, audio_enabled, audio_preset, audio_sample_rate, DEVNULL, duration, extra_args, filename, format, maps, meta_tags, pass_padding_bitrate, preset, presetFilename, startOffset, strict, subtitle_enabled, subtitle_preset, targetSize, throwWarnings, uri, video_codec, video_copyinkf, video_enabled, video_frame_rate, video_frames, video_height, video_movflags, video_pixel_format, video_size, video_width -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedFFmpegHlsOutputBuilder(FFmpegBuilder parent, String filename) Constructs a new HLS output builder with the given filename. -
Method Summary
Modifier and TypeMethodDescriptionprotected voidaddFormatArgs(com.google.common.collect.ImmutableList.Builder<String> args) Adds format-related arguments such as stream mappings.addVariant(HlsVariant variant) Adds an HLS variant to this output.protected FFmpegHlsOutputBuildergetThis()Returns this instance for fluent API chaining.Sets the output format.setHlsBaseUrl(String baseurl) Append baseurl to every entry in the playlist.setHlsInitTime(long duration, TimeUnit units) Segment will be cut on the next key frame after this time has passed on the first m3u8 list.setHlsListSize(int size) Set the maximum number of playlist entries.setHlsPlaylistType(String type) Set the playlist type.setHlsSegmentFileName(String filename) hls_segment_filename Examples
"file%03d.ts" segment files: file000.ts, file001.ts, file002.ts, etc.setHlsTime(long duration, TimeUnit units) Set the target segment length.setMasterPlName(String name) Set the master playlist name.setVarStreamMap(String map) Set the variant stream map string manually.Methods inherited from class net.bramp.ffmpeg.builder.AbstractFFmpegOutputBuilder
addAudioFlags, addGlobalFlags, addSourceTarget, addVideoFlags, build, build, buildOptions, formatDecimalInteger, getAudioBitRate, getAudioBitStreamFilter, getAudioFilter, getAudioQuality, getAudioSampleFormat, getComplexFilter, getConstantRateFactor, getVideoBitRate, getVideoBitStreamFilter, getVideoFilter, getVideoPreset, getVideoQuality, setAudioBitDepth, setAudioBitRate, setAudioBitStreamFilter, setAudioFilter, setAudioQuality, setAudioSampleFormat, setBFrames, setComplexFilter, setConstantRateFactor, setVideoBitRate, setVideoBitStreamFilter, setVideoFilter, setVideoPreset, setVideoQualityMethods inherited from class net.bramp.ffmpeg.builder.AbstractFFmpegStreamBuilder
addExtraArgs, addMap, addMap, addMetaTag, addMetaTag, disableAudio, disableSubtitle, disableVideo, done, getFilename, getUri, isValidSize, setAudioChannels, setAudioCodec, setAudioPreset, setAudioSampleRate, setDuration, setFilename, setFilename, setFilename, setFrames, setPassPaddingBitrate, setPreset, setPresetFilename, setPresetFilename, setPresetFilename, setStartOffset, setStrict, setSubtitleCodec, setSubtitlePreset, setTargetSize, setUri, setVideoCodec, setVideoCopyInkf, setVideoFrameRate, setVideoFrameRate, setVideoFrameRate, setVideoHeight, setVideoMovFlags, setVideoPixelFormat, setVideoResolution, setVideoResolution, setVideoWidth, useOptions, useOptions, useOptions, useOptions
-
Field Details
-
hls_time
-
hls_segment_filename
-
hls_init_time
-
hls_list_size
-
hls_base_url
-
hls_playlist_type
-
master_pl_name
-
var_stream_map
-
-
Constructor Details
-
FFmpegHlsOutputBuilder
Constructs a new HLS output builder with the given filename.
-
-
Method Details
-
setFormat
Description copied from class:AbstractFFmpegStreamBuilderSets the output format.- Overrides:
setFormatin classAbstractFFmpegStreamBuilder<FFmpegHlsOutputBuilder>
-
setHlsTime
Set the target segment length. Default value is 2 seconds.- Parameters:
duration- hls_time to setunits- The units the offset is in- Returns:
FFmpegHlsOutputBuilder
-
setHlsSegmentFileName
hls_segment_filename Examples
"file%03d.ts" segment files: file000.ts, file001.ts, file002.ts, etc.- Parameters:
filename- hls_segment_file_name to set- Returns:
FFmpegHlsOutputBuilder
-
setHlsInitTime
Segment will be cut on the next key frame after this time has passed on the first m3u8 list.- Parameters:
duration- hls_init_time to setunits- The units the offset is in- Returns:
FFmpegHlsOutputBuilder
-
setHlsListSize
Set the maximum number of playlist entries. If set to 0 the list file will contain all the segments .
Default value is 5- Parameters:
size- hls_time to set- Returns:
FFmpegHlsOutputBuilder
-
setHlsBaseUrl
Append baseurl to every entry in the playlist. Useful to generate playlists with absolute paths.
Note that the playlist sequence number must be unique for each segment and it is not to be confused with the segment filename sequence number which can be cyclic, for example if the wrap option is specified.- Parameters:
baseurl- hls_base_url to set- Returns:
FFmpegHlsOutputBuilder
-
setHlsPlaylistType
Set the playlist type.- Parameters:
type- The playlist type (e.g. "event", "vod")- Returns:
FFmpegHlsOutputBuilder
-
setMasterPlName
Set the master playlist name.- Parameters:
name- The master playlist name- Returns:
FFmpegHlsOutputBuilder
-
setVarStreamMap
Set the variant stream map string manually.Prefer using
addVariant(HlsVariant)for a cleaner API.- Parameters:
map- The variant stream map (e.g. "v:0,a:0 v:1,a:1")- Returns:
FFmpegHlsOutputBuilder
-
addVariant
Adds an HLS variant to this output.- Parameters:
variant- The variant configuration.- Returns:
FFmpegHlsOutputBuilder
-
addFormatArgs
Description copied from class:AbstractFFmpegStreamBuilderAdds format-related arguments such as stream mappings.- Overrides:
addFormatArgsin classAbstractFFmpegStreamBuilder<FFmpegHlsOutputBuilder>
-
getThis
Description copied from class:AbstractFFmpegStreamBuilderReturns this instance for fluent API chaining.- Overrides:
getThisin classAbstractFFmpegOutputBuilder<FFmpegHlsOutputBuilder>
-