Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
mozplugger(7)	       Miscellaneous Information Manual		 mozplugger(7)

NAME
       mozplugger  -  a	 multimedia plugin for UNIX Web	browsers that supports
       the mozilla npapi

DESCRIPTION
       MozPlugger is a browser plugin which can	show many types	of  multimedia
       inside  your Browser. To	accomplish this, MozPlugger uses external pro-
       grams such as mplayer, xanim, mtv, timidity and tracker.

CONFIGURE FILE
       You can configure mozplugger  by	 changing  the	mozpluggerrc  file(s).
       These  can  be located in any of	the following directories depending on
       the browser:

       For mozilla (and	chromium) browsers

	    $MOZPLUGGER_HOME/
	    $XDG_CONFIG_HOME/mozplugger/
	    $HOME/.config/mozplugger/
	    $HOME/.mozplugger/
	    $HOME/.mozilla/
	    $MOZILLA_HOME/
	    /etc/
	    /usr/etc/
	    /usr/local/mozilla/

       For netscape browsers

	    $MOZPLUGGER_HOME/
	    $XDG_CONFIG_HOME/mozplugger/
	    $HOME/.config/mozplugger/
	    $HOME/.mozplugger/
	    $HOME/.netscape/
	    /etc/
	    /usr/etc/
	    /usr/local/netscape/

       For opera browsers

	    $MOZPLUGGER_HOME/
	    $XDG_CONFIG_HOME/mozplugger/
	    $HOME/.config/mozplugger/
	    $HOME/.mozplugger/
	    $HOME/.opera/
	    $OPERA_HOME/
	    /etc/
	    /usr/etc/

       The command mozplugger-update must be run after installation  and  each
       time  the  configuration	 file  changes	or new helper applications are
       added to	the system or old helper applications removed.

       mozplugger-update will use the first mozpluggerrc it finds  and	ignore
       any  others  for	 each  different  browser installed on the system. The
       search order is from top	of the list above,  but	 skipping  places  not
       applicable  to  the  particular browser that the	config is being	parsed
       for. mozplugger-update then caches processed results in	files  located
       at $XDG_CACHE_HOME/mozplugger/

       The  format of mozpluggerrc is very simple. The file is subdivided into
       sections. Each section starts with a plugin name	and version in	square
       brackets.  This	represents  a class of mozplugger plugin. The name and
       version will be displayed as a separate plugin when  viewing  installed
       plugins	in your	browser.  Some java script relies on the name and ver-
       sion of a plugin	matching some value, hence  the	 reason	 for  seperate
       sections	 in  mozpluggerrc.   Two brackets are required because m4 pro-
       cessing needs to	escape the brackets. e.g.

       [[multimedia player @ 10.1]]

       Within each section, the	general	layout is to have one  or  more	 lines
       describing mime types followed by one or	more lines describing commands
       used to handle those mime types.	Lines beginning	with # are  considered
       comments	and are	ignored. Here is a simple example:

	    video/mpeg:	mpeg: Mpeg video
	    video/quicktime: qt,mov: Mpeg video
		 : xanim +W$window -Zr +q +Ze +f $file

       Each line describing a mime type	has three fields:

       mime type : extensions :	description

       mime type
	      The  mime	type is	the standardized name for the content type you
	      want MozPlugger to handle. This must be the same type as the web
	      server claims the	file to	be, or MozPlugger will not be used for
	      that file, regardless of the extension. Note: Some  web  servers
	      incorrectly  report  the	wrong  mime type, blame	the web	server
	      adminstrator not mozplugger.

       extensions
	      This is a	comma separated	list  of  extensions  that  should  be
	      associated  with	this  particular mime type. The	extensions are
	      only used	when a web server does not report what type of file it
	      is, or when loading files	directly from disk.

       description
	      This  is	the  description that shows up in about:plugins	and in
	      the application preferences section in Mozilla.

       Lines that describe what	command	to use for a mime type must begin
	      with a whitespace	and have two fields:

	      flags : command

       flags  This is a	space separated	list of	flags associated with the com-
	      mand  and	tells mozplugger how to	handle this command. See below
	      for further details.

       command
	      This is a	command	which is sent to /bin/sh  when	handling  this
	      mime  type.  Mozplugger assumes the command line starts with the
	      name of an application followed by various arguments  passed  to
	      that application.

USING M4
       When  running,  mozplugger-update  it  will  pass the mozpluggerrc file
       through	m4,  a	general	 purpose  macro	 processor  (assuming  m4   is
       installed).  This provides the ablity to	use macros within mozpluggerrc
       especially for those  commonly  used  command  lines.  m4  brings  text
       replacement,  parameter	substitution, file inclusion, string manipula-
       tion, conditional evaluation, arthemtic expressions,  etc  to  mozplug-
       gerrc. Please see m4 documentation for more details.

FINDING	THE RIGHT COMMAND
       When  MozPlugger	 is  called  from  your	 browser, it looks through the
       cached processed	configuration files and	finds a	matching mime type.

       When a matching mimetype	is found, it tries to figure out which command
       to  use.	 Commands  that	 have the flags	loop, embed, noembed, link and
       fmatch will be rejected if they do not match what is expected from  the
       associated HTML code (see later for details).

       In addition for a command to be chosen the application has to be	avail-
       able. This will have been checked by mozplugger-update which will  have
       assumed the first word of the command is	the name of an application and
       search $PATH for	that application. If that  application	is  not	 found
       mozplugger-update  will	not  have  cached that in the processed	config
       files.  The output from mozplugger-update will indicate	when  applica-
       tions have not been found.

       Of  the	commands  that	remain,	Mozplugger looks for the first command
       that has	the stream flag	set. If	there is not such a command line, Moz-
       plugger	then downloads the file	and picks the first (of	the remaining)
       commands.

WORKING	WITH JAVA SCRIPT
       Mozplugger supports a JavaScript	interface that allows the state	of the
       embedded	 object	 (i.e. mozplugger) to be queried from JavaScript. Cur-
       rently mozplugger supports the following	properties.

       isPlaying
	      This property has	the value true if the  application  that  moz-
	      plugger  launched	 to  handle the	embedded object	is running and
	      false if either no application was launched or that  application
	      has now terminated.

WHEN IT	DOESNT WORK
       If  for	some  reason  the  embedded object fails to be rendered	in the
       browser,	this could be a	fault with the application as opposed to  Moz-
       Plugger.	 To  diagnosis	the  fault it is suggested that	first you make
       sure that any output from the application will be  visible  to  you  by
       removing	the noisy flag (if set in mozpluggerrc).

       Next  run  the browser from the shell (xterm or equivalent) passing the
       appropriate browser command line	flag to	enable output from stdout  and
       stderr to be displayed.

       For example, for	firefox	the command line string	is:

       firefox -debug

       This  should allow any output from the application to be	visible	at the
       shell and hopefully lead	to a diagnosis of the fault.

FLAGS
       autostart
	      This flag	indicates that the command uses	the  $autostart	 envi-
	      ronment variable.	That is	mozplugger will	run the	command	on the
	      assumption that the command/application will check the value  of
	      the $autostart environment variable. If this flag	is not present
	      and the HTML code	for the	embedded object	indicates autostart is
	      false,  mozplugger  will	not run	the command but	instead	draw a
	      single start button.

       repeat This flag	indicates that the command uses	the $repeats  environ-
	      ment  variable.  That  is	mozplugger will	run the	command	on the
	      assumption that the command/application will check the value  of
	      the  $repeats  environment  variable and perform the repeats. If
	      this flag	is not set, mozplugger will perform the	required  num-
	      ber of repeats as	indicated in the HTML code by calling the com-
	      mand $repeats times.

       loop   This indicates that the command loops forever. If	the HTML  code
	      for  the	embedded  object  indicates  don't loop/repeat forever
	      (e.g. the	loop attribute is not present or not set to true), the
	      command on this line will	not be used.

       stream This  indicates that this	command	can take an url. In this case,
	      the environment variable $file contains the URL of the  file  to
	      play  and	 the  browser does not download	it. It is assumed that
	      the command can handle the URL.  Note: if	a username  and	 pass-
	      word is required for this	URL, the command/application will have
	      to obtain	this as	it is not passed to it from the	browser.

       ignore_errors
	      This flag	tells MozPlugger to ignore the exit status of the com-
	      mand.   For  example  is mozplugger is repeating the command 'n'
	      times and	the command exits with an error,  normally  mozplugger
	      would  terminate	at  this  time.	With this flag set, mozplugger
	      continues	the repeats.

       noisy  This flag	tells MozPlugger to redirect the stdout	and stderr  of
	      the command to /dev/null.

       swallow (name)
	      This  flag  tells	mozplugger that	the command will open a	window
	      with the specified name and that Mozplugger will then move  this
	      window  inside  your browser.  If	name is	prefixed with '=' then
	      mozplugger looks for an exact match with the window name,	if the
	      prefix  is  '~'  then  mozplugger	 looks	for a case insensitive
	      match, if	prefixed with '*' then mozplugger looks	for  a	window
	      name that	starts with 'name' and is case insensitive. If none of
	      these prefixes then, mozplugger checks if	name  occurs  anywhere
	      in  the  window  name,  but  is  case sensitive. Note any	spaces
	      between the brackets are counted as part	of  the	 window	 name.
	      The  window name to use in mozpluggerrc can be obtained by using
	      the utility xprop(). Run the command in  question,  type	"xprop
	      WM_CLASS"	 at  a	shell prompt and then click on the application
	      window. In addition any occurance	of %f in the name is  replaced
	      with  the	 filename  being loaded	(without path),	%p is replaced
	      with the full filename including path. Some applications do  not
	      like  to	be swallowed and some window managers do not like win-
	      dows being managed by mozplugger,	so  avoid  using  this	option
	      where possible.

       fmatch (string)
	      This  flag defines a command that	will be	used only if the file-
	      name or url (i.e.	$file) contains	'string'. If 'string' is  pre-
	      fixed  with  '*'	then  mozplugger defines a match when the file
	      starts  with  'string'  (the  check  is  case  insensitive).  If
	      'string'	is  prefixed  with '%' then mozplugger defines a match
	      when the file ends with 'string' (the check is  case  insenstive
	      and   ignores   any  parameters  at  the	end  of	 a  url	 {i.e.
	      '?xxx=yyy'}). If none of these prefixes then mozplugger  defines
	      a	 match	when  the 'string' is found somewhere in the file (but
	      this time	match is case sensitive). Note any spaces between  the
	      brackets are counted as part of the 'string'.

       nokill This  flag  tells	MozPlugger to not try to kill the command when
	      leaving the page,	and to not start the command in	a  loop.  This
	      is normally used for applications	that are not swallowed and can
	      play multiple files, such	as xmms.

       exits  This flag	tells MozPlugger that the command will exits  straight
	      away and hence does not need to be killed	when leaving the page,
	      and to not start the command in a	loop. This  is	normally  used
	      for  applications	 that just display an image in the $window and
	      then exit.

       fill   This flag	tells MozPlugger to maximize a swallowed window.

       maxaspect
	      This flag	tells Mozplugger to maximize a swallowed window	 while
	      keeping the width/height ratio constant.

       controls
	      This  flag  tells	 MozPlugger  to	draw controls and is typically
	      used with	audio files to display a controller with  the  buttons
	      play,  pause  and	 stop.	Be aware if the	embedded object	has no
	      sub-window defined within	the browser's window (e.g. if the HTML
	      uses the tag hidden = true) then the controls will not appear.

       embed  This  flags  tells  Mozplugger  to  only use this	command	if the
	      associated HTML refers to	an embedded object  that  is  a	 small
	      part of a	HTML page.

       noembed
	      This  flags  tells  Mozplugger  to  only use this	command	if the
	      associated HTML refers to	a separate window that	only  contains
	      the object.

       links  This  flag  tells	 Mozplugger  to	display	as a button within the
	      browser and when pressed to run the command without embedding in
	      the browser. This	can be used when swallow does not work.

       needs_xembed
	      Some  applications  when	embedded requires the Xembed protocol,
	      other applications don't want the	Xembed protocol. Add or	remove
	      this flag	if you find that you cannot move keyboard focus	to the
	      embedded window. Currently it  appears  QT4  based  applications
	      require this flag.

ENVIRONMENT VARIABLES
       There are some envirnoment variables that control the behaviour of Moz-
       plugger.

       MOZPLUGGER_HOME
	      If MOZPLUGGER_HOME is defined, the  folder  $MOZPLUGGER_HOME  is
	      checked for the configuration file mozpluggerrc and is also used
	      for the base of storing the results of processing	mozpluggerrc

       MOZPLUGGER_TMP
	      If MOZPLUGGER_TMP	is defined,   then  any	 temporary  files  are
	      placed in	$MOZPLUGGER_TMP.

       TMPDIR If  MOZPLUGGER_TMP  is  not defined, but TMPDIR is defined, then
	      any temporary files are placed in	$TMPDIR/mozplugger-xxx/	 where
	      xxx = PID.

       PATH   mozplugger-update	uses PATH to look for executables

       MozPlugger gives	some variables to /bin/sh when running the command,
	      these variables are:

       $autostart
	      This  variable  contains 1 or 0. When set	to 1 it	indicates that
	      the command should start playing/showing the  associated	media.
	      By  default it is	0 if controls flag is present and 1 otherwise,
	      but it  is  overridden  if  the  associated  HTML	 contains  the
	      attribute	 autostart or autoplay.	 Command/applications that use
	      this environment variable	should also have  the  autostart  flag
	      set.

       $repeats
	      This variable contains how many times the	file should be played.
	      By default it is once, but it is overridden  if  the  associated
	      HTML  contains  the  attribute loop, numloop or playcount.  Com-
	      mand/applications	which use  this	 environment  variable	should
	      also have	the repeat flag	set.

       $window
	      This  is	the X window Mozilla has given the plugin. This	can be
	      used with	applications  such  as	MPlayer	 to  display  graphics
	      inside  the  mozilla window. Be aware if the embedded object has
	      no sub-window defined within the browser's window	(e.g.  if  the
	      HTML uses	the tag	hidden = true) then the	variable will have the
	      value zero (null).

       $hexwindow
	      Same as $window except the value is expressed as an  hexidecimal
	      string in	the form 0xNNNNNN where	NNNNNN is the hexadecimal dig-
	      its.

       $width This is the horizontal resolution	in pixels and  is  taken  from
	      the width	attribute in the HTML code.

       $height
	      This  is the vertical resolution in pixels and is	taken from the
	      height attribute in the HTML code.

       $file  This is the file to play.	 If the	command	has  the  stream  flag
	      set, this	variable contains the URL of the file to play. This is
	      taken from the associated	HTML code. The value is	 that  of  the
	      attribute	 src,  data,  href,  qtsrc,  filename, url or location
	      depending	on  which  is  present	and  whether  the  <EMBED>  or
	      <OBJECT>	tag  is	 used. If the stream is	not set, this variable
	      contains a local temporary file that the browser has created.

       $fragment
	      This is the part of the original URL that	appears	after the # if
	      it  exists.  Sometimes this contains additional information that
	      could be useful for the application e.g. starting	page number in
	      a	pdf document

       $mimetype
	      This variable contains the mime type of $file.

       $VAR_<parameter_name>
	      All  the	parameters  of	the  <EMBED> or	<OBJECT> tags are made
	      available	in mozpluggerrc	through	 environment  variables.   For
	      example  the  parameter  loop="1"	 in an <EMBED> tag defines the
	      variable VAR_loop=1.

BUGS
       You have	to run mozplugger-update after changing	the configuration,  or
       nothing will happen.

       Netscape	 3.x  will not play anything for <EMBED> tags for which	height
       or width	are zero. This too is a	Netscape bug.

       Occassionally you may notice some  zombie  mozplugger-helper  processes
       (defunct),  this	 is not	a bug, this is by design. The zombie processes
       occur when either the application  exits	 or  when  using  nokill  flag
       (without	 exiting the page with the embedded object). The zombie(s) are
       reaped when closing the web page	 containing  the  associated  embedded
       objects.

       If  using behind	a non-transparent HTTP proxy, it may be	found that the
       commands	using the stream flag do not work. This	is because  the	 proxy
       settings	are not	passed to the application in the command line. To work
       around this situation, don't use	the stream flag	OR edit	 the  mozplug-
       gerrc file and passed in	necessary proxy	setiings via the command line.

       It has been found that certain combinations of browser, embedded	appli-
       cations and window managers do not play nicely with the	swallow	 flag.
       If  this	happens	to you first try adding	or removing the	"needs_xembed"
       flag from the associated	command	in mozpluggerrc, if this fails	remove
       the swallow flag	and perhaps use	the links flag instead.

AUTHORS
       Fredrik Hubinette, author of plugger which mozplugger is	a fork of.
       Louis Bavoil
       Peter Leese

				  2014 Apr 09			 mozplugger(7)

NAME | DESCRIPTION | CONFIGURE FILE | USING M4 | FINDING THE RIGHT COMMAND | WORKING WITH JAVA SCRIPT | WHEN IT DOESNT WORK | FLAGS | ENVIRONMENT VARIABLES | BUGS | AUTHORS

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=mozplugger&manpath=FreeBSD+12.0-RELEASE+and+Ports>

home | help