[vlc-devel] dynamic text overlay on video stream

JB general at itpsg.com
Fri Jun 19 06:08:01 CEST 2015


Hello again, props to all the devs that have put so much functionality 
in this application.

I couldn't find anything about marq-file in the marquee documentation 
here: https://wiki.videolan.org/Documentation:Modules/marq/
Is that the right place?  I tried just using --marq-file=/tmp/data.txt 
but that did not work.

Here is the command I'm using to get a stream of the desktop and trying 
to get marquee working:
cvlc -vvv screen:// :screen-fps=30 :screen-caching=100 
--sub-source="marq{marquee=test,color=16776960}" --sout 
'#transcode{vcodec=h264,vb=2000,acodec=mpga,ab=192,scale=1,width=1280,height=720}:rtp{dst=192.168.50.60,port=1234,sdp=rtsp://192.168.50.60:9800/desktop.sdp}'

The width/height parameters don't seem to be doing anything either. I've 
attached the output of -vvv as well.  I can find no mention in the 
output of marquee or the parameters I'm passing to it.

Any assistance on why that might not be working would be appreciated.  
This is what I'm trying to do in roughly the same order that I'm trying 
to do it:

- Get a video stream of the desktop at 60fps
- Resize said stream from 4k UHD down to 720p resolution
- Compress stream with H.264
- Overlay text at 60fps onto stream
- Write encoded stream to generically playable file format such mkv, 
mp4, avi, etc...
- while simultaneously delivering stream over the network as well 
(#duplicate?) to a vlc player using mosaic layout to view 4 desktops 
from 4 different systems that will all be doing the above.

The network is pure gigabit LAN.



On 6/17/2015 19:05, JB wrote:
> Interesting. I had found a few people using marq with static text, but 
> hadn't found anyone successfully using it with dynamic text and was 
> having difficulty finding the documentation on it.  What you are 
> suggesting does look very close to something I might be looking for.  
> However, I would need to update the file about 60 times per second and 
> even though it's an SSD drive, I'm thinking a small ram disk might be 
> more suitable.  I will give that a shot and see if I can get that 
> working.  Sorry if my post was a bit premature.
>
>
> On 6/17/2015 11:16, Rémi Denis-Courmont wrote:
>>     Hello,
>>
>> Le mercredi 17 juin 2015, 02:42:57 JB a écrit :
>>>       I'm interested in hiring a VLC developer to help develop a 
>>> feature
>>> in VLC that would allow a text stream read from a file to be the 
>>> content
>>> of the overlay.  This file could be a literal file, or a unix domain
>>> socket, or any other unix file.
>> Isn't that what --marq-file already does?
>>
>
> _______________________________________________
> vlc-devel mailing list
> To unsubscribe or modify your subscription options:
> https://mailman.videolan.org/listinfo/vlc-devel

-------------- next part --------------
[0x1e5e118] main libvlc debug: VLC media player - 2.1.6 Rincewind
[0x1e5e118] main libvlc debug: Copyright © 1996-2015 the VideoLAN team
[0x1e5e118] main libvlc debug: revision 2.1.6-0-gea01d28
[0x1e5e118] main libvlc debug: configured with ./configure  '--build=x86_64-redhat-linux-gnu' '--host=x86_64-redhat-linux-gnu' '--program-prefix=' '--prefix=/usr' '--exec-prefix=/usr' '--bindir=/usr/bin' '--sbindir=/usr/sbin' '--sysconfdir=/etc' '--datadir=/usr/share' '--includedir=/usr/include' '--libdir=/usr/lib64' '--libexecdir=/usr/libexec' '--localstatedir=/var' '--sharedstatedir=/var/lib' '--mandir=/usr/share/man' '--infodir=/usr/share/info' '--disable-dependency-tracking' '--disable-silent-rules' '--with-pic' '--disable-rpath' '--with-binary-version=2.1.6' '--with-kde-solid=/usr/share/kde4/apps/solid/actions' '--enable-lua' '--enable-live555' '--enable-opencv' '--enable-sftp' '--enable-omxil' '--enable-faad' '--enable-twolame' '--enable-realrtsp' '--enable-flac' '--enable-tremor' '--enable-speex' '--enable-theora' '--enable-dirac' '--enable-libass' '--enable-shout' '--enable-xcb' '--enable-xvideo' '--enable-svg' '--enable-aa' '--enable-caca' '--enable-jack' '--enable-pulse' '--enable-ncurses' '--enable-lirc' 'build_alias=x86_64-redhat-linux-gnu' 'host_alias=x86_64-redhat-linux-gnu' 'CFLAGS=-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches  -m64 -mtune=generic' 'LDFLAGS=-Wl,-z,relro ' 'CXXFLAGS=-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches  -m64 -mtune=generic' 'PKG_CONFIG_PATH=:/usr/lib64/pkgconfig:/usr/share/pkgconfig'
[0x1e5e118] main libvlc debug: searching plug-in modules
[0x1e5e118] main libvlc debug: loading plugins cache file /usr/lib64/vlc/plugins/plugins.dat
[0x1e5e118] main libvlc debug: recursively browsing `/usr/lib64/vlc/plugins'
[0x1e5e118] main libvlc debug: saving plugins cache /usr/lib64/vlc/plugins/plugins.dat
[0x1e5e118] main libvlc debug: plug-ins loaded: 430 modules
[0x1e5e118] main libvlc debug: opening config file (/home/sim/.config/vlc/vlcrc)
[0x1e5e118] main libvlc debug: translation test: code is "C"
[0x1e5e118] main libvlc debug: CPU has capabilities MMX MMXEXT SSE SSE2 SSE3 SSSE3 SSE4.1 SSE4.2 AVX AVX FPU 
[0x1f44608] main input debug: Creating an input for 'Media Library'
[0x1f44608] main input debug: Input is a meta file: disabling unneeded options
[0x1f44608] main input debug: using timeshift granularity of 50 MiB, in path '/tmp'
[0x1f44608] main input debug: `file/xspf-open:///home/sim/.local/share/vlc/ml.xspf' gives access `file' demux `xspf-open' path `/home/sim/.local/share/vlc/ml.xspf'
[0x1f44608] main input debug: creating demux: access='file' demux='xspf-open' location='/home/sim/.local/share/vlc/ml.xspf' file='/home/sim/.local/share/vlc/ml.xspf'
[0x1f2d2b8] main demux debug: looking for access_demux module matching "file": 20 candidates
[0x1f2d2b8] main demux debug: no access_demux modules matched
[0x1f44608] main input debug: creating access 'file' location='/home/sim/.local/share/vlc/ml.xspf', path='/home/sim/.local/share/vlc/ml.xspf'
[0x1f324d8] main access debug: looking for access module matching "file": 24 candidates
[0x1f324d8] filesystem access debug: opening file `/home/sim/.local/share/vlc/ml.xspf'
[0x1f324d8] main access debug: using access module "filesystem"
[0x1f33258] main stream debug: Using stream method for AStream*
[0x1f33258] main stream debug: starting pre-buffering
[0x1f33258] main stream debug: received first data after 0 ms
[0x1f33258] main stream debug: pre-buffering done 296 bytes in 0s - 36132 KiB/s
[0x1f334b8] main stream debug: looking for stream_filter module matching "any": 9 candidates
[0x1f334b8] main stream debug: no stream_filter modules matched
[0x1f334b8] main stream debug: looking for stream_filter module matching "record": 9 candidates
[0x1f334b8] main stream debug: using stream_filter module "record"
[0x1f44608] main input debug: creating demux: access='file' demux='xspf-open' location='/home/sim/.local/share/vlc/ml.xspf' file='/home/sim/.local/share/vlc/ml.xspf'
[0x1f46ed8] main demux debug: looking for demux module matching "xspf-open": 63 candidates
[0x1f46ed8] playlist demux debug: using XSPF playlist reader
[0x1f46ed8] main demux debug: using demux module "playlist"
[0x1f47858] main demux meta debug: looking for meta reader module matching "any": 2 candidates
[0x1f47858] lua demux meta debug: Trying Lua scripts in /home/sim/.local/share/vlc/lua/meta/reader
[0x1f47858] lua demux meta debug: Trying Lua scripts in /usr/lib64/vlc/lua/meta/reader
[0x1f47858] lua demux meta debug: Trying Lua playlist script /usr/lib64/vlc/lua/meta/reader/filename.luac
[0x1f47858] lua demux meta debug: Trying Lua scripts in /usr/share/vlc/lua/meta/reader
[0x1f47858] main demux meta debug: no meta reader modules matched
[0x1f44608] main input debug: `file/xspf-open:///home/sim/.local/share/vlc/ml.xspf' successfully opened
[0x1f58898] main xml reader debug: looking for xml reader module matching "any": 1 candidates
[0x1f58898] main xml reader debug: using xml reader module "xml"
[0x1f46ed8] playlist demux debug: parsed 0 tracks successfully
[0x1f44608] main input debug: EOF reached
[0x1f46ed8] main demux debug: removing module "playlist"
[0x1f334b8] main stream debug: removing module "record"
[0x1f324d8] main access debug: removing module "filesystem"
[0x1f42db8] main playlist debug: creating audio output
[0x1f33258] main audio output debug: looking for audio output module matching "any": 5 candidates
[0x1f33258] pulse audio output debug: using library version 5.0.0
[0x1f33258] pulse audio output debug:  (compiled with version 5.0.0, protocol 29)
[0x1f33258] pulse audio output error: PulseAudio server connection failure: Connection refused
[0x1f33258] alsa audio output debug: Available ALSA PCM devices:
[0x1f33258] alsa audio output debug: Discard all samples (playback) or generate zero samples (capture) (null)
[0x1f33258] alsa audio output debug: HDA Intel PCH, ALC887-VD Analog Default Audio Device (default:CARD=PCH)
[0x1f33258] alsa audio output debug: HDA Intel PCH, ALC887-VD Analog Default Audio Device (sysdefault:CARD=PCH)
[0x1f33258] alsa audio output debug: HDA Intel PCH, ALC887-VD Analog Front speakers (front:CARD=PCH,DEV=0)
[0x1f33258] alsa audio output debug: HDA Intel PCH, ALC887-VD Analog 4.0 Surround output to Front and Rear speakers (surround40:CARD=PCH,DEV=0)
[0x1f33258] alsa audio output debug: HDA Intel PCH, ALC887-VD Analog 4.1 Surround output to Front, Rear and Subwoofer speakers (surround41:CARD=PCH,DEV=0)
[0x1f33258] alsa audio output debug: HDA Intel PCH, ALC887-VD Analog 5.0 Surround output to Front, Center and Rear speakers (surround50:CARD=PCH,DEV=0)
[0x1f33258] alsa audio output debug: HDA Intel PCH, ALC887-VD Analog 5.1 Surround output to Front, Center, Rear and Subwoofer speakers (surround51:CARD=PCH,DEV=0)
[0x1f33258] alsa audio output debug: HDA Intel PCH, ALC887-VD Analog 7.1 Surround output to Front, Center, Side, Rear and Woofer speakers (surround71:CARD=PCH,DEV=0)
[0x1f33258] main audio output debug: using audio output module "alsa"
[0x1f42db8] main playlist debug: keeping audio output
[0x1f42db8] main playlist debug: adding item `screen://' ( screen:// )
[0x1f42db8] main playlist debug: no fetch required for (null) (art currently (null))
[0x1f58678] main interface debug: looking for interface module matching "hotkeys,none": 18 candidates
[0x1f58678] main interface debug: using interface module "hotkeys"
[0x1f58a08] main interface debug: looking for interface module matching "globalhotkeys,none": 18 candidates
[0x1f58a08] main interface debug: using interface module "globalhotkeys"
[0x1f68c18] main interface debug: looking for interface module matching "dbus,none": 18 candidates
[0x1f68c18] dbus interface error: Failed to connect to the D-Bus session daemon: /bin/dbus-launch terminated abnormally without any error message
[0x1f68c18] main interface debug: no interface modules matched
[0x1f68c18] main interface error: no suitable interface module
[0x1e5e118] main libvlc error: interface "dbus,none" initialization failed
[0x1f68c18] main interface debug: looking for interface module matching "dummy": 18 candidates
[0x1f68c18] dummy interface: using the dummy interface module...
[0x1f68c18] main interface debug: using interface module "dummy"
[0x1f42db8] main playlist debug: processing request item: null, node: Playlist, skip: 0
[0x1f42db8] main playlist debug: rebuilding array of current - root Playlist
[0x1f42db8] main playlist debug: rebuild done - 1 items, index -1
[0x1f42db8] main playlist debug: starting playback of the new playlist item
[0x1f42db8] main playlist debug: resyncing on screen://
[0x1f42db8] main playlist debug: screen:// is at 0
[0x1f42db8] main playlist debug: creating new input thread
[0x7fc474000ad8] main input debug: Creating an input for 'screen://'
[0x7fc46c000c78] main stream output debug: using sout chain=`transcode{vcodec=h264,vb=2000,acodec=mpga,ab=192,scale=1,width=1280,height=720}:rtp{dst=192.168.50.60,port=1234,sdp=rtsp://192.168.50.60:9800/simcomp.sdp}'
[0x7fc46c000c78] main stream output debug: stream=`rtp'
[0x7fc46c0013d8] main stream out debug: looking for sout stream module matching "rtp": 21 candidates
[0x7fc46c0013d8] main stream out debug: set config option: sout-rtp-dst to 192.168.50.60
[0x7fc46c0013d8] main stream out debug: set config option: sout-rtp-port to 1234
[0x7fc46c0013d8] main stream out debug: set config option: sout-rtp-sdp to rtsp://192.168.50.60:9800/simcomp.sdp
[0x7fc46c0013d8] stream_out_rtp stream out warning: "192.168.50.60" RTSP host might be ignored in multiple-host configurations, use at your own risks.
[0x7fc46c0013d8] stream_out_rtp stream out: Consider passing --rtsp-host=IP on the command line instead.
[0x7fc46c0013d8] stream_out_rtp stream out debug: RTSP stream at /simcomp.sdp
[0x7fc46c0013d8] main stream out debug: net: listening to 192.168.50.60 port 9800
[0x7fc46c0013d8] main stream out debug: using sout stream module "stream_out_rtp"
[0x7fc46c000c78] main stream output debug: stream=`transcode'
[0x7fc46c0049b8] main stream out debug: looking for sout stream module matching "transcode": 21 candidates
[0x7fc46c0049b8] main stream out debug: set config option: sout-transcode-vcodec to h264
[0x7fc46c0049b8] main stream out debug: set config option: sout-transcode-vb to 2000
[0x7fc46c0049b8] main stream out debug: set config option: sout-transcode-acodec to mpga
[0x7fc46c0049b8] main stream out debug: set config option: sout-transcode-ab to 192
[0x7fc46c0049b8] main stream out debug: set config option: sout-transcode-scale to 1
[0x7fc46c0049b8] main stream out debug: set config option: sout-transcode-width to 1280
[0x7fc46c0049b8] main stream out debug: set config option: sout-transcode-height to 720
[0x7fc46c0049b8] stream_out_transcode stream out debug: codec audio=mpga 0Hz 0 channels 192Kb/s
[0x7fc46c0049b8] stream_out_transcode stream out debug: codec video=h264 1280x720 scaling: 1.000000 2000kb/s
[0x7fc46c0049b8] main stream out debug: using sout stream module "stream_out_transcode"
[0x7fc474000ad8] main input debug: using timeshift granularity of 50 MiB, in path '/tmp'
[0x7fc474000ad8] main input debug: `screen://' gives access `screen' demux `' path `'
[0x7fc474000ad8] main input debug: creating demux: access='screen' demux='' location='' file='(null)'
[0x7fc46c0062a8] main demux debug: looking for access_demux module matching "screen": 20 candidates
[0x7fc46c0062a8] main demux debug: using access_demux module "xcb_screen"
[0x7fc474000ad8] main input debug: starting in async mode
[0x7fc46c008738] main demux meta debug: looking for meta reader module matching "any": 2 candidates
[0x7fc46c008738] lua demux meta debug: Trying Lua scripts in /home/sim/.local/share/vlc/lua/meta/reader
[0x7fc46c008738] lua demux meta debug: Trying Lua scripts in /usr/lib64/vlc/lua/meta/reader
[0x7fc46c008738] lua demux meta debug: Trying Lua playlist script /usr/lib64/vlc/lua/meta/reader/filename.luac
[0x7fc474000ad8] main input debug: selecting program id=0
[0x7fc470000ed8] main decoder debug: looking for packetizer module matching "any": 21 candidates
[0x7fc46c008738] lua demux meta debug: Trying Lua scripts in /usr/share/vlc/lua/meta/reader
[0x7fc46c008738] main demux meta debug: no meta reader modules matched
[0x7fc470000ed8] main decoder debug: using packetizer module "rawvideo"
[0x7fc474000ad8] main input debug: `screen://' successfully opened
[0x7fc474000ad8] main input debug: Buffering 0%
[0x7fc474000ad8] main input debug: switching to sync mode
[0x7fc46c000c78] main stream output debug: adding a new sout input (sout_input:0x7fc4640008c0)
[0x7fc46c0049b8] stream_out_transcode stream out debug: creating video transcoding from fcc=`RV32' to fcc=`h264'
[0x7fc4640009c8] main generic debug: looking for decoder module matching "any": 41 candidates
[0x7fc4640009c8] main generic debug: using decoder module "rawvideo"
[0x7fc464000e18] main encoder debug: looking for encoder module matching "any": 17 candidates
[0x7fc464000e18] x264 encoder debug: version x264 0.138.X
[0x7fc464000e18] x264 encoder: using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX AVX2 FMA3 LZCNT BMI2

[0x7fc464000e18] x264 encoder: profile High, level 3.1

[0x7fc464000e18] main encoder debug: using encoder module "x264"
[0x7fc464000e18] main encoder debug: removing module "x264"
[0x7fc464000e18] x264 encoder debug: framecount still in libx264 buffer: 0
[0x7fc464000e18] x264 encoder: final ratefactor: 22.36

[0x7fc474000ad8] main input debug: Buffering 11%
[0x7fc474000ad8] main input debug: Buffering 22%
[0x7fc474000ad8] main input debug: Buffering 33%
[0x7fc474000ad8] main input debug: Buffering 44%
[0x7fc474000ad8] main input debug: Buffering 55%
[0x7fc474000ad8] main input debug: Buffering 66%
[0x7fc474000ad8] main input debug: Buffering 78%
[0x7fc474000ad8] main input debug: Buffering 89%
[0x7fc474000ad8] main input debug: Stream buffering done (300 ms in 300 ms)
[0x7fc474000ad8] main input debug: Decoder buffering done in 0 ms
[0x7fc46c0049b8] stream_out_transcode stream out debug: decoder aspect is 1.250000:1
[0x7fc46c0049b8] stream_out_transcode stream out debug: source pixel aspect is 1.000000:1
[0x7fc46c0049b8] stream_out_transcode stream out debug: scaled pixel aspect is 0.703125:1
[0x7fc46c0049b8] stream_out_transcode stream out debug: source 1280x1024, destination 1280x720
[0x7fc46c0049b8] stream_out_transcode stream out debug: encoder aspect is 57600:46080
[0x7fc46409e248] main filter debug: looking for video filter2 module matching "any": 56 candidates
[0x7fc46409e248] swscale filter debug: 1280x1024 chroma: RV32 -> 1280x720 chroma: I420 with scaling using Bicubic (good quality)
[0x7fc46409e248] main filter debug: using video filter2 module "swscale"
[0x7fc46c0049b8] main stream out debug: Filter 'Swscale' (0x7fc46409e248) appended to chain
[0x7fc46c0049b8] stream_out_transcode stream out debug: destination (after video filters) 1280x720
[0x7fc464000e18] main encoder debug: looking for encoder module matching "any": 17 candidates
[0x7fc464000e18] x264 encoder debug: version x264 0.138.X
[0x7fc464000e18] x264 encoder: using SAR=45/64

[0x7fc464000e18] x264 encoder: using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX AVX2 FMA3 LZCNT BMI2

[0x7fc464000e18] x264 encoder: profile High, level 3.1

[0x7fc464000e18] main encoder debug: using encoder module "x264"
[0x7fc46c0013d8] stream_out_rtp stream out debug: maximum RTP packet size: 1400 bytes
[0x7fc46c0013d8] stream_out_rtp stream out debug: we found a startcode for NAL with TYPE:7
[0x7fc46c0013d8] stream_out_rtp stream out debug: we found a startcode for NAL with TYPE:8
[0x7fc46c0013d8] main stream out debug: net: connecting to [192.168.50.60]:1234
[0x7fc46c0013d8] main stream out debug: net: connecting to [192.168.50.60]:1235 from [192.168.50.60]:53980
[0x7fc46c0013d8] stream_out_rtp stream out debug: RTSP: adding /simcomp.sdp/trackID=0
[0x7fc46c0013d8] stream_out_rtp stream out debug: sdp=
v=0
o=- 15649353650252922645 15649353650252922645 IN IP4 localhost.localdomain
s=Unnamed
i=N/A
c=IN IP4 192.168.50.60
t=0 0
a=tool:vlc 2.1.6
a=recvonly
a=type:broadcast
a=charset:UTF-8
m=video 1234 RTP/AVP 96
b=AS:2000
b=RR:0
a=rtpmap:96 H264/90000
a=fmtp:96 packetization-mode=1;profile-level-id=64001f;sprop-parameter-sets=Z2QAH6zZQFAFu/8ALQBAEAAAAwAQAAADA8jxgxlg,aOvssiw=;



More information about the vlc-devel mailing list