'\" t .\" Title: rygel.conf .\" Author: Jens Georg .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 02/14/2023 .\" Manual: Rygel User Manual .\" Source: rygel .\" Language: English .\" .TH "RYGEL\&.CONF" "5" "02/14/2023" "rygel" "Rygel User Manual" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .\" http://bugs.debian.org/507673 .\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" ----------------------------------------------------------------- .\" * set default formatting .\" ----------------------------------------------------------------- .\" disable hyphenation .nh .\" disable justification (adjust text to left margin only) .ad l .\" ----------------------------------------------------------------- .\" * MAIN CONTENT STARTS HERE * .\" ----------------------------------------------------------------- .SH "NAME" rygel.conf \- Rygel configuration file .SH "SYNOPSIS" .HP \w'\fB$XDG_CONFIG_DIR/rygel\&.conf\fR\ 'u \fB$XDG_CONFIG_DIR/rygel\&.conf\fR .HP \w'\fB/etc/rygel\&.conf\fR\ 'u \fB/etc/rygel\&.conf\fR .SH "DESCRIPTION" .PP \fBrygel\fR reads its configuration values from the file $XDG_CONFIG_DIR/rygel\&.conf or a file given on command line with the \fB\-\-config\fR option\&. If that file does not exist it uses the file /etc/rygel\&.conf\&. .PP Most of the options may be overriden by commandline arguments or envronment variables\&. See \fBrygel\fR(1) for details on those\&. .SH "GENERAL DIRECTIVES" .PP Lists in the configuration files are separated by a semicolon (\fB;\fR)\&. Boolean values may be either \fBtrue\fR or \fBfalse\fR\&. .PP \fBipv6\fR .RS 4 Set to \fBfalse\fR to disable binding to IPv6 addresses .RE .PP \fBinterface=\fR\fB\fIINTERFACE\fR\fR .RS 4 Semicolon separated list separated of the network interfaces rygel should listen on\&. May be an IP, an interface name or on Linux even the ESSID of a wireless network\&. .RE .PP \fBport=\fR\fB\fIPORT\fR\fR .RS 4 Set the listen\-port\&. .RE .PP \fBenable\-transcoding\fR .RS 4 Set to \fBtrue\fR to enable transcoding in general\&. .RE .PP \fBlog\-level=\fR\fB\fIDOMAIN\fR\fR\fB:\fR\fB\fILEVEL\fR\fR\fB[,\fR\fB\fIDOMAIN\fR\fR\fB:\fR\fB\fILEVEL\fR\fR\fB,\&...]\fR .RS 4 Comma\-separated list of \fIDOMAIN\fR:\fILEVEL\fR pairs, allowing to set the log level individually for each domain, where \fIDOMAIN\fR is eiher \fB"*"\fR, "\fBrygel\fR" or the name of a plugin\&. Allowed log levels are 1=error, 2=critical, 3=warning, 4=message/info, 5=debug\&. Note that on recent versions of GLib (>= 2\&.36) it is required to set the environment variable \fBG_MESSAGES_DEBUG\fR to \fBall\fR to get any debug output\&. .RE .PP \fBplugin\-path=\fR\fB\fIPATH\fR\fR .RS 4 Set the plugin search path\&. .RE .PP \fBengine\-path=\fR\fB\fIPATH\fR\fR .RS 4 Set the engine search path\&. .RE .PP \fBmedia\-engine=\fR\fB\fIENGINE\fR\fR .RS 4 Name of the loadable module to use as media engine back\-end\&. .RE .PP \fBallow\-upload\fR .RS 4 Allow uploading of media files via UPnP\&. .RE .PP \fBallow\-deletion\fR .RS 4 Allow remote media file deletion via UPnP\&. .RE .PP \fBvideo\-upload\-folder\fR .RS 4 If \fBallow\-upload\fR is \fBtrue\fR, use this folder to store uploaded videos\&. It defaults to \fB@VIDEOS@\fR which expands to the default directory for video files (usually \fB$HOME\fR/Videos)\&. .RE .PP \fBmusic\-upload\-folder\fR .RS 4 If \fBallow\-upload\fR is \fBtrue\fR, use this folder to store uploaded music files\&. It defaults to \fB@MUSIC@\fR which expands to the default directory for music files (usually \fB$HOME\fR/Music)\&. .RE .PP \fBpicture\-upload\-folder\fR .RS 4 If \fBallow\-upload\fR is \fBtrue\fR, use this folder to store uploaded pictures\&. It defaults to \fB@PICTURES@\fR which expands to the default directory for picture files (usually \fB$HOME\fR/Pictures)\&. .RE .PP \fBforce\-downgrade\-for\fR .RS 4 Semicolon\-separated list of device user\-agents (or parts thereof) which need a forced downgrade to \fBMediaServer:1\fR and/or \fBContentDirectory:1\fR\&. .sp .if n \{\ .sp .\} .RS 4 .it 1 an-trap .nr an-no-space-flag 1 .nr an-break-flag 1 .br .ps +1 \fBWarning\fR .ps -1 .br Only use this parameter if you know what your\*(Aqre doing or are being told to do so; overriding the default value might cause incompatibilites\&. If you find that adding your device here enables its usage with Rygel, please \m[blue]\fBfile an IOP bug\fR\m[]\&\s-2\u[1]\d\s+2 so we can include it into the default configuration\&. .sp .5v .RE .RE .PP \fBacl\-fallback\-policy\fR .RS 4 This is the default policy that is used if no access control provider is found on the D\-Bus\&. Use \fBtrue\fR to allow access from every peer, \fBfalse\fR to deny all access\&. If it is not specified, the default fall\-back policy is \fBtrue\fR\&. .RE .SH "DATABASE SETTINGS" .PP The settings in the [Database]section are for the database support library\&. .PP .PP \fBdebug\fR .RS 4 Set to \fBtrue\fR to show the SQL statements used\&. .RE .SH "GSTREAMER MEDIA ENGINE SETTINGS" .PP The settings in the [GstMediaEngine] section are specific to the GStreamer media engine, which is the default media engine\&. See the media\-engine setting\&. These following options are available for the \m[blue]\fBGStreamer\fR\m[]\&\s-2\u[2]\d\s+2 media engine\&. .PP \fBtranscoders\fR .RS 4 A semicolon\-separated list of the active transcoders\&. This setting has no effect if \fBenable\-transcoding\fR is set to false\&. Possible values are: lpcm,mp3,mp2ts,aac,avc or wmv\&. Its default value is lpcm;mp3;mp2ts;aac;wmv\&. .RE .SH "PLUGIN\-SPECIFIC SETTINGS" .PP Sections for plugins are denoted with \fB[PluginName]\fR and can contain options specific to a plugin (see below) as well these common options: .PP \fBtitle\fR=\fITITLE\fR .RS 4 Title of the device implemented by this plugin\&. There are some variables which will be replaced by rygel\&. \fI@REALNAME@\fR will be subsituted by the user\*(Aqs real name, \fI@USERNAME@\fR by the user\*(Aqs login id and \fI@HOSTNAME@\fR by the name of the machine rygel runs on\&. .RE .PP \fBenabled\fR .RS 4 You can individually enable or disable plugins by setting this to \fBtrue\fR or \fBfalse\fR\&. .RE .PP \fBenergy\-management\fR .RS 4 Set to \fBtrue\fR to if you would like the UPnP device to contain a EnergyManagement service\&. Note that additional configuration is required, see EnergyManagement settings\&. .RE .PP \fBdiagnostics\fR .RS 4 Set to \fBtrue\fR if you would like the UPnP device to contain a BasicManagement:2 service that allows running tools like ping, nslookup and traceroute remotely\&. .RE .PP \fBserver\-name\fR .RS 4 A string that will be sent as the "Server:" header in a HTTP response\&. .RE .SH "ENERGYMANAGEMENT SETTINGS" .PP The settings in \fB[EnergyManagement\-IFACENAME]\fR sections specify the settings that relate to EnergyManagement services on this interface\&. Example: \fB[EnergyManagement\-eth0]\&.\fR .PP \fBmode\-on\-suspend\fR .RS 4 The NetworkInterfaceMode that should be used when suspended\&. Default is "Unimplemented", other valid values are "IP\-up\-Periodic\(rq, "IP\-down\-no\-Wake", "IP\-down\-with\-WakeOn", "IP\-down\-with\-WakeAuto", "IP\-down\-with\-WakeOnAuto"\&. .RE .PP \fBsupported\-transport\fR .RS 4 Optional WakeSupportedTransport that the service should advertize\&. Valid values are "UDP\-Broadcast", "UDP\-Unicast", "TCP\-Unicast", "Other"\&. .RE .PP \fBpassword\fR .RS 4 Optional hexadecimal password that will be used to build the WakeOnPattern\&. .RE .SH "TRACKER PLUGIN" .PP The tracker plugin uses the centralized database of meta information from the tracker project\&. See the \m[blue]\fBtracker project website\fR\m[]\&\s-2\u[3]\d\s+2 for more information about tracker\&. .PP \fBshare\-pictures\fR .RS 4 Enable or disable sharing of all pictures in the Tracker database\&. .RE .PP \fBshare\-videos\fR .RS 4 Enable or disable sharing of all videos in the Tracker database\&. .RE .PP \fBshare\-music\fR .RS 4 Enable or disable sharing of all music in the Tracker database\&. .RE .SH "MEDIAEXPORT PLUGIN" .PP The MediaExport plugin is an alternative to the tracker\-backed media export\&. It extracts meta\-data by itself and stores it in a \m[blue]\fBSQLite\fR\m[]\&\s-2\u[4]\d\s+2 database in $XDG_CACHE_DIR/rygel/media\-export\&.db on UNIX platforms\&. .if n \{\ .sp .\} .RS 4 .it 1 an-trap .nr an-no-space-flag 1 .nr an-break-flag 1 .br .ps +1 \fBNote\fR .ps -1 .br .PP If both plugins, Tracker as well as MediaExport are enabled, MediaExport will disable itself in favour of the Tracker plugin\&. .sp .5v .RE .PP There are several options supported by this plugin: .PP \fBuris\fR .RS 4 A list of URIS to expose via UPnP\&. May be files, folders or anything supported by GVFS\&. If left emtpy it defaults to export the user\*(Aqs music, video and picture folders as defined per XDG special user directories spec\&. These default folders can be referenced by \fB@MUSIC@\fR, \fB@PICTURES@\fR and \fB@VIDEOS@\fR\&. Locations can be entered as either fully escaped URIS or normal paths\&. .sp .if n \{\ .sp .\} .RS 4 .it 1 an-trap .nr an-no-space-flag 1 .nr an-break-flag 1 .br .ps +1 \fBNote\fR .ps -1 .br If you enter a normal path that contains whitespace there is no need to escape them with either a backslash or putting the string in quotes\&. .sp .5v .RE .sp .if n \{\ .sp .\} .RS 4 .it 1 an-trap .nr an-no-space-flag 1 .nr an-break-flag 1 .br .ps +1 \fBNote\fR .ps -1 .br It is strongly advised against using an exported folder as a target for downloads when \fBextract\-metadata\fR is enabled\&. Rygel will most likely ignore the files then because they will fail to extract\&. .sp .5v .RE .PP \fBExample\ \&1.\ \&Possible values for uris\fR .sp \fBuris=@MUSIC@;/home/user/My Pictures;file:///home/user/My%20Videos\fR .RE .PP \fBextract\-metadata\fR .RS 4 Set to \fBfalse\fR if you do not care about duration or any other meta\-data like artist\&. This speeds up the initial crawl of the media a lot\&. Use it to quickly share some files via UPnP\&. Make sure to define an \fBinclude\-filter\fR, otherwise you will end up with a lot of files exposed which the client cannot display anyway\&. .RE .PP \fBmonitor\-changes\fR .RS 4 Set to \fBfalse\fR if you don\*(Aqt want to have new files picked up automatically by rygel\&. .RE .PP \fBmonitor\-grace\-timeout\fR .RS 4 Time in seconds to wait after a new file has been detected before trying to extract meta\-data from it\&. Useful if you\*(Aqre downloading to a directory watched by rygel\&. Default is 5 seconds\&. .RE .PP \fBvirtual\-folders\fR .RS 4 Set to \fBfalse\fR if you don\*(Aqt need the virtual folder hierarchy\&. .RE .SH "PLAYBIN PLUGIN" .PP The Playbin plugin implements a media renderer (Digtal Media Renderer, DMR in DLNA terms)\&. This plugin was known as GstRenderer\&. .PP It is highly recommended to leave the sink choice to playbin\&. If, however, the default choices don\*(Aqt work for you they can be reconfigured as follows .PP \fBaudio\-sink\fR .RS 4 Definition of the audio sink to use\&. Can be a single element or a partial pipeline definition in gst\-launch\*(Aqs syntax .RE .PP \fBvideo\-sink\fR .RS 4 Definition of the video sink to use\&. Can be a single element or a partial pipeline definition in gst\-launch\*(Aqs syntax .RE .SH "LIGHTMEDIASCANNER PLUGIN" .PP The LightMediaScanner plugin exports the contents of the \m[blue]\fBlightmediascanner daemon\fR\m[]\&\s-2\u[5]\d\s+2 .PP This plugin does not have any special options\&. .SH "GSTLAUNCH PLUGIN" .PP The GstLaunch plugin allows to expose GStreamer pipelines using the same syntax as the gst\-launch utilty\&. You can configure several items in this plugins\&. .PP \fBlaunch\-items\fR .RS 4 A list of of identifiers for the pipelines to be exposed\&. .RE .PP \fBidentifier\-title\fR .RS 4 Title of the device represented by this pipeline\&. Identifier is the identifier as set in launch\-items .RE .PP \fBidentifier\-mime\fR .RS 4 Mime\-type of the pipeline\&. .RE .PP \fBidentifier\-launch\fR .RS 4 Definition of the pipeline in gst\-launch syntax\&. For some examples on writing pipelines see \fBgst-launch\fR(1)\&. .RE .PP \fBidentifier\-dlnaprofile\fR .RS 4 DLNA profile for the stream\&. .RE .PP An example configuration is available in the distributed configuration file /etc/rygel\&.conf\&. .SH "EXTERNAL" .PP The External plugin is an consumer of the \m[blue]\fBMediaServer2 DBus interface specification\fR\m[]\&\s-2\u[6]\d\s+2\&. This allows external programs to share their data via UPnP by implementing this DBus specification\&. The plugin picks up any implementation of this interface on the session bus and exposes the presented media via UPnP\&. Known implementors of this spec are \m[blue]\fBgnome\-dvb\-daemon\fR\m[]\&\s-2\u[7]\d\s+2, \m[blue]\fBRhythmbox\fR\m[]\&\s-2\u[8]\d\s+2 and \m[blue]\fBGrilo\fR\m[]\&\s-2\u[9]\d\s+2 via the grilo\-ms2 project\&. .PP You can disable the whole functionality by setting \fBenabled=false\fR in the \fB[External]\fR section of the configuration file\&. .PP Individual peers may be enabled or disabled by creating sections corresponding to the D\-Bus names of the peer: .sp .if n \{\ .RS 4 .\} .nf [org\&.gnome\&.UPnP\&.MediaServer2\&.Rhythmbox] enabled=false .fi .if n \{\ .RE .\} .PP This plugin has no additional options\&. .SH "MPRIS" .PP The MPRIS plugin is a consumer of the \m[blue]\fBMPRIS2 DBus interface specification\fR\m[]\&\s-2\u[10]\d\s+2\&. The implementation conforms to version 2\&.0 of the standard\&. .PP rygel exposes media players that implement the provider side of this DBus specification as DLNA Digital Media Renderers (DMR) similar to the Playbin plugin\&. This means that you can easily turn your media player into a DMR by implementing this DBus specification\&. .PP Players that implement this spec and are known to work with rygel are \m[blue]\fBBanshee\fR\m[]\&\s-2\u[11]\d\s+2, \m[blue]\fBRhythmbox\fR\m[]\&\s-2\u[8]\d\s+2 and \m[blue]\fBGNOME Videos (previously known as Totem)\fR\m[]\&\s-2\u[12]\d\s+2 .PP You can disable the whole functionality by setting \fBenabled=false\fR in the \fB[MRPIS]\fR section of the configuration file\&. .PP The configuration of this plugin is special\&. Plugin configuration is not done on the plugin but rather per peer that is found providing the MPRIS2 interface\&. See the following example to set the title for Banshee on MPRIS: .PP .if n \{\ .RS 4 .\} .nf [org\&.mpris\&.MediaPlayer2\&.banshee] title=@REALNAME@\*(Aqs Banshee on @HOSTNAME@ .fi .if n \{\ .RE .\} .PP This plugin has no additional options\&. .SH "SEE ALSO" .PP \fBrygel\fR(1), \fBgst-launch\fR(1) .SH "AUTHOR" .PP \fBJens Georg\fR <\&mail@jensge\&.org\&> .RS 4 Wrote this manpage\&. .RE .SH "NOTES" .IP " 1." 4 file an IOP bug .RS 4 \%https://gitlab.gnome.org/GNOME/rygel/issues/new/?issuable_template=IOP .RE .IP " 2." 4 GStreamer .RS 4 \%http://gstreamer.freedesktop.org .RE .IP " 3." 4 tracker project website .RS 4 \%https://wiki.gnome.org/Projects/Tracker .RE .IP " 4." 4 SQLite .RS 4 \%http://sqlite.org .RE .IP " 5." 4 lightmediascanner daemon .RS 4 \%https://github.com/profusion/lightmediascanner .RE .IP " 6." 4 MediaServer2 DBus interface specification .RS 4 \%https://wiki.gnome.org/Projects/Rygel/MediaServer2Spec .RE .IP " 7." 4 gnome-dvb-daemon .RS 4 \%https://wiki.gnome.org/Projects/DVBDaemon .RE .IP " 8." 4 Rhythmbox .RS 4 \%http://www.rhythmbox.org .RE .IP " 9." 4 Grilo .RS 4 \%https://wiki.gnome.org/Projects/Grilo .RE .IP "10." 4 MPRIS2 DBus interface specification .RS 4 \%https://specifications.freedesktop.org/mpris-spec/latest/ .RE .IP "11." 4 Banshee .RS 4 \%http://banshee.fm .RE .IP "12." 4 GNOME Videos (previously known as Totem) .RS 4 \%https://wiki.gnome.org/Apps/Videos .RE