Difference between revisions of "GenReS"

From ElphelWiki
Jump to: navigation, search
(Dynamic variables (also it is possible to use they as the parameters of tags))
Line 8: Line 8:
 
;lowres: decimation for accelerated DCT (0-3);
 
;lowres: decimation for accelerated DCT (0-3);
 
;width: width of the object window;
 
;width: width of the object window;
;loop: the iteration of the playback (0 or nothing is infinitely);
+
;loop: the iteration of the playback (0 or nothing is infinite);
 
;fps: frame frequency;
 
;fps: frame frequency;
  
== Dynamic variables (also it is possible to use they as the parameters of tags) ==
+
== Dynamic variables (it is also possible to use them as the parameters of tags) ==
 
;href: url of the file or stream;
 
;href: url of the file or stream;
 
;src: as yet simply another name for href.
 
;src: as yet simply another name for href.
Line 19: Line 19:
 
;run=0: to terminate player;
 
;run=0: to terminate player;
 
;save: to run mencoder or ElphelOgm as recorder instead of mplayer;
 
;save: to run mencoder or ElphelOgm as recorder instead of mplayer;
:;save=ask: to always ask the name of file for recording;
+
:;save=ask: to always ask the file name for recording;
 
:;save=auto: not to ask if user sets it in dialog
 
:;save=auto: not to ask if user sets it in dialog
  
 
== Status variables ==
 
== Status variables ==
This the fact that outputs mplayer or mencoder.
+
This the output from mplayer or mencoder.
Now strings simply are splitted into two parts on the first of the symbols '=' or ':'.
+
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.
 
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 of mplayer/mencoder about last frame;
 
;frame: the message of mplayer/mencoder about last frame;
 
;error: last error message;
 
;error: last error message;
Others variables are possible but they are not used as yet.
+
Other variables are possible but they are not used as yet.
 
;run: special variable, the state of player process: 0 - not running, 1 - running;
 
;run: special variable, the state of player process: 0 - not running, 1 - running;
 
;pause, play: it is analogous - the pause state.
 
;pause, play: it is analogous - the pause state.
  
 
== Callback functions ==
 
== Callback functions ==
On the arrival of data from a player it is transferred to the variables of object and it become accessible from javascript.
+
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<variable_name>" will be called.  
 
In this case if it is assigned the function with the corresponding name "on<variable_name>" will be called.  
;onrun: be called on starting and stopping of playing or recording processes;
+
;onrun: will be called on starting and stopping of playing or recording processes;
 
;onerror: on error message;
 
;onerror: on error message;
 
;onframe: on each frame playing.
 
;onframe: on each frame playing.
;onmousedown and other standard callbacks: are given already by browser and do not need some code inside the plugin.
+
;onmousedown and other standard callbacks: are given already by the browser and do not need extra code inside the plugin.
  
 
== Back-end programs ==
 
== Back-end programs ==
Line 53: Line 53:
 
For unicast destination i.e. client ip:port must be specifed
 
For unicast destination i.e. client ip:port must be specifed
 
and a stream server must be programmed to continuosly send stream to this address and port.
 
and a stream server must be programmed to continuosly send stream to this address and port.
Dynamic change of the URL is not yet supported for RTP. Instead this use the sequence: <code>obj.run=0; obj.src=...; obj.run=1;</code>
+
Dynamic changing of the URL is not yet supported for RTP. Instead this use the sequence: <code>obj.run=0; obj.src=...; obj.run=1;</code>

Revision as of 09:43, 7 February 2006

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


Project Pages

Static tag parameters

lowres
decimation for accelerated DCT (0-3);
width
width of the object window;
loop
the iteration of the playback (0 or nothing is infinite);
fps
frame frequency;

Dynamic variables (it is also possible to use them 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;
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 of mplayer/mencoder about last frame;
error
last error message;

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<variable_name>" will be called.

onrun
will be called on starting and stopping of playing or recording processes;
onerror
on error message;
onframe
on each frame playing.
onmousedown and other standard callbacks
are given already by the browser and do not need extra code inside the plugin.

Back-end programs

Currently used:

  • mplayer (compiled with live555)
  • mencoder from mplayer package
  • ElphelOgm - for receiving pure multicast or unicast rtp with mjpeg video.

For ElphelOgm to be used, the mime-type must begin with video/m and the URL must be specifed as: rtp://ip:port/ , where:

ip -
the stream multicast ip
port -
the stream multicast port

For unicast destination i.e. client ip:port must be specifed and a stream server must be programmed to continuosly send stream to this address and port. Dynamic changing of the URL is not yet supported for RTP. Instead this use the sequence: obj.run=0; obj.src=...; obj.run=1;