Search and replace unicode a0c2 with 0020
This commit is contained in:
parent
b26de72704
commit
1e1cf249f7
|
@ -81,10 +81,10 @@
|
||||||
<!--
|
<!--
|
||||||
<div id="filelist">Your browser doesn't have Flash, Silverlight or HTML5 support.</div>
|
<div id="filelist">Your browser doesn't have Flash, Silverlight or HTML5 support.</div>
|
||||||
<br />
|
<br />
|
||||||
|
|
||||||
<div id="container">
|
<div id="container">
|
||||||
<a id="pickfiles" href="javascript:;">[Select files]</a>
|
<a id="pickfiles" href="javascript:;">[Select files]</a>
|
||||||
<a id="uploadfiles" href="javascript:;">[Upload files]</a>
|
<a id="uploadfiles" href="javascript:;">[Upload files]</a>
|
||||||
</div>
|
</div>
|
||||||
-->
|
-->
|
||||||
<div id="uploads_disk_usage">
|
<div id="uploads_disk_usage">
|
||||||
|
@ -112,8 +112,7 @@
|
||||||
</form>
|
</form>
|
||||||
</div>
|
</div>
|
||||||
<H2><?php echo _("Recent Uploads") ?></H2>
|
<H2><?php echo _("Recent Uploads") ?></H2>
|
||||||
<table id="recent_uploads_table" class="datatable lib-content ui-widget ui-widget-content block-shadow"
|
<table id="recent_uploads_table" class="datatable lib-content ui-widget ui-widget-content block-shadow" cellpadding="0" cellspacing="0"></table>
|
||||||
cellpadding="0" cellspacing="0"></table>
|
|
||||||
</div>
|
</div>
|
||||||
<div style="clear: both;"></div>
|
<div style="clear: both;"></div>
|
||||||
</div>
|
</div>
|
|
@ -28,7 +28,7 @@ the name of the show from the drop-down menu which will appear.
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
On the left side of the page, the **Start** and **End** times, **Duration**
|
On the left side of the page, the **Start** and **End** times, **Duration**
|
||||||
and **Title** of each content item are shown. On the right, **Creator**,
|
and **Title** of each content item are shown. On the right, **Creator**,
|
||||||
**Album**, **Cue** or **Fade** times and **Mime** type (file format) can also be
|
**Album**, **Cue** or **Fade** times and **Mime** type (file format) can also be
|
||||||
shown. This information can help you to prepare voice tracks for insertion into
|
shown. This information can help you to prepare voice tracks for insertion into
|
||||||
|
|
|
@ -193,6 +193,6 @@ rabbitmqctl add_vhost /airtime
|
||||||
rabbitmqctl add_user airtime XXXXXXXXXXXXXXXXXXXX
|
rabbitmqctl add_user airtime XXXXXXXXXXXXXXXXXXXX
|
||||||
rabbitmqctl set_permissions -p /airtime airtime
|
rabbitmqctl set_permissions -p /airtime airtime
|
||||||
"airtime-pypo|pypo-fetch|airtime-analyzer|media-monitor"
|
"airtime-pypo|pypo-fetch|airtime-analyzer|media-monitor"
|
||||||
"airtime-pypo|pypo-fetch|airtime-analyzer|media-monitor"
|
"airtime-pypo|pypo-fetch|airtime-analyzer|media-monitor"
|
||||||
"airtime-pypo|pypo-fetch|airtime-analyzer|media-monitor"
|
"airtime-pypo|pypo-fetch|airtime-analyzer|media-monitor"
|
||||||
```
|
```
|
||||||
|
|
|
@ -24,10 +24,10 @@ When sending metadata about your stream to an Icecast server in non-Latin alphab
|
||||||
|
|
||||||
The solution is to specify that the metadata for the MP3 mount point you are using should be interpreted using UTF-8 encoding. You can do this by adding the following stanza to the _/etc/icecast2/icecast.xml_ file, where _libretime.mp3_ is the name of your mount point:
|
The solution is to specify that the metadata for the MP3 mount point you are using should be interpreted using UTF-8 encoding. You can do this by adding the following stanza to the _/etc/icecast2/icecast.xml_ file, where _libretime.mp3_ is the name of your mount point:
|
||||||
|
|
||||||
<mount>
|
<mount>
|
||||||
<mount-name>/libretime.mp3</mount-name>
|
<mount-name>/libretime.mp3</mount-name>
|
||||||
<charset>UTF-8</charset>
|
<charset>UTF-8</charset>
|
||||||
</mount>
|
</mount>
|
||||||
|
|
||||||
After saving the _/etc/icecast2/icecast.xml_ file, you should restart the Icecast server:
|
After saving the _/etc/icecast2/icecast.xml_ file, you should restart the Icecast server:
|
||||||
|
|
||||||
|
@ -71,7 +71,7 @@ The example _<mount>_ section provided in the _icecast.xml_ file is commented ou
|
||||||
|
|
||||||
These mount point definitions mean that a client connecting to a URL such as *http://icecast.example.com:8000/stream.ogg* will first fall back to the _/live.ogg_ mount point if it is available. If not, the client will fall back in turn to the _/airtime_128_ mount point for LibreTime playout.
|
These mount point definitions mean that a client connecting to a URL such as *http://icecast.example.com:8000/stream.ogg* will first fall back to the _/live.ogg_ mount point if it is available. If not, the client will fall back in turn to the _/airtime_128_ mount point for LibreTime playout.
|
||||||
|
|
||||||
Setting the value of _<fallback-override>_ to 1 (enabled) means that when the _/live.ogg_ mount point becomes available again, the client will be re-connected to it. If you wish to hide the _/airtime_128_ and _/live.ogg_ mount points from the public Icecast web interface, set the value of _<hidden>_ in each of these definitions to 1.
|
Setting the value of _<fallback-override>_ to 1 (enabled) means that when the _/live.ogg_ mount point becomes available again, the client will be re-connected to it. If you wish to hide the _/airtime_128_ and _/live.ogg_ mount points from the public Icecast web interface, set the value of _<hidden>_ in each of these definitions to 1.
|
||||||
|
|
||||||
## Source configuration
|
## Source configuration
|
||||||
|
|
||||||
|
|
|
@ -4,7 +4,7 @@ layout: article
|
||||||
category: manager
|
category: manager
|
||||||
---
|
---
|
||||||
|
|
||||||
The Listener Stats page on the Analytics menu shows graphs of listener connections to the configured streaming servers for the selected date and time range. On the right side, a green **Status** indicator shows **OK** if the connection to the streaming server is active.
|
The Listener Stats page on the Analytics menu shows graphs of listener connections to the configured streaming servers for the selected date and time range. On the right side, a green **Status** indicator shows **OK** if the connection to the streaming server is active.
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
|
|
|
@ -32,7 +32,7 @@ The **History Templates** page on the History menu enables you to prepare report
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
Either of these actions opens a page in which you can name the new template, and add or remove elements from the list on the left. To add a new element from the list on the right, click the plus icon for the item you require. If the element you require is not listed, you can use the **Add New Field** box at the lower end of the right side column. Select _string_, _boolean_, *integer*, or _float_, depending on the type of data that you wish to log, and then click the **+ Add** button.
|
Either of these actions opens a page in which you can name the new template, and add or remove elements from the list on the left. To add a new element from the list on the right, click the plus icon for the item you require. If the element you require is not listed, you can use the **Add New Field** box at the lower end of the right side column. Select _string_, _boolean_, _integer_, or _float_, depending on the type of data that you wish to log, and then click the **+ Add** button.
|
||||||
|
|
||||||
When the template is in the format you require, click the **Save** button, and **Set Default Template** if you wish. The new template will now be listed on the History Templates page. If you have set a new default template, any changes will be visible on the tabs of the Playout History page.
|
When the template is in the format you require, click the **Save** button, and **Set Default Template** if you wish. The new template will now be listed on the History Templates page. If you have set a new default template, any changes will be visible on the tabs of the Playout History page.
|
||||||
|
|
||||||
|
|
|
@ -61,7 +61,7 @@ On file ingest, LibreTime analyzes each Ogg Vorbis, MP3, AAC or FLAC file's loud
|
||||||
|
|
||||||
Because of this automatic gain adjustment, any files with average loudness higher than -14 dBFS will not sound louder than quieter files at playout time, but the lower crest factor in the louder files (their relatively low peak-to-average ratio) may be apparent in the output, making those files sound less dynamic. This may be an issue for contemporary popular music, which can average at -9 dBFS or louder before ReplayGain adjustment. (See <http://www.soundonsound.com/sos/sep11/articles/loudness.htm> for a detailed analysis of the problem).
|
Because of this automatic gain adjustment, any files with average loudness higher than -14 dBFS will not sound louder than quieter files at playout time, but the lower crest factor in the louder files (their relatively low peak-to-average ratio) may be apparent in the output, making those files sound less dynamic. This may be an issue for contemporary popular music, which can average at -9 dBFS or louder before ReplayGain adjustment. (See <http://www.soundonsound.com/sos/sep11/articles/loudness.htm> for a detailed analysis of the problem).
|
||||||
|
|
||||||
Your station's producers should therefore aim for 14dB between peak and average loudness to maintain the crest factor of their prepared material (also known as _DR14_ on some dynamic range meters, such as the command-line DR14 T.meter available from <http://sourceforge.net/projects/dr14tmeter/>). If the producers are working to a different loudness standard, the ReplayGain modifier in LibreTime's Stream Settings page can be adjusted to suit their material.
|
Your station's producers should therefore aim for 14dB between peak and average loudness to maintain the crest factor of their prepared material (also known as _DR14_ on some dynamic range meters, such as the command-line DR14 T.meter available from <http://sourceforge.net/projects/dr14tmeter/>). If the producers are working to a different loudness standard, the ReplayGain modifier in LibreTime's Stream Settings page can be adjusted to suit their material.
|
||||||
|
|
||||||
Large transient peaks in otherwise quiet files should be avoided, to guard against the need for peak limiting when ReplayGain is applied to those quieter files.
|
Large transient peaks in otherwise quiet files should be avoided, to guard against the need for peak limiting when ReplayGain is applied to those quieter files.
|
||||||
|
|
||||||
|
@ -72,7 +72,7 @@ Here is an example of a very quiet file where the use of ReplayGain would make t
|
||||||
$ vorbisgain -d Peter_Lawson-Three_Gymn.ogg
|
$ vorbisgain -d Peter_Lawson-Three_Gymn.ogg
|
||||||
Analyzing files...
|
Analyzing files...
|
||||||
|
|
||||||
Gain | Peak | Scale | New Peak | Track
|
Gain | Peak | Scale | New Peak | Track
|
||||||
----------+------+-------+----------+------
|
----------+------+-------+----------+------
|
||||||
+17.39 dB | 4536 | 7.40 | 33585 | Peter_Lawson-Three_Gymn.ogg
|
+17.39 dB | 4536 | 7.40 | 33585 | Peter_Lawson-Three_Gymn.ogg
|
||||||
|
|
||||||
|
@ -81,9 +81,9 @@ And here is an example of a very loud file, with lower crest factor, where the o
|
||||||
$ vorbisgain -d Snoop_Dogg-Doggfather.ogg
|
$ vorbisgain -d Snoop_Dogg-Doggfather.ogg
|
||||||
Analyzing files...
|
Analyzing files...
|
||||||
|
|
||||||
Gain | Peak | Scale | New Peak | Track
|
Gain | Peak | Scale | New Peak | Track
|
||||||
----------+-------+-------+----------+------
|
----------+-------+-------+----------+------
|
||||||
-7.86 dB | 36592 | 0.40 | 14804 | Snoop_Dogg-Doggfather.ogg
|
-7.86 dB | 36592 | 0.40 | 14804 | Snoop_Dogg-Doggfather.ogg
|
||||||
|
|
||||||
In the output from vorbisgain, _Peak_ is the maximum sample value of the file before any ReplayGain has been applied, where a value of 32,767 represents full scale when decoding to signed 16 bit samples. Note that lossy compressed files can have peaks greater than full scale, due to encoding artifacts. The _New Peak_ value for the Snoop Dogg file may be relatively low due to the hard limiting used in the mastering of that piece of music.
|
In the output from vorbisgain, _Peak_ is the maximum sample value of the file before any ReplayGain has been applied, where a value of 32,767 represents full scale when decoding to signed 16 bit samples. Note that lossy compressed files can have peaks greater than full scale, due to encoding artifacts. The _New Peak_ value for the Snoop Dogg file may be relatively low due to the hard limiting used in the mastering of that piece of music.
|
||||||
|
|
||||||
|
|
|
@ -36,19 +36,19 @@ Enter the server names you require, press **Ctrl+O** to write out the _/etc/ntp.
|
||||||
|
|
||||||
The server should respond:
|
The server should respond:
|
||||||
|
|
||||||
* Stopping NTP server ntpd [ OK ]
|
* Stopping NTP server ntpd [ OK ]
|
||||||
* Starting NTP server ntpd [ OK ]
|
* Starting NTP server ntpd [ OK ]
|
||||||
|
|
||||||
Then use the **ntpq -p** command to confirm that **ntp** is working. This command should produce output similar to the following:
|
Then use the **ntpq -p** command to confirm that **ntp** is working. This command should produce output similar to the following:
|
||||||
|
|
||||||
ntpq -p
|
ntpq -p
|
||||||
remote refid st t when poll reach delay offset jitter
|
remote refid st t when poll reach delay offset jitter
|
||||||
==================================================================
|
==================================================================
|
||||||
europium. 193.79.237.14 2 u 28 64 3 39.571 12.600 3.590
|
europium. 193.79.237.14 2 u 28 64 3 39.571 12.600 3.590
|
||||||
norb.v4.c 46.227.200.72 3 u 28 64 3 47.856 -6.908 10.028
|
norb.v4.c 46.227.200.72 3 u 28 64 3 47.856 -6.908 10.028
|
||||||
82.113.15 193.62.22.82 2 u 29 64 3 11.458 -0.513 2.629
|
82.113.15 193.62.22.82 2 u 29 64 3 11.458 -0.513 2.629
|
||||||
ntppub.le 158.43.192.66 2 u 91 64 2 122.781 44.864 0.001
|
ntppub.le 158.43.192.66 2 u 91 64 2 122.781 44.864 0.001
|
||||||
dns0.rmpl 195.66.241.3 2 u 27 64 3 22.171 1.464 4.242
|
dns0.rmpl 195.66.241.3 2 u 27 64 3 22.171 1.464 4.242
|
||||||
|
|
||||||
### Adjusting the server time zone
|
### Adjusting the server time zone
|
||||||
|
|
||||||
|
|
|
@ -244,7 +244,7 @@ end
|
||||||
#cc-4633
|
#cc-4633
|
||||||
|
|
||||||
|
|
||||||
# NOTE
|
# NOTE
|
||||||
# A few values are hardcoded and may be dependent:
|
# A few values are hardcoded and may be dependent:
|
||||||
# - the delay in gracetime is linked with the buffer duration of input.http
|
# - the delay in gracetime is linked with the buffer duration of input.http
|
||||||
# (delay should be a bit less than buffer)
|
# (delay should be a bit less than buffer)
|
||||||
|
@ -288,7 +288,7 @@ def input.http_restart(~id,~initial_url="http://dummy/url")
|
||||||
# Dummy output should be useless if HTTP stream is meant
|
# Dummy output should be useless if HTTP stream is meant
|
||||||
# to be listened to immediately. Otherwise, apply it.
|
# to be listened to immediately. Otherwise, apply it.
|
||||||
#
|
#
|
||||||
# output.dummy(fallible=true,source)
|
# output.dummy(fallible=true,source)
|
||||||
|
|
||||||
source
|
source
|
||||||
|
|
||||||
|
@ -311,7 +311,7 @@ def cross_http(~debug=true,~http_input_id,source)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
# We use both metadata and status to know about the current URL.
|
# We use both metadata and status to know about the current URL.
|
||||||
# Using only metadata may be more precise is crazy corner cases,
|
# Using only metadata may be more precise is crazy corner cases,
|
||||||
# but it's also asking too much: the metadata may not pass through
|
# but it's also asking too much: the metadata may not pass through
|
||||||
# before the crosser is instantiated.
|
# before the crosser is instantiated.
|
||||||
|
@ -333,18 +333,18 @@ def cross_http(~debug=true,~http_input_id,source)
|
||||||
end
|
end
|
||||||
if !change then
|
if !change then
|
||||||
change := false
|
change := false
|
||||||
# In principle one should avoid crossing on a live stream
|
# In principle one should avoid crossing on a live stream
|
||||||
# it'd be okay to do it here (eg. use add instead of sequence)
|
# it'd be okay to do it here (eg. use add instead of sequence)
|
||||||
# because it's only once per URL, but be cautious.
|
# because it's only once per URL, but be cautious.
|
||||||
sequence([fade.out(duration=cross_d,a),fade.in(b)])
|
sequence([fade.out(duration=cross_d,a),fade.in(b)])
|
||||||
else
|
else
|
||||||
# This is done on tracks inside a single stream.
|
# This is done on tracks inside a single stream.
|
||||||
# Do NOT cross here or you'll gradually empty the buffer!
|
# Do NOT cross here or you'll gradually empty the buffer!
|
||||||
sequence([a,b])
|
sequence([a,b])
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
# Setting conservative=true would mess with the delayed switch below
|
# Setting conservative=true would mess with the delayed switch below
|
||||||
cross(duration=cross_d,conservative=false,crosser,source)
|
cross(duration=cross_d,conservative=false,crosser,source)
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|
|
@ -244,7 +244,7 @@ end
|
||||||
#cc-4633
|
#cc-4633
|
||||||
|
|
||||||
|
|
||||||
# NOTE
|
# NOTE
|
||||||
# A few values are hardcoded and may be dependent:
|
# A few values are hardcoded and may be dependent:
|
||||||
# - the delay in gracetime is linked with the buffer duration of input.http
|
# - the delay in gracetime is linked with the buffer duration of input.http
|
||||||
# (delay should be a bit less than buffer)
|
# (delay should be a bit less than buffer)
|
||||||
|
@ -288,7 +288,7 @@ def input.http_restart(~id,~initial_url="http://dummy/url")
|
||||||
# Dummy output should be useless if HTTP stream is meant
|
# Dummy output should be useless if HTTP stream is meant
|
||||||
# to be listened to immediately. Otherwise, apply it.
|
# to be listened to immediately. Otherwise, apply it.
|
||||||
#
|
#
|
||||||
# output.dummy(fallible=true,source)
|
# output.dummy(fallible=true,source)
|
||||||
|
|
||||||
source
|
source
|
||||||
|
|
||||||
|
@ -311,7 +311,7 @@ def cross_http(~debug=true,~http_input_id,source)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
# We use both metadata and status to know about the current URL.
|
# We use both metadata and status to know about the current URL.
|
||||||
# Using only metadata may be more precise is crazy corner cases,
|
# Using only metadata may be more precise is crazy corner cases,
|
||||||
# but it's also asking too much: the metadata may not pass through
|
# but it's also asking too much: the metadata may not pass through
|
||||||
# before the crosser is instantiated.
|
# before the crosser is instantiated.
|
||||||
|
@ -333,18 +333,18 @@ def cross_http(~debug=true,~http_input_id,source)
|
||||||
end
|
end
|
||||||
if !change then
|
if !change then
|
||||||
change := false
|
change := false
|
||||||
# In principle one should avoid crossing on a live stream
|
# In principle one should avoid crossing on a live stream
|
||||||
# it'd be okay to do it here (eg. use add instead of sequence)
|
# it'd be okay to do it here (eg. use add instead of sequence)
|
||||||
# because it's only once per URL, but be cautious.
|
# because it's only once per URL, but be cautious.
|
||||||
sequence([fade.out(duration=cross_d,a),fade.in(b)])
|
sequence([fade.out(duration=cross_d,a),fade.in(b)])
|
||||||
else
|
else
|
||||||
# This is done on tracks inside a single stream.
|
# This is done on tracks inside a single stream.
|
||||||
# Do NOT cross here or you'll gradually empty the buffer!
|
# Do NOT cross here or you'll gradually empty the buffer!
|
||||||
sequence([a,b])
|
sequence([a,b])
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
# Setting conservative=true would mess with the delayed switch below
|
# Setting conservative=true would mess with the delayed switch below
|
||||||
cross(duration=cross_d,conservative=false,crosser,source)
|
cross(duration=cross_d,conservative=false,crosser,source)
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|
|
@ -235,7 +235,7 @@ end
|
||||||
#cc-4633
|
#cc-4633
|
||||||
|
|
||||||
|
|
||||||
# NOTE
|
# NOTE
|
||||||
# A few values are hardcoded and may be dependent:
|
# A few values are hardcoded and may be dependent:
|
||||||
# - the delay in gracetime is linked with the buffer duration of input.http
|
# - the delay in gracetime is linked with the buffer duration of input.http
|
||||||
# (delay should be a bit less than buffer)
|
# (delay should be a bit less than buffer)
|
||||||
|
@ -279,7 +279,7 @@ def input.http_restart(~id,~initial_url="http://dummy/url")
|
||||||
# Dummy output should be useless if HTTP stream is meant
|
# Dummy output should be useless if HTTP stream is meant
|
||||||
# to be listened to immediately. Otherwise, apply it.
|
# to be listened to immediately. Otherwise, apply it.
|
||||||
#
|
#
|
||||||
# output.dummy(fallible=true,source)
|
# output.dummy(fallible=true,source)
|
||||||
|
|
||||||
source
|
source
|
||||||
|
|
||||||
|
@ -302,7 +302,7 @@ def cross_http(~debug=true,~http_input_id,source)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
# We use both metadata and status to know about the current URL.
|
# We use both metadata and status to know about the current URL.
|
||||||
# Using only metadata may be more precise is crazy corner cases,
|
# Using only metadata may be more precise is crazy corner cases,
|
||||||
# but it's also asking too much: the metadata may not pass through
|
# but it's also asking too much: the metadata may not pass through
|
||||||
# before the crosser is instantiated.
|
# before the crosser is instantiated.
|
||||||
|
@ -324,18 +324,18 @@ def cross_http(~debug=true,~http_input_id,source)
|
||||||
end
|
end
|
||||||
if !change then
|
if !change then
|
||||||
change := false
|
change := false
|
||||||
# In principle one should avoid crossing on a live stream
|
# In principle one should avoid crossing on a live stream
|
||||||
# it'd be okay to do it here (eg. use add instead of sequence)
|
# it'd be okay to do it here (eg. use add instead of sequence)
|
||||||
# because it's only once per URL, but be cautious.
|
# because it's only once per URL, but be cautious.
|
||||||
sequence([fade.out(duration=cross_d,sa),fade.in(sb)])
|
sequence([fade.out(duration=cross_d,sa),fade.in(sb)])
|
||||||
else
|
else
|
||||||
# This is done on tracks inside a single stream.
|
# This is done on tracks inside a single stream.
|
||||||
# Do NOT cross here or you'll gradually empty the buffer!
|
# Do NOT cross here or you'll gradually empty the buffer!
|
||||||
sequence([sa,sb])
|
sequence([sa,sb])
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
# Setting conservative=true would mess with the delayed switch below
|
# Setting conservative=true would mess with the delayed switch below
|
||||||
cross(duration=cross_d,conservative=false,crosser,source)
|
cross(duration=cross_d,conservative=false,crosser,source)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue