Difference between revisions of "Documentation:Modules/marq"
m (Light copy-edit and correct unbalanced double quote) |
(Heavy copy-edit. Noted the [34c0fe95c2e6fc7aade6a4950fd2b3c89c1220f3] change allowing for relative offsets of numbered positions) |
||
Line 1: | Line 1: | ||
− | {{Module|name=marq|type=Video sub-filter|first_version=0.8.0|description=Overlays text on the video|sc=marq}} | + | {{Module|name=marq|type=Video sub-filter|first_version=0.8.0|description=Overlays text on the video|sc=marq|sc2=time}} |
− | The marq sub-filter can be used to display text on a video. The {{docmod|time}} filter was merged with this filter in version 0.9.0. | + | The marq sub-filter can be used to display text on a video. The {{docmod|time}} filter was merged with this filter in version 0.9.0, adding time [[Documentation:Format String|format string]] recognition. |
+ | |||
+ | There are two methods of specifying position: coordinate and [[#marq-position|numbered positions]]. VLC 0.8.6d and prior only permitted well-formed coordinate pairs, falling back to numbered positions.<br />Since {{Commit|34c0fe95c2e6fc7aade6a4950fd2b3c89c1220f3}} the marq module permits zero, one or two coordinates and zero or one numbered positions, allowing these methods to be intermixed. This means it is easier to e.g. provide a 100-pixel margin between a marquee and the bottom right corner. | ||
== Options == | == Options == | ||
Line 8: | Line 10: | ||
|value=string | |value=string | ||
|default=VLC | |default=VLC | ||
− | |description=Marquee text to display. | + | |description=Marquee text to display. |
}} | }} | ||
{{Option | {{Option | ||
|name=marq-file | |name=marq-file | ||
|value=string | |value=string | ||
− | |description=File to read the marquee text from | + | |default=NULL |
− | }} | + | |description=File to read the marquee text from. |
+ | }}<noinclude> | ||
+ | === Position === | ||
+ | </noinclude> | ||
{{Option | {{Option | ||
|name=marq-x | |name=marq-x | ||
|value=integer | |value=integer | ||
− | |default=0 | + | |default=0 |
− | |description=X offset from | + | |description=X offset, from the left screen edge. |
}} | }} | ||
{{Option | {{Option | ||
Line 25: | Line 30: | ||
|value=integer | |value=integer | ||
|default=0 | |default=0 | ||
− | |description=Y offset from | + | |description=Y offset, down from the top. |
}} | }} | ||
{{Option | {{Option | ||
− | |name=marq-position | + | |name=marq-position<span id="marq-position"></span> |
|value=integer | |value=integer | ||
− | |default=-1 | + | |default=-1 |
− | |description=Marquee position: 0=center, 1=left, 2=right, 4=top, 8=bottom, you can also use combinations of these values, eg 6 = top-right. | + | |description=Marquee position: 0=center, 1=left, 2=right, 4=top, 8=bottom, you can also use combinations of these values, eg 6 = top-right. |
− | }} | + | }}<noinclude> |
− | {{Option | + | === Font === |
+ | </noinclude>{{Option | ||
|name=marq-opacity | |name=marq-opacity | ||
|value=integer | |value=integer | ||
Line 39: | Line 45: | ||
|max=255 | |max=255 | ||
|default=255 | |default=255 | ||
− | |description= | + | |description=Opacity (inverse of transparency) of overlaid text. 0 {{=}} transparent, 255 {{=}} totally opaque. |
}} | }} | ||
{{Option | {{Option | ||
|name=marq-color<span id="marq-color"></span> | |name=marq-color<span id="marq-color"></span> | ||
|value=integer | |value=integer | ||
+ | |select={ 0x000000, 0x808080, 0xC0C0C0, 0xFFFFFF, 0x800000, 0xFF0000, 0xFF00FF, 0xFFFF00, 0x808000, 0x008000, 0x008080, 0x00FF00, 0x800080, 0x000080, 0x0000FF, 0x00FFFF } | ||
|default=0xFFFFFF | |default=0xFFFFFF | ||
− | |description=Color<sup>('''[[#appendix_marq-color|key]]''')</sup> of the text that will be rendered on the video. This must be an hexadecimal (like HTML colors). The first two chars are for red, then green, then blue | + | |description=Color<noinclude><sup>('''[[#appendix_marq-color|key]]''')</sup></noinclude> of the text that will be rendered on the video. This must be an hexadecimal (like HTML colors). The first two chars are for red, then green, then blue. |
}} | }} | ||
{{Option | {{Option | ||
Line 52: | Line 59: | ||
|min=0 | |min=0 | ||
|max=4096 | |max=4096 | ||
− | |default=0 | + | |default=0 |
− | |description=Font size in pixels. 0 uses the default font size | + | |description=Font size, in pixels. 0 uses the default font size. |
− | }} | + | }}<noinclude> |
− | {{Option | + | === Misc === |
+ | </noinclude>{{Option | ||
|name=marq-timeout | |name=marq-timeout | ||
|value=integer | |value=integer | ||
|default=0 | |default=0 | ||
− | |description=Number of milliseconds the marquee must remain displayed. 0 means forever | + | |description=Number of milliseconds the marquee must remain displayed. 0 means forever. |
}} | }} | ||
{{Option | {{Option | ||
Line 65: | Line 73: | ||
|value=integer | |value=integer | ||
|default=1000 | |default=1000 | ||
− | |description=Number of milliseconds between string updates. This is mainly useful when using meta data or time format string sequences | + | |description=Number of milliseconds between string updates. This is mainly useful when using meta data or time [[Documentation:Format String|format string]] sequences. |
}}</onlyinclude> | }}</onlyinclude> | ||
Line 74: | Line 82: | ||
This example displays yellow ''test'' text in the top left corner of video | This example displays yellow ''test'' text in the top left corner of video | ||
− | + | === VLC 0.9.0 - 1.1.13 === | |
− | {{$}} vlc --sub-filter 'marq{marquee=$t ($P%%),color= | + | {{$}} vlc --sub-filter 'marq{marquee=$t ($P%%),color=0xFFFF00}:marq{marquee=%H:%M:%S,position=6}' somevideo.avi |
This command line will show the stream's title (<code>$t</code>) and current position (<code>$P</code>) in the upper left corner and the current time in the upper right corner. The <u>''single''</u> quotes <code>'</code> enclose our <code>$</code> characters to prevent them from being interpreted as Bash variables.<br /> | This command line will show the stream's title (<code>$t</code>) and current position (<code>$P</code>) in the upper left corner and the current time in the upper right corner. The <u>''single''</u> quotes <code>'</code> enclose our <code>$</code> characters to prevent them from being interpreted as Bash variables.<br /> | ||
− | On | + | On Windows the command line would be: |
− | + | {{Prompt|cmd}} {{Path to VLC|windows}} --sub-filter=marq{marquee=$t ($P%%),color=0xFFFF00}:marq{marquee=%H:%m%s,position=6} somevideo.avi | |
− | + | === VLC 0.8.6d and prior === | |
− | {{%}} vlc --sub-filter=marq --marq-marquee="Obvious Watermark" --marq-position=0 --marq-size=50 --marq-opacity=25 --marq-color= | + | {{%}} vlc --sub-filter=marq --marq-marquee="Obvious Watermark" --marq-position=0 --marq-size=50 --marq-opacity=25 --marq-color=0x008000 somevideo.avi |
This command will show centered transparent green text. Text sized too large to fit the video window will not appear, and may crash VLC. | This command will show centered transparent green text. Text sized too large to fit the video window will not appear, and may crash VLC. | ||
Line 88: | Line 96: | ||
'''time:''' | '''time:''' | ||
− | % vlc input_stream --sub-filter=time --time-format %Y-%m-%d,%H:%M:%S --time-position 9 --time-color | + | % vlc input_stream --sub-filter=time --time-format %Y-%m-%d,%H:%M:%S --time-position 9 --time-color 0xFFFFFF --time-size 12 |
'''marq equivalent:''' | '''marq equivalent:''' | ||
Line 111: | Line 119: | ||
== Source code == | == Source code == | ||
* {{VLCSourceFile|modules/spu/marq.c}} | * {{VLCSourceFile|modules/spu/marq.c}} | ||
+ | * {{VLCSourceFile|p=vlc/vlc-0.8.git|modules/video_filter/marq.c}} | ||
== Appendix == | == Appendix == |
Revision as of 07:16, 2 June 2019
Module: marq | |
---|---|
Type | Video sub-filter |
First VLC version | 0.8.0 |
Last VLC version | - |
Operating system(s) | all |
Description | Overlays text on the video |
Shortcut(s) | marq , time
|
The marq sub-filter can be used to display text on a video. The time filter was merged with this filter in version 0.9.0, adding time format string recognition.
There are two methods of specifying position: coordinate and numbered positions. VLC 0.8.6d and prior only permitted well-formed coordinate pairs, falling back to numbered positions.
Since [34c0fe95c2e6fc7aade6a4950fd2b3c89c1220f3] the marq module permits zero, one or two coordinates and zero or one numbered positions, allowing these methods to be intermixed. This means it is easier to e.g. provide a 100-pixel margin between a marquee and the bottom right corner.
Contents
Options
- marq-marquee <string> : Marquee text to display. default value: VLC
- marq-file <string> : File to read the marquee text from. default value: NULL
Position
- marq-x <integer> : X offset, from the left screen edge. default value: 0
- marq-y <integer> : Y offset, down from the top. default value: 0
- marq-position <integer> : Marquee position: 0=center, 1=left, 2=right, 4=top, 8=bottom, you can also use combinations of these values, eg 6 = top-right. default value: -1
Font
- marq-opacity <integer [0 .. 255]> : Opacity (inverse of transparency) of overlaid text. 0 = transparent, 255 = totally opaque. default value: 255
- marq-color <integer> { 0x000000, 0x808080, 0xC0C0C0, 0xFFFFFF, 0x800000, 0xFF0000, 0xFF00FF, 0xFFFF00, 0x808000, 0x008000, 0x008080, 0x00FF00, 0x800080, 0x000080, 0x0000FF, 0x00FFFF } : Color(key) of the text that will be rendered on the video. This must be an hexadecimal (like HTML colors). The first two chars are for red, then green, then blue. default value: 0xFFFFFF
- marq-size <integer [0 .. 4096]> : Font size, in pixels. 0 uses the default font size. default value: 0
Misc
- marq-timeout <integer> : Number of milliseconds the marquee must remain displayed. 0 means forever. default value: 0
- marq-refresh <integer> : Number of milliseconds between string updates. This is mainly useful when using meta data or time format string sequences. default value: 1000
Examples
Example command line use (VLC 2.0.0 and newer):
% vlc --sub-source="marq{marquee=test,color=0xFFFF00}" somevideo.avi
This example displays yellow test text in the top left corner of video
VLC 0.9.0 - 1.1.13
$ vlc --sub-filter 'marq{marquee=$t ($P%%),color=0xFFFF00}:marq{marquee=%H:%M:%S,position=6}' somevideo.avi
This command line will show the stream's title ($t
) and current position ($P
) in the upper left corner and the current time in the upper right corner. The single quotes '
enclose our $
characters to prevent them from being interpreted as Bash variables.
On Windows the command line would be:
> "%PROGRAMFILES%\VideoLAN\VLC\vlc.exe" --sub-filter=marq{marquee=$t ($P%%),color=0xFFFF00}:marq{marquee=%H:%m%s,position=6} somevideo.avi
VLC 0.8.6d and prior
% vlc --sub-filter=marq --marq-marquee="Obvious Watermark" --marq-position=0 --marq-size=50 --marq-opacity=25 --marq-color=0x008000 somevideo.avi
This command will show centered transparent green text. Text sized too large to fit the video window will not appear, and may crash VLC.
time
The time module has different command-lines than the marq module. This not-functional command snippet overlays a white 12-point time display in the lower left of an input stream or video:
time:
% vlc input_stream --sub-filter=time --time-format %Y-%m-%d,%H:%M:%S --time-position 9 --time-color 0xFFFFFF --time-size 12
marq equivalent:
% vlc input_stream '--sub-source=marq{marquee="%Y-%m-%d,%H:%M:%S",position=9,color=0xFFFFFF,size=12}'
marq equivalent (long form):
% vlc input_stream --sub-source=marq --marq-marquee="%Y-%m-%d,%H:%M:%S" --marq-position=9 --marq-color=0xFFFFFF --marq-size=12
additional marq example:
% vlc input_stream '--sub-source=marq{marquee="%c (Week %V)",color=0xFF0000,opacity=216,size=16,position=4,timeout=500,refresh=1000}'
This overlays a 25%-transparent flashing red 16-point locale-dependent time representation with week number at the top of the input stream or video.
Gallery
See also
Source code
- modules/spu/marq.c
- modules/video_filter/marq.c (vlc/vlc-0.8.git)
Appendix
Sample | Colour | Hex code |
---|---|---|
Black | 0x000000
| |
Gray | 0x808080
| |
Silver | 0xC0C0C0
| |
White | 0xFFFFFF
| |
Maroon | 0x800000
| |
Red | 0xFF0000
| |
Fuchsia | 0xFF00FF
| |
Yellow | 0xFFFF00
| |
Olive | 0x808000
| |
Green | 0x008000
| |
Teal | 0x008080
| |
Lime | 0x00FF00
| |
Purple | 0x800080
| |
Navy | 0x000080
| |
Blue | 0x0000FF
| |
Aqua | 0x00FFFF
|
Please read the Documentation Editing Guidelines before you edit the documentation