GenReS

From ElphelWiki
Revision as of 20:13, 17 April 2007 by Ex1B3k (talk | contribs)
Jump to: navigation, search

in English | [[{{{de}}}|deutsch]] | [[{{{fr}}}|français]] | по-русски | автоперевод | 中文版 | 机械翻译


GenReS is a generic reconfigurable scriptable plugin for Mozilla based browsers. It allows to use external programs for EMBED and OBJECT HTML tags or to start them in browser full window.

Project Pages

Configuration

The plugin uses "~/.mozilla/genres/genres.conf" or "/etc/genres.conf" as main config file. Options for mplayer, mencoder and ElphelOgm are stored in the config file "~/.mozilla/genres/mplayer.conf", which is used by mplayer.pl control script. The files can contain shell-like comments.

options in genres.conf

mozillastreams={1|0} 
- use or not mozilla streams (and cache) for http, https and ftp;
debuglevel={1|0} 
- enable or disable the debug output;
background={-1|0|1} 
- object color while loadining: 0 - black, 1 - white, -1 - mozilla default (gray).

options in mplayer.conf

out_file_once=template 
- filename template filename;
out_file=template 
- filename template filename for tags with parameter save=auto;
out_file_jpegs=template 
- filename template for tags with thesaveformat=jpeg;
out_file_jpegs_auto=template 
- same for save=auto and saveformat=jpeg;
vo={x11,xv} 
- video output driver (see man mplayer about -vo option);
ao={arts,esd,alsa,oss} 
- audio output driver (see man mplayer about -ao option);
not_ask={1|0} 
- not show file save dialog for tags with save=auto parameter;
not_ask_jpegs={1|0} 
- same for saveformat=jpeg;
frames=number 
- frames per file limit for recording (output will be splitted).

Usage in Javascript

Static tag parameters

lowres
decimation for accelerated DCT (0-3);
width
width of the object window;
loop
number of iterations of the playback (0 or nothing is infinite);
fps
frame frequency;
frameskip 
skip n frames after one saved (only for rtp/mjpeg and ElphelOgm);
framedelay 
a number of fully received frames delayed in the buffer (only for rtp/mjpeg and ElphelOgm);
rotate 
the rotation angle of the image clockwise in degrees (0|90|180|240)
mirror 
mirror-symmetry mapping relative to vertical axis (true|false)
flip 
the same relative to horizontal (true|false); simultaneous setting of flip and mirror is equivalent to rotate=180
saveformat=jpeg|ogm|avi 
format for video recording (jpeg, ogm is only for rtp/mjpeg and ElphelOgm)

Dynamic variables (can also be used as the parameters of tags)

href
url of the file or stream;
src
as yet simply another name for href.
pause=1 or play=0
to pause player;
pause=0 or play=1
to continue playback;
filepos=sec 
go to time or percent specifed, maybe not works if mplayer is not support seeking for the current file;
framestep=anything 
show next frame and pause (for step-by-step view);
run=1
to start player again if it was terminated (by error or end of file);
run=0
to terminate player;
save
to run mencoder or ElphelOgm as recorder instead of mplayer;
save=ask
to always ask the file name for recording;
save=auto
not to ask if user sets it in dialog

Status variables

This the output from mplayer or mencoder. Now strings simply are split into two parts on the first of the symbols '=' or ':'. The left part becomes a name of the variable (gaps and nonlatin letters are removed) and the right part is a value.

frame
the message from mplayer/mencoder about the last frame;
error
last error message;
FATAL
fatal error message from mplayer;

Other variables are possible but they are not used as yet.

run
special variable, the state of player process: 0 - not running, 1 - running;
pause, play
it is analogous - the pause state.

Callback functions

On the arrival of data from a player it is transferred to the object variables and it becomes accessible from javascript. In this case if it is assigned the function with the corresponding name "on