Sample command line for those who want to test: time ./vlc fake: --fake-file ~/images/NATURE-Fakarava_400x300.jpg --fake-fps 5 -I dummy --control rc -V x11 --video-filter seamcarving@s
You can change the croping by using commands like:
@s crop 200 (a crop value of 0 resets it to the default mode)
image before sending it to the mosaic.
- Add option ("chroma") to force the image chroma
- Remove alpha mask code
* mosaic.c: - Remove bluescreen code
- Misc cosmetics changes
* bluescreen.c: New bluescreen filter (mostly cut & paste from mosaic.c)
* alphamask.c: New alpha mask filter (mostly cut & paste from mosaic_bridge.c)
* invert.c: don't invert the alpha plane for YUVA images (We also need to
prevent that for RGBA images ... but that's not really used
currently)
* configure.ac, video_filter/Modules.am: add alphamask and bluescreen
+ temporarily re-enable vout-filter until video-filter is updated
I include this so that it can get some testing and debugging, but it has some issues:
* Several coding style / indentation problems that make the code quite hard to read
* Use of config_Get/config_Put instead of vars
* In my tests, it crashes as soon as bz-length is not == 0, which basically makes the attenuation effect inoperant
Should work fine (ie. better than --enable-shared-libvlc) on Linux,
should work on Mac OS X (except for packaging), while shared libvlc doesn't.
Won't work on Win32 with the current Win32 contrib. Stick to static libvlc or
use --enable-shared-libvlc for now.
To stream use a commandline similar to this:
./vlc dvdsimple:///dev/dvd --sub-filter=osdmenu --osdmenu-file=share/osdmenu/default.cfg --extraintf rc --sout '#transcode{sfilter=osdmenu}:std{mux=ts,access=udp,url=127.0.0.1:1234}' -vvvv
For local playback a commandline like this is needed:
./vlc dvdsimple:///dev/dvd --sub-filter=osdmenu --osdmenu-file=share/osdmenu/default.cfg -vvvv
Have fun with the basic functionality - jpsaman.
* picture.c picture.h : vout that copies the rendered image in a libvlc
object.
* mosaic.c : sub filter that takes all the images created by the picture
module and blends them over the current video
I think i still have loads of things to fix (like memleaks)
Simple vlm configuration file to see this work :
<<<<
new chan1 broadcast enabled
setup chan1 input somevideo1.avi
setup chan1 option vout=picture
new chan2 broadcast enabled
setup chan2 input somevideo2.avi
setup chan2 option vout=picture
new bg broadcast enabled
setup bg input somevideo0.avi
setup bg option sub-filter=mosaic
control bg play
control chan1 play
control chan2 play
>>>>
You just have to launch : ./vlc -I telnet --vlm-conf vlm.conf
This filter uses a description file which follows this format :
x1,y1,x2,y2,level,downspeed,upspeed,mrl
...
where x1,y1,x2,y2 describe a sensible rectangle, level is the minimum difference for an active pixel, downspeed an upspeed are to integers.
mrl is a mrl to go when the filter has detected movement in the rectangle.
This is fun with vlm. For example, you should try to launch vlc normaly with vlm and then type :
new camera broadcast
setup camera enabled
setup camera input mrl to your camera
setup camera option filter=motiondetect,transform
#setup camera option transform-type=vflip
#indeed, I did not reach to make this working
control camera play
Have fun ;)
include/video_output.h: added some members needed by text renderer modules
src/video_output/video_output.c: load and unload text renderer module when needed
src/video_output/video_text.c: implemented some functions to show text on the video
include/osd.h: exported the functions to show text
modules/misc/Modules.am, module/misc/freetype.c: new text renderer module, largly based on the old osdtext module.
modules/video_filter/Modules.am, modules/video_filter/osd_text.c: removed the osdtext module
configure.ac: changes "osdtext" to "freetype" some places
modules/codec/spudec/*: when iconv is available, use it to convert textual subtitles from the encoding given by --sub-encoding to utf8. Use new code to render subtitles
modules/control/lirc/lirc.c: use new code to give feedback on buttons pressed. untested.
modules/demux/util/sub.c: remove all traces of the ugly old osdtext module
modules/misc/dummy/*: added a "text renderer" submodule in the dummy module
src/misc/modules.c: included osd.h as it seems to be needed to export symbols
final notes: you need to give a proper value to --freetype-font. This should be the path to a font file freetype2 can handle (almost any format afaik) with a unicode translation table in it. Windows ttf files will do. In linux at least openoffice distributes some fonts that work. I think macosx and beos also has useable fonts.
+ New build system, using recursive makefiles. Due to the amount of code
in VLC, this had become unavoidable.
+ Removed the check for OS X's stack size, since our automake targets are
a lot less hungry now.
+ Ditto for Solaris's sed.
+ Since automake-1.6 is faster than 1.7, use it first if both are present.
* m4/vlc.m4:
+ New AX_ADD_CPPFLAGS, AX_ADD_CFLAGS, AX_ADD_CXXFLAGS, AX_ADD_OBJCFLAGS
and AX_ADD_LDFLAGS macros that do all the magic to detect possible
modules and register their flags.
+ New AX_ADD_BUILTINS and AX_ADD_PLUGINS macros.
+ Some magic to generate vlc-config.
* configure.ac:
+ Moved most code to the AX_ADD_* macros.
+ Explicitely added all target Makefiles.
* modules/**/Modules.am:
+ Path to sources are now relative to Modules.am's directory level.