Bool
Control
Interaction
add_skip_command
Add a skip function to a source when it does not have one by default.
Type:
(source('a)) -> unit
Arguments:
(unlabeled)
(of typesource('a)
): The source to attach the command to.
audioscrobbler.submit.full
Submit songs using audioscrobbler, respecting the full protocol: First signal song as now playing when starting, and then submit song when it ends.
Type:
(user : string, password : string, ?host : string,
?port : int, ?source : string, ?length : bool,
?delay : float, ?force : bool, source(audio='a,
video='b, midi='c)) -> source(audio='a, video='b,
midi='c)
Arguments:
user
(of typestring
)password
(of typestring
)host
(of typestring
, which defaults to"post.audioscrobbler.com"
)port
(of typeint
, which defaults to80
)source
(of typestring
, which defaults to"broadcast"
): Source for tracks. Should be one of: “broadcast”, “user”, “recommendation” or “unknown”. Since liquidsoap is intented for radio broadcasting, this is the default. Sources other than user don’t need duration to be set.length
(of typebool
, which defaults tofalse
): Try to submit length information. This operation can be CPU intensive. Value forced to true when used with the “user” source type.delay
(of typefloat
, which defaults to10.
): Submit song when there is only this delay left, in seconds.force
(of typebool
, which defaults tofalse
): If remaining time is null, the song will be assumed to be skipped or cuted, and not submitted. Set to zero to disable this behaviour.(unlabeled)
(of typesource(audio='a, video='b, midi='c)
)
lastfm.nowplaying
Submit metadata to lastfm.fm using the audioscrobbler protocol (nowplaying mode).
Type:
(user : string, password : string, ?length : bool,
[string * string]) -> unit
Arguments:
user
(of typestring
)password
(of typestring
)length
(of typebool
, which defaults tofalse
): Try to submit length information. This operation can be CPU intensive. Value forced to true when used with the “user” source type.(unlabeled)
(of type[string * string]
)
lastfm.submit
Submit metadata to lastfm.fm using the audioscrobbler protocol.
Type:
(user : string, password : string, ?source : string,
?length : bool, [string * string]) -> unit
Arguments:
user
(of typestring
)password
(of typestring
)source
(of typestring
, which defaults to"broadcast"
): Source for tracks. Should be one of: “broadcast”, “user”, “recommendation” or “unknown”. Since liquidsoap is intented for radio broadcasting, this is the default. Sources other than user don’t need duration to be set.length
(of typebool
, which defaults tofalse
): Try to submit length information. This operation can be CPU intensive. Value forced to true when used with the “user” source type.(unlabeled)
(of type[string * string]
)
lastfm.submit.full
Submit songs to lastfm using audioscrobbler, respecting the full protocol: First signal song as now playing when starting, and then submit song when it ends.
Type:
(user : string, password : string, ?source : string,
?length : bool, ?delay : float, ?force : bool,
source(audio='a, video='b, midi='c)) -> source(audio='a,
video='b, midi='c)
Arguments:
user
(of typestring
)password
(of typestring
)source
(of typestring
, which defaults to"broadcast"
): Source for tracks. Should be one of: “broadcast”, “user”, “recommendation” or “unknown”. Since liquidsoap is intented for radio broadcasting, this is the default. Sources other than user don’t need duration to be set.length
(of typebool
, which defaults tofalse
): Try to submit length information. This operation can be CPU intensive. Value forced to true when used with the “user” source type.delay
(of typefloat
, which defaults to10.
): Submit song when there is only this delay left, in seconds. If remaining time is less than this value, the song will be assumed to be skipped or cuted, and not submitted. Set to zero to disable this behaviour.force
(of typebool
, which defaults tofalse
): If remaining time is null, the song will be assumed to be skipped or cuted, and not submitted. Set to zero to disable this behaviour.(unlabeled)
(of typesource(audio='a, video='b, midi='c)
)
librefm.nowplaying
Submit metadata to libre.fm using the audioscrobbler protocol (nowplaying mode).
Type:
(user : string, password : string, ?length : bool,
[string * string]) -> unit
Arguments:
user
(of typestring
)password
(of typestring
)length
(of typebool
, which defaults tofalse
): Try to submit length information. This operation can be CPU intensive. Value forced to true when used with the “user” source type.(unlabeled)
(of type[string * string]
)
librefm.submit
Submit metadata to libre.fm using the audioscrobbler protocol.
Type:
(user : string, password : string, ?source : string,
?length : bool, [string * string]) -> unit
Arguments:
user
(of typestring
)password
(of typestring
)source
(of typestring
, which defaults to"broadcast"
): Source for tracks. Should be one of: “broadcast”, “user”, “recommendation” or “unknown”. Since liquidsoap is intented for radio broadcasting, this is the default. Sources other than user don’t need duration to be set.length
(of typebool
, which defaults tofalse
): Try to submit length information. This operation can be CPU intensive. Value forced to true when used with the “user” source type.(unlabeled)
(of type[string * string]
)
librefm.submit.full
Submit songs to librefm using audioscrobbler, respecting the full protocol: First signal song as now playing when starting, and then submit song when it ends.
Type:
(user : string, password : string, ?source : string,
?length : bool, ?delay : float, ?force : bool,
source(audio='a, video='b, midi='c)) -> source(audio='a,
video='b, midi='c)
Arguments:
user
(of typestring
)password
(of typestring
)source
(of typestring
, which defaults to"broadcast"
): Source for tracks. Should be one of: “broadcast”, “user”, “recommendation” or “unknown”. Since liquidsoap is intented for radio broadcasting, this is the default. Sources other than user don’t need duration to be set.length
(of typebool
, which defaults tofalse
): Try to submit length information. This operation can be CPU intensive. Value forced to true when used with the “user” source type.delay
(of typefloat
, which defaults to10.
): Submit song when there is only this delay left, in seconds. If remaining time is less than this value, the song will be assumed to be skipped or cuted, and not submitted. Set to zero to disable this behaviour.force
(of typebool
, which defaults tofalse
): If remaining time is null, the song will be assumed to be skipped or cuted, and not submitted. Set to zero to disable this behaviour.(unlabeled)
(of typesource(audio='a, video='b, midi='c)
)
metadata.float_getter
Create a float getter from a metadata: this is a float, whose value can be changed with a metadata.
Type:
(float, string, source(audio='a, video='b, midi='c)) ->
source(audio='a, video='b, midi='c) * (() -> float)
Arguments:
(unlabeled)
(of typefloat
): Initial value.(unlabeled)
(of typestring
): Metadata on which the value should be updated.(unlabeled)
(of typesource(audio='a, video='b, midi='c)
): Source containing the metadata.
metadata.string_getter
Create a string getter from a metadata: this is a string, whose value can be changed with a metadata.
Type:
(string, string, source(audio='a, video='b, midi='c)) ->
source(audio='a, video='b, midi='c) * (() -> string)
Arguments:
(unlabeled)
(of typestring
): Initial value.(unlabeled)
(of typestring
): Metadata on which the value should be updated.(unlabeled)
(of typesource(audio='a, video='b, midi='c)
): Source containing the metadata.
Liquidsoap
predicate.activates
Detect when a predicate becomes true.
Type:
(?init : bool, (() -> bool)) -> () -> bool
Arguments:
init
(of typebool
, which defaults tofalse
): Detect at begining.(unlabeled)
(of type() -> bool
): Predicate.
predicate.changes
Detect when a predicate changes.
Type:
((() -> 'a)) -> () -> bool where 'a is an orderable type
Arguments:
(unlabeled)
(of type() -> 'a where 'a is an orderable type
): Predicate.
predicate.once
First occurrence of a predicate.
Type:
((() -> bool)) -> () -> bool
Arguments:
(unlabeled)
(of type() -> bool
): Predicate.
List
Math
Other
Output
output.external.ffmpeg
Output to ffmpeg.
Type:
(?id : string, ?show_command : bool, ?flush : bool,
?fallible : bool, ?on_start : (() -> unit),
?on_stop : (() -> unit), ?reopen_delay : float,
?reopen_on_metadata : bool, ?reopen_when : (() -> bool),
?start : bool, string, source(audio=pcm(stereo),
video=yuv420p(height=720,width=1280), midi=none)) ->
active_source(audio=pcm(stereo),
video=yuv420p(height=720,width=1280), midi=none)
Arguments:
id
(of typestring
, which defaults to""
): Force the value of the source ID.show_command
(of typebool
, which defaults tofalse
)flush
(of typebool
, which defaults tofalse
): Perform a flush after each write.fallible
(of typebool
, which defaults tofalse
): Allow the child source to fail, in which case the output will be (temporarily) stopped.on_start
(of type() -> unit
, which defaults to<fun>
): Callback executed when outputting starts.on_stop
(of type() -> unit
, which defaults to<fun>
): Callback executed when outputting stops.reopen_delay
(of typefloat
, which defaults to120.
): Prevent re-opening within that delay, in seconds.reopen_on_metadata
(of typebool
, which defaults tofalse
): Re-open on every new metadata information.reopen_when
(of type() -> bool
, which defaults to{false}
): When should the output be re-opened.start
(of typebool
, which defaults totrue
): Automatically start outputting whenever possible. If true, an infallible (normal) output will start outputting as soon as it is created, and a fallible output will (re)start as soon as its source becomes available for streaming.(unlabeled)
(of typestring
)(unlabeled)
(of typesource(audio=pcm(stereo), video=yuv420p(height=720,width=1280), midi=none)
)
output.file.dash.ffmpeg
Output an MPEG-DASH playlist using ffmpeg
Type:
(?id : string, ?flush : bool, ?fallible : bool,
?on_start : (() -> unit), ?on_stop : (() -> unit),
?reopen_delay : float, ?reopen_on_metadata : bool,
?reopen_when : (() -> bool), ?start : bool,
?playlist : string, directory : 'a,
source(audio=pcm(stereo),
video=yuv420p(height=720,width=1280), midi=none)) ->
active_source(audio=pcm(stereo),
video=yuv420p(height=720,width=1280), midi=none)
Arguments:
id
(of typestring
, which defaults to""
): Force the value of the source ID.flush
(of typebool
, which defaults tofalse
): Perform a flush after each write.fallible
(of typebool
, which defaults tofalse
): Allow the child source to fail, in which case the output will be (temporarily) stopped.on_start
(of type() -> unit
, which defaults to<fun>
): Callback executed when outputting starts.on_stop
(of type() -> unit
, which defaults to<fun>
): Callback executed when outputting stops.reopen_delay
(of typefloat
, which defaults to120.
): Prevent re-opening within that delay, in seconds.reopen_on_metadata
(of typebool
, which defaults tofalse
): Re-open on every new metadata information.reopen_when
(of type() -> bool
, which defaults to{false}
): When should the output be re-opened.start
(of typebool
, which defaults totrue
): Automatically start outputting whenever possible. If true, an infallible (normal) output will start outputting as soon as it is created, and a fallible output will (re)start as soon as its source becomes available for streaming.playlist
(of typestring
, which defaults to"stream.mpd"
): Playlist namedirectory
(of type'a
): Directory to write to(unlabeled)
(of typesource(audio=pcm(stereo), video=yuv420p(height=720,width=1280), midi=none)
)
output.file.hls.ffmpeg
Output a HLS playlist using ffmpeg
Type:
(?id : string, ?flush : bool, ?fallible : bool,
?on_start : (() -> unit), ?on_stop : (() -> unit),
?reopen_delay : float, ?reopen_on_metadata : bool,
?reopen_when : (() -> bool), ?start : bool,
?playlist : string, directory : string,
source(audio=pcm(stereo),
video=yuv420p(height=720,width=1280), midi=none)) ->
active_source(audio=pcm(stereo),
video=yuv420p(height=720,width=1280), midi=none)
Arguments:
id
(of typestring
, which defaults to""
): Force the value of the source ID.flush
(of typebool
, which defaults tofalse
): Perform a flush after each write.fallible
(of typebool
, which defaults tofalse
): Allow the child source to fail, in which case the output will be (temporarily) stopped.on_start
(of type() -> unit
, which defaults to<fun>
): Callback executed when outputting starts.on_stop
(of type() -> unit
, which defaults to<fun>
): Callback executed when outputting stops.reopen_delay
(of typefloat
, which defaults to120.
): Prevent re-opening within that delay, in seconds.reopen_on_metadata
(of typebool
, which defaults tofalse
): Re-open on every new metadata information.reopen_when
(of type() -> bool
, which defaults to{false}
): When should the output be re-opened.start
(of typebool
, which defaults totrue
): Automatically start outputting whenever possible. If true, an infallible (normal) output will start outputting as soon as it is created, and a fallible output will (re)start as soon as its source becomes available for streaming.playlist
(of typestring
, which defaults to"stream.m3u8"
): Playlist namedirectory
(of typestring
): Directory to write to(unlabeled)
(of typesource(audio=pcm(stereo), video=yuv420p(height=720,width=1280), midi=none)
)
output.youtube.live.ffmpeg
Stream to youtube.
Type:
(?id : string, ?flush : bool, ?fallible : bool,
?on_start : (() -> unit), ?on_stop : (() -> unit),
?reopen_delay : float, ?reopen_on_metadata : bool,
?reopen_when : (() -> bool), ?start : bool,
?url : string, ?bitrate : int, ?quality : string,
key : string, source(audio=pcm(stereo),
video=yuv420p(height=720,width=1280), midi=none)) ->
active_source(audio=pcm(stereo),
video=yuv420p(height=720,width=1280), midi=none)
Arguments:
id
(of typestring
, which defaults to""
): Force the value of the source ID.flush
(of typebool
, which defaults tofalse
): Perform a flush after each write.fallible
(of typebool
, which defaults tofalse
): Allow the child source to fail, in which case the output will be (temporarily) stopped.on_start
(of type() -> unit
, which defaults to<fun>
): Callback executed when outputting starts.on_stop
(of type() -> unit
, which defaults to<fun>
): Callback executed when outputting stops.reopen_delay
(of typefloat
, which defaults to120.
): Prevent re-opening within that delay, in seconds.reopen_on_metadata
(of typebool
, which defaults tofalse
): Re-open on every new metadata information.reopen_when
(of type() -> bool
, which defaults to{false}
): When should the output be re-opened.start
(of typebool
, which defaults totrue
): Automatically start outputting whenever possible. If true, an infallible (normal) output will start outputting as soon as it is created, and a fallible output will (re)start as soon as its source becomes available for streaming.url
(of typestring
, which defaults to"rtmp://a.rtmp.youtube.com/live2"
): URL to stream tobitrate
(of typeint
, which defaults to2500
): Bitrate of the video (in kbps)quality
(of typestring
, which defaults to"medium"
): Quality of the video (low / medium / high)key
(of typestring
): Your secret youtube key(unlabeled)
(of typesource(audio=pcm(stereo), video=yuv420p(height=720,width=1280), midi=none)
)
Pair
Source / Conversions
Source / Input
gstreamer.single.audio
Play a single audio file using GStreamer.
Type:
(?id : string, ?on_error : (('a) -> float), {string}) ->
source(audio=pcm('c), video='d, midi='e)
Arguments:
id
(of typestring
, which defaults to""
): Force the value of the source ID.on_error
(of type('a) -> float
, which defaults tofun (_) -> 3.
): Callback executed when an error happens.(unlabeled)
(of type{string}
): URI of the file to be played.
input.mplayer
Stream data from mplayer
Type:
(?id : string, ?restart : bool, ?restart_on_error : bool,
?buffer : float, ?max : float, string) ->
source(audio=pcm('a), video='b, midi='c)
Arguments:
id
(of typestring
, which defaults to"input.mplayer"
)restart
(of typebool
, which defaults totrue
): restart on exit.restart_on_error
(of typebool
, which defaults tofalse
): restart on exit with error.buffer
(of typefloat
, which defaults to0.2
): Duration of the pre-buffered data.max
(of typefloat
, which defaults to10.
): Maximum duration of the buffered data.(unlabeled)
(of typestring
): data URI.
input.v4l2
Stream from a video4linux 2 input device, such as a webcam.
Type:
(?id : string, ?device : string,
?on_error : ((string) -> float)) -> source(audio='a,
video=yuv420p('b), midi='c)
Arguments:
id
(of typestring
, which defaults to""
): Force the value of the source ID.device
(of typestring
, which defaults to"/dev/video0"
): V4L2 device to use.on_error
(of type(string) -> float
, which defaults tofun (_) -> 3.
): Callback executed when an error happens.
input.v4l2_with_audio
Stream from a video4linux 2 input device, such as a webcam.
Type:
(?id : string, ?device : string,
?on_error : ((string) -> float)) ->
source(audio=pcm(stereo), video=yuv420p('a), midi=none)
Arguments:
id
(of typestring
, which defaults to""
): Force the value of the source ID.device
(of typestring
, which defaults to"/dev/video0"
): V4L2 device to use.on_error
(of type(string) -> float
, which defaults tofun (_) -> 3.
): Callback executed when an error happens.
output.file.hls.gstreamer
Play an http live stream.
Type:
(?id : string, ?on_error : ((string) -> float), {string}) ->
source(audio=pcm(stereo), video=yuv420p('b), midi=none)
Arguments:
id
(of typestring
, which defaults to""
): Force the value of the source ID.on_error
(of type(string) -> float
, which defaults tofun (_) -> 3.
): Callback executed when an error happens.(unlabeled)
(of type{string}
): URI of the HLS stream index.
output.file.hls.gstreamer.audio
Play an audio-only http live stream.
Type:
(?id : string, ?on_error : ((string) -> float), {string}) ->
source(audio=pcm('b), video='c, midi='d)
Arguments:
id
(of typestring
, which defaults to""
): Force the value of the source ID.on_error
(of type(string) -> float
, which defaults tofun (_) -> 3.
): Callback executed when an error happens.(unlabeled)
(of type{string}
): URI of the HLS stream index.
video.testsrc.gstreamer
Test audio-video source using GStreamer.
Type:
(?id : string) -> source(audio=pcm(stereo),
video=yuv420p('a), midi=none)
Arguments:
id
(of typestring
, which defaults to""
)
Source / Liquidsoap
Source / MIDI Processing
Source / Output
gstreamer.encode_jpeg_avi
Encode jpeg video file using gstreamer
Type:
('a, source(audio=pcm('b), video='c, midi='d)) ->
active_source(audio=pcm('b), video='c, midi='d)
Arguments:
(unlabeled)
(of type'a
): Encoded file name(unlabeled)
(of typesource(audio=pcm('b), video='c, midi='d)
): Source
gstreamer.encode_mp3
Encode a mp3 file using gstreamer
Type:
('a, source(audio=pcm('b), video='c, midi='d)) ->
active_source(audio=pcm('b), video='c, midi='d)
Arguments:
(unlabeled)
(of type'a
): Encoded file name(unlabeled)
(of typesource(audio=pcm('b), video='c, midi='d)
): Source
gstreamer.encode_x264_avi
Encode an x264 video file using gstreamer
Type:
('a, source(audio=pcm('b), video='c, midi='d)) ->
active_source(audio=pcm('b), video='c, midi='d)
Arguments:
(unlabeled)
(of type'a
): Encoded file name(unlabeled)
(of typesource(audio=pcm('b), video='c, midi='d)
): Source
gstreamer.rtp.mpeg4
Broadcast a video in RTP. In order to play it, save the following in xxx.sdp
and use vlc xxx.sdp
:
v=0
m=video 5000 RTP/AVP 96
c=IN IP4 127.0.0.1
a=rtpmap:96 MP4V-ES/90000
Type:
(?host : string, ?port : int, source(audio=pcm('a),
video='b, midi='c)) -> active_source(audio=pcm('a),
video='b, midi='c)
Arguments:
host
(of typestring
, which defaults to"127.0.0.1"
)port
(of typeint
, which defaults to5000
)(unlabeled)
(of typesource(audio=pcm('a), video='b, midi='c)
)
output.youtube.live
Stream live on youtube. You need the following Gstreamer plugins: flvmux, rtmpsink, x264enc and a suitable AAC encoder (see audio_encoder
params).
Type:
(?id : string, ?video_bitrate : int,
?audio_encoder : string, ?audio_bitrate : int,
?url : string, key : string, source(audio=pcm('a),
video=yuv420p('b), midi='c)) ->
active_source(audio=pcm('a), video=yuv420p('b), midi='c)
Arguments:
id
(of typestring
, which defaults to""
): Source IDvideo_bitrate
(of typeint
, which defaults to2000
): Video bitrateaudio_encoder
(of typestring
, which defaults to"fdkaacenc"
): Audio encoder. Can be one of: “fdkaacenc”, “voaacenc”audio_bitrate
(of typeint
, which defaults to128000
): Audio bitrateurl
(of typestring
, which defaults to"rtmp://a.rtmp.youtube.com/live2"
): Server URLkey
(of typestring
): Secret key(unlabeled)
(of typesource(audio=pcm('a), video=yuv420p('b), midi='c)
): Source to stream
Source / Sound Processing
helium
Increases the pitch, making voices sound like on helium.
Type:
(source(audio=pcm('a), video='b, midi='c)) ->
source(audio=pcm('a), video='b, midi='c)
Arguments:
(unlabeled)
(of typesource(audio=pcm('a), video='b, midi='c)
): The input source.
nrj
Compress and normalize, producing a more uniform and “full” sound.
Type:
(source(audio='a, video='b, midi='c)) -> source(audio='a,
video='b, midi='c)
Arguments:
(unlabeled)
(of typesource(audio='a, video='b, midi='c)
): The input source.
sky
Multiband-compression.
Type:
(source(audio='a, video='b, midi=none)) ->
source(audio='a, video='b, midi=none)
where
'a, 'b is an internal media type (none, pcm, yuv420p or midi)
Arguments:
(unlabeled)
(of typesource(audio='a, video='b, midi=none) where 'a, 'b is an internal media type (none, pcm, yuv420p or midi)
): The input source.
Source / Sound Synthesis
Source / Track Processing
fallback.skip
Special track insensitive fallback that always skips current song before switching.
Type:
(input : source(audio='a, video='b, midi='c),
source(audio='a, video='b, midi='c)) -> source(audio='a,
video='b, midi='c)
Arguments:
input
(of typesource(audio='a, video='b, midi='c)
): The input source(unlabeled)
(of typesource(audio='a, video='b, midi='c)
): The fallback source
notify_metadata
Use notify to display metadata info.
Type:
(?urgency : string, ?icon : string, ?time : int,
?display : (([string * string]) -> string),
?title : string, source(audio='a, video='b, midi='c)) ->
source(audio='a, video='b, midi='c)
Arguments:
urgency
(of typestring
, which defaults to"low"
): Urgency (low|normal|critical).icon
(of typestring
, which defaults to"stock_smiley-22"
): Icon filename or stock icon to display.time
(of typeint
, which defaults to3000
): Timeout in milliseconds.display
(of type([string * string]) -> string
, which defaults to<fun>
): Function used to display a metadata packet.title
(of typestring
, which defaults to"Liquidsoap: new track"
): Title of the notification message.(unlabeled)
(of typesource(audio='a, video='b, midi='c)
)
osd_metadata
Use X On Screen Display to display metadata info.
Type:
(?color : string, ?position : string, ?font : string,
?display : (([string * string]) -> string),
source(audio='a, video='b, midi='c)) -> source(audio='a,
video='b, midi='c)
Arguments:
color
(of typestring
, which defaults to"green"
): Color of the text.position
(of typestring
, which defaults to"top"
): Position of the text (top|middle|bottom).font
(of typestring
, which defaults to"-*-courier-*-r-*-*-*-240-*-*-*-*-*-*"
): Font used (xfontsel is your friend…)display
(of type([string * string]) -> string
, which defaults to<fun>
): Function used to display a metadata packet.(unlabeled)
(of typesource(audio='a, video='b, midi='c)
)
smooth_add
Mixes two streams, with faded transitions between the state when only the normal stream is available and when the special stream gets added on top of it.
Type:
(?delay : float, ?p : {float}, normal : source(audio='b,
video='c, midi=none), special : source(audio='b,
video='c, midi=none)) -> source(audio='b, video='c,
midi=none)
where
'b, 'c is an internal media type (none, pcm, yuv420p or midi)
Arguments:
delay
(of typefloat
, which defaults to0.5
): Delay before starting the special source.p
(of type{float}
, which defaults to0.2
): Portion of amplitude of the normal source in the mix.normal
(of typesource(audio='b, video='c, midi=none) where 'b, 'c is an internal media type (none, pcm, yuv420p or midi)
): The normal source, which could be called the carrier too.special
(of typesource(audio='b, video='c, midi=none) where 'b, 'c is an internal media type (none, pcm, yuv420p or midi)
): The special source.
Source / Video Processing
input.external.ffmpeg
Input from ffmpeg.
Type:
(?id : string, ?show_command : bool, ?restart : bool,
?restart_on_error : bool, ?buffer : float, ?max : float,
string) -> source(audio=pcm(stereo), video=yuv420p('a),
midi=none)
Arguments:
id
(of typestring
, which defaults to"input.external.ffmpeg"
)show_command
(of typebool
, which defaults tofalse
)restart
(of typebool
, which defaults totrue
): restart on exit.restart_on_error
(of typebool
, which defaults tofalse
): restart on exit with error.buffer
(of typefloat
, which defaults to0.2
): Duration of the pre-buffered data.max
(of typefloat
, which defaults to10.
): Maximum duration of the buffered data.(unlabeled)
(of typestring
): ffmpeg options specifying the input
video.external.testsrc
ffmpeg’s test source video (useful for testing and debugging).
Type:
(?id : string, ?restart : bool, ?restart_on_error : bool,
?buffer : float, ?max : float, ?framerate : int) ->
source(audio=pcm(stereo), video=yuv420p('a), midi=none)
Arguments:
id
(of typestring
, which defaults to"video.external.testsrc"
)restart
(of typebool
, which defaults totrue
): restart on exit.restart_on_error
(of typebool
, which defaults tofalse
): restart on exit with error.buffer
(of typefloat
, which defaults to0.2
): Duration of the pre-buffered data.max
(of typefloat
, which defaults to10.
): Maximum duration of the buffered data.framerate
(of typeint
, which defaults to0
)
Source / Visualization
String
System
file.cover
Obtain cover-art for a file. An empty string is returned in case there is no such information.
Type:
(?id : string, string) -> string
Arguments:
id
(of typestring
, which defaults to"file.cover"
)(unlabeled)
(of typestring
): File from which the cover should be obtained
Visualization
vumeter
VU meter: display the audio volume (RMS in dB).
Type:
(?rms_min : float, ?rms_max : float, ?window : float,
?scroll : bool, source(audio='a, video='b, midi='c)) ->
source(audio='a, video='b, midi='c).{rms : (() -> float)}
Arguments:
rms_min
(of typefloat
, which defaults to-25.
): Minimal volume.rms_max
(of typefloat
, which defaults to-5.
): Maximal volume.window
(of typefloat
, which defaults to0.5
): Duration in seconds of volume computation.scroll
(of typebool
, which defaults tofalse
): Update the display in the same line.(unlabeled)
(of typesource(audio='a, video='b, midi='c)
)