Browse Source

v1.2. Сохранение файлов в директории за текущую дату

master
Maxim Lihachev 9 years ago
parent
commit
a1a93efa3f
  1. 2
      doc/masterindex.html
  2. 2
      doc/robo_files.html
  3. 2
      doc/robo_functions.html
  4. 2
      doc/robo_sourcefiles.html
  5. 2
      doc/robo_variables.html
  6. 56
      doc/streamproxy.html
  7. 73
      doc/streamsaver.html
  8. 2
      doc/tobo_toplevel.html
  9. 2
      doc/toc_index.html
  10. 2
      settings/archive.xml
  11. 28
      streamsaver

2
doc/masterindex.html

@ -45,7 +45,7 @@ @@ -45,7 +45,7 @@
<h2><a href="#A">A</a> - <a href="#B">B</a> - <a href="#C">C</a> - <a href="#D">D</a> - <a href="#E">E</a> - <a href="#F">F</a> - <a href="#G">G</a> - <a href="#H">H</a> - <a href="#I">I</a> - <a href="#J">J</a> - <a href="#K">K</a> - <a href="#L">L</a> - <a href="#M">M</a> - <a href="#N">N</a> - <a href="#O">O</a> - <a href="#P">P</a> - <a href="#Q">Q</a> - <a href="#R">R</a> - <a href="#S">S</a> - <a href="#T">T</a> - <a href="#U">U</a> - <a href="#V">V</a> - <a href="#W">W</a> - <a href="#X">X</a> - <a href="#Y">Y</a> - <a href="#Z">Z</a> - <a href="#0">0</a> - <a href="#1">1</a> - <a href="#2">2</a> - <a href="#3">3</a> - <a href="#4">4</a> - <a href="#5">5</a> - <a href="#6">6</a> - <a href="#7">7</a> - <a href="#8">8</a> - <a href="#9">9</a></h2>
</div> <!-- content -->
<div id="footer">
<p>Generated from ./ with <a href="http://www.xs4all.nl/~rfsber/Robo/robodoc.html">ROBODoc</a> V4.99.41 on Fri Aug 12 2016 17:07:07
<p>Generated from ./ with <a href="http://www.xs4all.nl/~rfsber/Robo/robodoc.html">ROBODoc</a> V4.99.41 on Wed Aug 24 2016 11:50:31
</p>
</div> <!-- footer -->
</body>

2
doc/robo_files.html

@ -33,7 +33,7 @@ @@ -33,7 +33,7 @@
<h2><a href="#A">A</a> - <a href="#B">B</a> - <a href="#C">C</a> - <a href="#D">D</a> - <a href="#E">E</a> - <a href="#F">F</a> - <a href="#G">G</a> - <a href="#H">H</a> - <a href="#I">I</a> - <a href="#J">J</a> - <a href="#K">K</a> - <a href="#L">L</a> - <a href="#M">M</a> - <a href="#N">N</a> - <a href="#O">O</a> - <a href="#P">P</a> - <a href="#Q">Q</a> - <a href="#R">R</a> - <a href="#S">S</a> - <a href="#T">T</a> - <a href="#U">U</a> - <a href="#V">V</a> - <a href="#W">W</a> - <a href="#X">X</a> - <a href="#Y">Y</a> - <a href="#Z">Z</a> - <a href="#0">0</a> - <a href="#1">1</a> - <a href="#2">2</a> - <a href="#3">3</a> - <a href="#4">4</a> - <a href="#5">5</a> - <a href="#6">6</a> - <a href="#7">7</a> - <a href="#8">8</a> - <a href="#9">9</a></h2>
</div> <!-- content -->
<div id="footer">
<p>Generated from ./ with <a href="http://www.xs4all.nl/~rfsber/Robo/robodoc.html">ROBODoc</a> V4.99.41 on Fri Aug 12 2016 17:07:07
<p>Generated from ./ with <a href="http://www.xs4all.nl/~rfsber/Robo/robodoc.html">ROBODoc</a> V4.99.41 on Wed Aug 24 2016 11:50:31
</p>
</div> <!-- footer -->
</body>

2
doc/robo_functions.html

@ -37,7 +37,7 @@ @@ -37,7 +37,7 @@
<h2><a href="#A">A</a> - <a href="#B">B</a> - <a href="#C">C</a> - <a href="#D">D</a> - <a href="#E">E</a> - <a href="#F">F</a> - <a href="#G">G</a> - <a href="#H">H</a> - <a href="#I">I</a> - <a href="#J">J</a> - <a href="#K">K</a> - <a href="#L">L</a> - <a href="#M">M</a> - <a href="#N">N</a> - <a href="#O">O</a> - <a href="#P">P</a> - <a href="#Q">Q</a> - <a href="#R">R</a> - <a href="#S">S</a> - <a href="#T">T</a> - <a href="#U">U</a> - <a href="#V">V</a> - <a href="#W">W</a> - <a href="#X">X</a> - <a href="#Y">Y</a> - <a href="#Z">Z</a> - <a href="#0">0</a> - <a href="#1">1</a> - <a href="#2">2</a> - <a href="#3">3</a> - <a href="#4">4</a> - <a href="#5">5</a> - <a href="#6">6</a> - <a href="#7">7</a> - <a href="#8">8</a> - <a href="#9">9</a></h2>
</div> <!-- content -->
<div id="footer">
<p>Generated from ./ with <a href="http://www.xs4all.nl/~rfsber/Robo/robodoc.html">ROBODoc</a> V4.99.41 on Fri Aug 12 2016 17:07:07
<p>Generated from ./ with <a href="http://www.xs4all.nl/~rfsber/Robo/robodoc.html">ROBODoc</a> V4.99.41 on Wed Aug 24 2016 11:50:31
</p>
</div> <!-- footer -->
</body>

2
doc/robo_sourcefiles.html

@ -48,7 +48,7 @@ streamsaver</tt></a></li> @@ -48,7 +48,7 @@ streamsaver</tt></a></li>
</ul>
</div> <!-- content -->
<div id="footer">
<p>Generated from ./ with <a href="http://www.xs4all.nl/~rfsber/Robo/robodoc.html">ROBODoc</a> V4.99.41 on Fri Aug 12 2016 17:07:07
<p>Generated from ./ with <a href="http://www.xs4all.nl/~rfsber/Robo/robodoc.html">ROBODoc</a> V4.99.41 on Wed Aug 24 2016 11:50:31
</p>
</div> <!-- footer -->
</body>

2
doc/robo_variables.html

@ -33,7 +33,7 @@ @@ -33,7 +33,7 @@
<h2><a href="#A">A</a> - <a href="#B">B</a> - <a href="#C">C</a> - <a href="#D">D</a> - <a href="#E">E</a> - <a href="#F">F</a> - <a href="#G">G</a> - <a href="#H">H</a> - <a href="#I">I</a> - <a href="#J">J</a> - <a href="#K">K</a> - <a href="#L">L</a> - <a href="#M">M</a> - <a href="#N">N</a> - <a href="#O">O</a> - <a href="#P">P</a> - <a href="#Q">Q</a> - <a href="#R">R</a> - <a href="#S">S</a> - <a href="#T">T</a> - <a href="#U">U</a> - <a href="#V">V</a> - <a href="#W">W</a> - <a href="#X">X</a> - <a href="#Y">Y</a> - <a href="#Z">Z</a> - <a href="#0">0</a> - <a href="#1">1</a> - <a href="#2">2</a> - <a href="#3">3</a> - <a href="#4">4</a> - <a href="#5">5</a> - <a href="#6">6</a> - <a href="#7">7</a> - <a href="#8">8</a> - <a href="#9">9</a></h2>
</div> <!-- content -->
<div id="footer">
<p>Generated from ./ with <a href="http://www.xs4all.nl/~rfsber/Robo/robodoc.html">ROBODoc</a> V4.99.41 on Fri Aug 12 2016 17:07:07
<p>Generated from ./ with <a href="http://www.xs4all.nl/~rfsber/Robo/robodoc.html">ROBODoc</a> V4.99.41 on Wed Aug 24 2016 11:50:31
</p>
</div> <!-- footer -->
</body>

56
doc/streamproxy.html

@ -106,16 +106,20 @@ @@ -106,16 +106,20 @@
<span class="line_number">102 </span> ICECAST<span class="sign">=</span><span class="quote">"$(<a href="#robo9">readXML</a> icecast $XML)/$(<a href="#robo9">readXML</a> mountpoint $XML)"</span>
<span class="line_number">103 </span> ICENAME<span class="sign">=</span><span class="quote">"$(<a href="#robo9">readXML</a> channel_name $XML)"</span>
<span class="line_number">104 </span> ICEDESC<span class="sign">=</span><span class="quote">"$(<a href="#robo9">readXML</a> channel_descr $XML)"</span>
<span class="line_number">105 </span> FORMAT<span class="sign">=</span><span class="quote">"$(<a href="#robo9">readXML</a> input_format $XML)"</span>
<span class="line_number">106 </span>
<span class="line_number">107 </span> <span class="keyword">echo</span> <span class="keyword">ffmpeg</span> <span class="sign">-</span>i <span class="quote">"$STREAM"</span> <span class="sign">\</span>
<span class="line_number">108 </span> <span class="sign">-</span><span class="keyword">fi</span> <span class="quote">"$FORMAT"</span> <span class="sign">\</span>
<span class="line_number">109 </span> <span class="sign">-</span>legacy_icecast 1 <span class="sign">\</span>
<span class="line_number">110 </span> <span class="sign">-</span>content_type audio<span class="sign">/</span>mpeg <span class="sign">\</span>
<span class="line_number">111 </span> <span class="sign">-</span>ice_name <span class="quote">"$ICENAME"</span> <span class="sign">\</span>
<span class="line_number">112 </span> <span class="sign">-</span>ice_description <span class="quote">"$ICEDESC"</span> <span class="sign">\</span>
<span class="line_number">113 </span> icecast<span class="sign">:</span><span class="sign">/</span><span class="sign">/</span>source<span class="sign">:</span><span class="sign">$</span>ICECAST
<span class="line_number">114 </span><span class="keyword">}</span>
<span class="line_number">105 </span> ICEPASS<span class="sign">=</span><span class="quote">"$(<a href="#robo9">readXML</a> password $XML)"</span>
<span class="line_number">106 </span> FORMAT_IN<span class="sign">=</span><span class="quote">"$(<a href="#robo9">readXML</a> input_format $XML)"</span>
<span class="line_number">107 </span> FORMAT_OUT<span class="sign">=</span><span class="quote">"$(<a href="#robo9">readXML</a> output_format $XML)"</span>
<span class="line_number">108 </span>
<span class="line_number">109 </span> <span class="keyword">echo</span> <span class="keyword">ffmpeg</span> <span class="sign">\</span>
<span class="line_number">110 </span> <span class="sign">-</span><span class="keyword">fi</span> <span class="quote">"$FORMAT_IN"</span> <span class="sign">\</span>
<span class="line_number">111 </span> <span class="sign">-</span>i <span class="quote">"$STREAM"</span> <span class="sign">\</span>
<span class="line_number">112 </span> <span class="sign">-</span><span class="keyword">fi</span> <span class="quote">"$FORMAT_OUT"</span> <span class="sign">\</span>
<span class="line_number">113 </span> <span class="sign">-</span>legacy_icecast 1 <span class="sign">\</span>
<span class="line_number">114 </span> <span class="sign">-</span>content_type audio<span class="sign">/</span>mpeg <span class="sign">\</span>
<span class="line_number">115 </span> <span class="sign">-</span>ice_name <span class="quote">"$ICENAME"</span> <span class="sign">\</span>
<span class="line_number">116 </span> <span class="sign">-</span>ice_description <span class="quote">"$ICEDESC"</span> <span class="sign">\</span>
<span class="line_number">117 </span> icecast<span class="sign">:</span><span class="sign">/</span><span class="sign">/</span>source<span class="sign">:</span><span class="sign">$</span>ICEPASS<span class="sign">@</span><span class="sign">$</span>ICECAST
<span class="line_number">118 </span><span class="keyword">}</span>
</pre>
<hr />
@ -127,26 +131,26 @@ @@ -127,26 +131,26 @@
<pre> <a href="#robo8">streamproxy</a>
</pre>
<p class="item_name">SOURCE</p>
<pre class="source"><span class="line_number">125 </span><span class="comment">#Проверка аргументов</span>
<span class="line_number">126 </span><span class="keyword">if</span> <span class="sign">[</span> <span class="sign">-</span>z <span class="sign">$</span>1 <span class="sign">]</span><span class="sign">;</span> <span class="keyword">then</span>
<span class="line_number">127 </span> <span class="keyword">echo</span> <span class="quote">"USAGE: $0 &lt;xml&gt;"</span>
<span class="line_number">128 </span> <span class="keyword">exit</span> 1
<span class="line_number">129 </span><span class="keyword">fi</span>
<span class="line_number">130 </span>
<span class="line_number">131 </span><span class="comment">#Файл настроек</span>
<span class="line_number">132 </span>XML<span class="sign">=</span><span class="quote">"$1"</span>
<span class="line_number">133 </span>
<span class="line_number">134 </span><span class="comment">#Проверка использования прокси</span>
<span class="line_number">135 </span>PROXY<span class="sign">=</span><span class="sign">$</span><span class="sign">(</span><a href="#robo9">readXML</a> proxy <span class="quote">"$XML"</span><span class="sign">)</span>
<span class="line_number">136 </span>
<span class="line_number">137 </span><span class="keyword">if</span> <span class="sign">[</span> <span class="quote">"$PROXY"</span> <span class="sign">=</span><span class="sign">=</span> 1 <span class="sign">]</span><span class="sign">;</span> <span class="keyword">then</span>
<span class="line_number">138 </span> <a href="#robo10">proxyCMD</a>
<span class="line_number">139 </span><span class="keyword">fi</span>
<pre class="source"><span class="line_number">129 </span><span class="comment">#Проверка аргументов</span>
<span class="line_number">130 </span><span class="keyword">if</span> <span class="sign">[</span> <span class="sign">-</span>z <span class="sign">$</span>1 <span class="sign">]</span><span class="sign">;</span> <span class="keyword">then</span>
<span class="line_number">131 </span> <span class="keyword">echo</span> <span class="quote">"USAGE: $0 &lt;xml&gt;"</span>
<span class="line_number">132 </span> <span class="keyword">exit</span> 1
<span class="line_number">133 </span><span class="keyword">fi</span>
<span class="line_number">134 </span>
<span class="line_number">135 </span><span class="comment">#Файл настроек</span>
<span class="line_number">136 </span>XML<span class="sign">=</span><span class="quote">"$1"</span>
<span class="line_number">137 </span>
<span class="line_number">138 </span><span class="comment">#Проверка использования прокси</span>
<span class="line_number">139 </span>PROXY<span class="sign">=</span><span class="sign">$</span><span class="sign">(</span><a href="#robo9">readXML</a> proxy <span class="quote">"$XML"</span><span class="sign">)</span>
<span class="line_number">140 </span>
<span class="line_number">141 </span><span class="keyword">if</span> <span class="sign">[</span> <span class="quote">"$PROXY"</span> <span class="sign">=</span><span class="sign">=</span> 1 <span class="sign">]</span><span class="sign">;</span> <span class="keyword">then</span>
<span class="line_number">142 </span> <a href="#robo10">proxyCMD</a>
<span class="line_number">143 </span><span class="keyword">fi</span>
</pre>
</div> <!-- content -->
<div id="footer">
<p>Generated from ./streamproxy with <a href="http://www.xs4all.nl/~rfsber/Robo/robodoc.html">ROBODoc</a> V4.99.41 on Fri Aug 12 2016 17:07:07
<p>Generated from ./streamproxy with <a href="http://www.xs4all.nl/~rfsber/Robo/robodoc.html">ROBODoc</a> V4.99.41 on Wed Aug 24 2016 11:50:31
</p>
</div> <!-- footer -->
</body>

73
doc/streamsaver.html

@ -248,7 +248,7 @@ @@ -248,7 +248,7 @@
<span class="line_number">200 </span> <a href="#robo2">enableOption</a> input_channel <span class="sign">-</span>map <span class="sign">%</span><span class="sign">%</span>
<span class="line_number">201 </span> <a href="#robo2">enableOption</a> archive_log <span class="sign">\</span>
<span class="line_number">202 </span> <span class="sign">-</span>segment_list <span class="sign">%</span><span class="sign">%</span> <span class="sign">\</span>
<span class="line_number">203 </span> <span class="sign">-</span>segment_list_entry_prefix <span class="quote">"${<a href="#robo5">config</a>[archive_dir]}"</span> <span class="sign">\</span>
<span class="line_number">203 </span> <span class="sign">-</span>segment_list_entry_prefix <span class="quote">"$(eval echo ${<a href="#robo5">config</a>[archive_dir]})"</span> <span class="sign">\</span>
<span class="line_number">204 </span> <span class="sign">-</span>segment_list_type csv <span class="sign">\</span>
<span class="line_number">205 </span> <span class="sign">-</span>segment_list_flags live
<span class="line_number">206 </span>
@ -259,13 +259,13 @@ @@ -259,13 +259,13 @@
<span class="line_number">211 </span> <span class="sign">-</span><span class="keyword">fi</span> segment <span class="sign">\</span>
<span class="line_number">212 </span> <span class="sign">-</span>segment_time <span class="quote">"${<a href="#robo5">config</a>[archive_time]}"</span> <span class="sign">\</span>
<span class="line_number">213 </span> <span class="sign">-</span>segment_format <span class="quote">"${<a href="#robo5">config</a>[output_format]}"</span> <span class="sign">\</span>
<span class="line_number">214 </span> <span class="sign">-</span>strftime 1 <span class="quote">"${<a href="#robo5">config</a>[archive_dir]}/$FILE_NAME"</span>
<span class="line_number">214 </span> <span class="sign">-</span>strftime 1 <span class="quote">"$(eval echo ${<a href="#robo5">config</a>[archive_dir]})/$FILE_NAME"</span>
<span class="line_number">215 </span>
<span class="line_number">216 </span> <span class="comment"># АНАЛИЗ</span>
<span class="line_number">217 </span> <a href="#robo2">enableOption</a> input_channel <span class="sign">-</span>map <span class="sign">%</span><span class="sign">%</span>
<span class="line_number">218 </span> <a href="#robo2">enableOption</a> slices_log <span class="sign">\</span>
<span class="line_number">219 </span> <span class="sign">-</span>segment_list <span class="sign">%</span><span class="sign">%</span> <span class="sign">\</span>
<span class="line_number">220 </span> <span class="sign">-</span>segment_list_entry_prefix <span class="quote">"${<a href="#robo5">config</a>[slices_dir]}"</span> <span class="sign">\</span>
<span class="line_number">220 </span> <span class="sign">-</span>segment_list_entry_prefix <span class="quote">"$(eval echo ${<a href="#robo5">config</a>[slices_dir]})"</span> <span class="sign">\</span>
<span class="line_number">221 </span> <span class="sign">-</span>segment_list_type csv <span class="sign">\</span>
<span class="line_number">222 </span> <span class="sign">-</span>segment_list_flags live
<span class="line_number">223 </span>
@ -276,7 +276,7 @@ @@ -276,7 +276,7 @@
<span class="line_number">228 </span> <span class="sign">-</span><span class="keyword">fi</span> segment <span class="sign">\</span>
<span class="line_number">229 </span> <span class="sign">-</span>segment_time <span class="quote">"${<a href="#robo5">config</a>[slices_time]}"</span> <span class="sign">\</span>
<span class="line_number">230 </span> <span class="sign">-</span>segment_format <span class="quote">"${<a href="#robo5">config</a>[output_format]}"</span> <span class="sign">\</span>
<span class="line_number">231 </span> <span class="sign">-</span>strftime 1 <span class="quote">"${<a href="#robo5">config</a>[slices_dir]}/$FILE_NAME"</span>
<span class="line_number">231 </span> <span class="sign">-</span>strftime 1 <span class="quote">"$(eval echo ${<a href="#robo5">config</a>[slices_dir]})/$FILE_NAME"</span>
<span class="line_number">232 </span>
<span class="line_number">233 </span> <span class="keyword">echo</span> <span class="quote">"$CMD"</span>
<span class="line_number">234 </span><span class="keyword">}</span>
@ -370,6 +370,7 @@ @@ -370,6 +370,7 @@
<p>
</p>
<pre> &lt;!-- Директория для сохранения архивных файлов --&gt;
&lt;!-- Может содержать переменную $DATA (текущую дату) --&gt;
&lt;archive_dir&gt;FILES/archive/&lt;/archive_dir&gt;
&lt;!-- Длительность архивных файлов в секундах --&gt;
&lt;archive_time&gt;3600&lt;/archive_time&gt;
@ -404,7 +405,7 @@ @@ -404,7 +405,7 @@
</pre>
<p></p>
<p class="item_name">SOURCE</p>
<pre class="source"><span class="line_number">342 </span><strong>SETTINGS</strong><span class="sign">=</span><span class="quote">"$1"</span>
<pre class="source"><span class="line_number">343 </span><strong>SETTINGS</strong><span class="sign">=</span><span class="quote">"$1"</span>
</pre>
<hr />
@ -416,35 +417,49 @@ @@ -416,35 +417,49 @@
<pre> <a href="#robo_top_of_doc">streamsaver</a>
</pre>
<p class="item_name">SOURCE</p>
<pre class="source"><span class="line_number">353 </span><span class="comment">#Проверка на наличие файла настроек</span>
<span class="line_number">354 </span><span class="keyword">if</span> <span class="sign">[</span> <span class="sign">-</span>z <span class="quote">"$<a href="#robo6">SETTINGS</a>"</span> <span class="sign">]</span><span class="sign">;</span> <span class="keyword">then</span>
<span class="line_number">355 </span> <span class="keyword">echo</span> <span class="quote">"USAGE: $(basename $0) &lt;settings.xml&gt;"</span> <span class="sign">&gt;</span><span class="sign">&amp;</span>2
<span class="line_number">356 </span> <span class="keyword">exit</span> 1
<span class="line_number">357 </span><span class="keyword">elif</span> <span class="sign">[</span> <span class="keyword">!</span> <span class="sign">-</span>r <span class="quote">"$<a href="#robo6">SETTINGS</a>"</span> <span class="sign">]</span><span class="sign">;</span> <span class="keyword">then</span>
<span class="line_number">358 </span> <span class="keyword">echo</span> <span class="quote">"Unable open file $1."</span> <span class="sign">&gt;</span><span class="sign">&amp;</span>2
<span class="line_number">359 </span> <span class="keyword">echo</span> <span class="quote">"USAGE: $(basename $0) &lt;settings.xml&gt;"</span> <span class="sign">&gt;</span><span class="sign">&amp;</span>2
<span class="line_number">360 </span> <span class="keyword">exit</span> 1
<span class="line_number">361 </span><span class="keyword">fi</span>
<span class="line_number">362 </span>
<span class="line_number">363 </span><span class="comment">#Чтение настроек</span>
<span class="line_number">364 </span><a href="./streamproxy.html#robo9">readXML</a> <span class="quote">"$<a href="#robo6">SETTINGS</a>"</span>
<span class="line_number">365 </span>
<span class="line_number">366 </span><span class="comment">#Создание директорий хранения файлов, если требуется</span>
<span class="line_number">367 </span><span class="keyword">mkdir</span> <span class="sign">-</span>p <span class="sign">$</span><span class="sign">{</span><a href="#robo5">config</a><span class="sign">[</span>archive_dir<span class="sign">]</span><span class="keyword">}</span>
<span class="line_number">368 </span><span class="keyword">mkdir</span> <span class="sign">-</span>p <span class="sign">$</span><span class="sign">{</span><a href="#robo5">config</a><span class="sign">[</span>slices_dir<span class="sign">]</span><span class="keyword">}</span>
<pre class="source"><span class="line_number">354 </span><span class="comment">#Проверка на наличие файла настроек</span>
<span class="line_number">355 </span><span class="keyword">if</span> <span class="sign">[</span> <span class="sign">-</span>z <span class="quote">"$<a href="#robo6">SETTINGS</a>"</span> <span class="sign">]</span><span class="sign">;</span> <span class="keyword">then</span>
<span class="line_number">356 </span> <span class="keyword">echo</span> <span class="quote">"USAGE: $(basename $0) &lt;settings.xml&gt;"</span> <span class="sign">&gt;</span><span class="sign">&amp;</span>2
<span class="line_number">357 </span> <span class="keyword">exit</span> 1
<span class="line_number">358 </span><span class="keyword">elif</span> <span class="sign">[</span> <span class="keyword">!</span> <span class="sign">-</span>r <span class="quote">"$<a href="#robo6">SETTINGS</a>"</span> <span class="sign">]</span><span class="sign">;</span> <span class="keyword">then</span>
<span class="line_number">359 </span> <span class="keyword">echo</span> <span class="quote">"Unable open file $1."</span> <span class="sign">&gt;</span><span class="sign">&amp;</span>2
<span class="line_number">360 </span> <span class="keyword">echo</span> <span class="quote">"USAGE: $(basename $0) &lt;settings.xml&gt;"</span> <span class="sign">&gt;</span><span class="sign">&amp;</span>2
<span class="line_number">361 </span> <span class="keyword">exit</span> 1
<span class="line_number">362 </span><span class="keyword">fi</span>
<span class="line_number">363 </span>
<span class="line_number">364 </span><span class="comment">#Чтение настроек</span>
<span class="line_number">365 </span><a href="./streamproxy.html#robo9">readXML</a> <span class="quote">"$<a href="#robo6">SETTINGS</a>"</span>
<span class="line_number">366 </span>
<span class="line_number">367 </span><span class="comment">#Текущая дата</span>
<span class="line_number">368 </span>DATE<span class="sign">=</span><span class="quote">"$(\date +%F)"</span>
<span class="line_number">369 </span>
<span class="line_number">370 </span><span class="keyword">if</span> <span class="sign">[</span> <span class="sign">$</span><span class="sign">{</span><a href="#robo5">config</a><span class="sign">[</span>proxy<span class="sign">]</span><span class="keyword">}</span> <span class="sign">=</span><span class="sign">=</span> 1 <span class="sign">]</span><span class="sign">;</span> <span class="keyword">then</span>
<span class="line_number">371 </span> <a href="#robo5">config</a><span class="sign">[</span>stream<span class="sign">]</span><span class="sign">=</span><span class="quote">"${<a href="#robo5">config</a>[icecast]}/${<a href="#robo5">config</a>[mountpoint]}"</span>
<span class="line_number">372 </span> <a href="#robo5">config</a><span class="sign">[</span>icecast<span class="sign">]</span><span class="sign">=</span><span class="quote">""</span>
<span class="line_number">373 </span><span class="keyword">fi</span>
<span class="line_number">374 </span>
<span class="line_number">375 </span><span class="comment">#Создание команды оцифровки сигнала</span>
<span class="line_number">376 </span><a href="#robo4">makeCMD</a> <span class="sign">|</span> sh
<span class="line_number">370 </span><span class="comment">#Создание директорий хранения файлов за текущую дату, если требуется</span>
<span class="line_number">371 </span><span class="sign">[</span> <span class="keyword">!</span> <span class="sign">-</span>z <span class="sign">$</span><span class="sign">{</span><a href="#robo5">config</a><span class="sign">[</span>archive_dir<span class="sign">]</span><span class="keyword">}</span> <span class="sign">]</span> <span class="sign">&amp;</span><span class="sign">&amp;</span> <span class="keyword">mkdir</span> <span class="sign">-</span>p <span class="quote">"$(eval echo ${<a href="#robo5">config</a>[archive_dir]})"</span>
<span class="line_number">372 </span><span class="sign">[</span> <span class="keyword">!</span> <span class="sign">-</span>z <span class="sign">$</span><span class="sign">{</span><a href="#robo5">config</a><span class="sign">[</span>slices_dir<span class="sign">]</span><span class="keyword">}</span> <span class="sign">]</span> <span class="sign">&amp;</span><span class="sign">&amp;</span> <span class="keyword">mkdir</span> <span class="sign">-</span>p <span class="quote">"$(eval echo ${<a href="#robo5">config</a>[slices_dir]})"</span>
<span class="line_number">373 </span>
<span class="line_number">374 </span><span class="comment">#Дата следующего дня</span>
<span class="line_number">375 </span>DATE<span class="sign">=</span><span class="quote">"$(\date --date='tomorrow' +%F)"</span>
<span class="line_number">376 </span>
<span class="line_number">377 </span><span class="comment">#Создание директорий хранения файлов на следующий день</span>
<span class="line_number">378 </span><span class="sign">[</span> <span class="keyword">!</span> <span class="sign">-</span>z <span class="sign">$</span><span class="sign">{</span><a href="#robo5">config</a><span class="sign">[</span>archive_dir<span class="sign">]</span><span class="keyword">}</span> <span class="sign">]</span> <span class="sign">&amp;</span><span class="sign">&amp;</span> <span class="keyword">mkdir</span> <span class="sign">-</span>p <span class="quote">"$(eval echo ${<a href="#robo5">config</a>[archive_dir]})"</span>
<span class="line_number">379 </span><span class="sign">[</span> <span class="keyword">!</span> <span class="sign">-</span>z <span class="sign">$</span><span class="sign">{</span><a href="#robo5">config</a><span class="sign">[</span>slices_dir<span class="sign">]</span><span class="keyword">}</span> <span class="sign">]</span> <span class="sign">&amp;</span><span class="sign">&amp;</span> <span class="keyword">mkdir</span> <span class="sign">-</span>p <span class="quote">"$(eval echo ${<a href="#robo5">config</a>[slices_dir]})"</span>
<span class="line_number">380 </span>
<span class="line_number">381 </span><span class="comment">#Если используется прокси, то сигнал будет приниматься с соответствующего Icecast</span>
<span class="line_number">382 </span><span class="keyword">if</span> <span class="sign">[</span> <span class="sign">$</span><span class="sign">{</span><a href="#robo5">config</a><span class="sign">[</span>proxy<span class="sign">]</span><span class="keyword">}</span> <span class="sign">=</span><span class="sign">=</span> 1 <span class="sign">]</span><span class="sign">;</span> <span class="keyword">then</span>
<span class="line_number">383 </span> <a href="#robo5">config</a><span class="sign">[</span>stream<span class="sign">]</span><span class="sign">=</span><span class="quote">"http://${<a href="#robo5">config</a>[icecast]}/${<a href="#robo5">config</a>[mountpoint]}"</span>
<span class="line_number">384 </span> <a href="#robo5">config</a><span class="sign">[</span>input_format<span class="sign">]</span><span class="sign">=</span><span class="quote">"${<a href="#robo5">config</a>[output_format]}"</span>
<span class="line_number">385 </span> <a href="#robo5">config</a><span class="sign">[</span>output_format<span class="sign">]</span><span class="sign">=</span><span class="quote">"copy"</span>
<span class="line_number">386 </span> <a href="#robo5">config</a><span class="sign">[</span>input_channel<span class="sign">]</span><span class="sign">=</span><span class="quote">""</span>
<span class="line_number">387 </span> <a href="#robo5">config</a><span class="sign">[</span>icecast<span class="sign">]</span><span class="sign">=</span><span class="quote">""</span>
<span class="line_number">388 </span><span class="keyword">fi</span>
<span class="line_number">389 </span>
<span class="line_number">390 </span><span class="comment">#Создание команды оцифровки сигнала</span>
<span class="line_number">391 </span><a href="#robo4">makeCMD</a>
</pre>
</div> <!-- content -->
<div id="footer">
<p>Generated from ./streamsaver with <a href="http://www.xs4all.nl/~rfsber/Robo/robodoc.html">ROBODoc</a> V4.99.41 on Fri Aug 12 2016 17:07:07
<p>Generated from ./streamsaver with <a href="http://www.xs4all.nl/~rfsber/Robo/robodoc.html">ROBODoc</a> V4.99.41 on Wed Aug 24 2016 11:50:31
</p>
</div> <!-- footer -->
</body>

2
doc/tobo_toplevel.html

@ -33,7 +33,7 @@ @@ -33,7 +33,7 @@
<h2><a href="#A">A</a> - <a href="#B">B</a> - <a href="#C">C</a> - <a href="#D">D</a> - <a href="#E">E</a> - <a href="#F">F</a> - <a href="#G">G</a> - <a href="#H">H</a> - <a href="#I">I</a> - <a href="#J">J</a> - <a href="#K">K</a> - <a href="#L">L</a> - <a href="#M">M</a> - <a href="#N">N</a> - <a href="#O">O</a> - <a href="#P">P</a> - <a href="#Q">Q</a> - <a href="#R">R</a> - <a href="#S">S</a> - <a href="#T">T</a> - <a href="#U">U</a> - <a href="#V">V</a> - <a href="#W">W</a> - <a href="#X">X</a> - <a href="#Y">Y</a> - <a href="#Z">Z</a> - <a href="#0">0</a> - <a href="#1">1</a> - <a href="#2">2</a> - <a href="#3">3</a> - <a href="#4">4</a> - <a href="#5">5</a> - <a href="#6">6</a> - <a href="#7">7</a> - <a href="#8">8</a> - <a href="#9">9</a></h2>
</div> <!-- content -->
<div id="footer">
<p>Generated from ./ with <a href="http://www.xs4all.nl/~rfsber/Robo/robodoc.html">ROBODoc</a> V4.99.41 on Fri Aug 12 2016 17:07:07
<p>Generated from ./ with <a href="http://www.xs4all.nl/~rfsber/Robo/robodoc.html">ROBODoc</a> V4.99.41 on Wed Aug 24 2016 11:50:31
</p>
</div> <!-- footer -->
</body>

2
doc/toc_index.html

@ -47,7 +47,7 @@ @@ -47,7 +47,7 @@
</ul>
</div> <!-- content -->
<div id="footer">
<p>Generated from ./ with <a href="http://www.xs4all.nl/~rfsber/Robo/robodoc.html">ROBODoc</a> V4.99.41 on Fri Aug 12 2016 17:07:07
<p>Generated from ./ with <a href="http://www.xs4all.nl/~rfsber/Robo/robodoc.html">ROBODoc</a> V4.99.41 on Wed Aug 24 2016 11:50:31
</p>
</div> <!-- footer -->
</body>

2
settings/archive.xml

@ -10,7 +10,7 @@ @@ -10,7 +10,7 @@
<!-- Формат входного потока -->
<input_format>s16le</input_format>
<!-- Директория для сохранения архивных файлов -->
<archive_dir>/tmp/RT/FILES/archive/DAB02/CH01/</archive_dir>
<archive_dir>/tmp/RT/FILES/archive/$DATE/DAB02/CH01/</archive_dir>
<!-- Длительность архивных файлов в секундах -->
<archive_time>3600</archive_time>
<!-- Файл журнала обработки архивных записей -->

28
streamsaver

@ -200,7 +200,7 @@ makeCMD() { @@ -200,7 +200,7 @@ makeCMD() {
enableOption input_channel -map %%
enableOption archive_log \
-segment_list %% \
-segment_list_entry_prefix "${config[archive_dir]}" \
-segment_list_entry_prefix "$(eval echo ${config[archive_dir]})" \
-segment_list_type csv \
-segment_list_flags live
@ -211,13 +211,13 @@ makeCMD() { @@ -211,13 +211,13 @@ makeCMD() {
-f segment \
-segment_time "${config[archive_time]}" \
-segment_format "${config[output_format]}" \
-strftime 1 "${config[archive_dir]}/$FILE_NAME"
-strftime 1 "$(eval echo ${config[archive_dir]})/$FILE_NAME"
# АНАЛИЗ
enableOption input_channel -map %%
enableOption slices_log \
-segment_list %% \
-segment_list_entry_prefix "${config[slices_dir]}" \
-segment_list_entry_prefix "$(eval echo ${config[slices_dir]})" \
-segment_list_type csv \
-segment_list_flags live
@ -228,7 +228,7 @@ makeCMD() { @@ -228,7 +228,7 @@ makeCMD() {
-f segment \
-segment_time "${config[slices_time]}" \
-segment_format "${config[output_format]}" \
-strftime 1 "${config[slices_dir]}/$FILE_NAME"
-strftime 1 "$(eval echo ${config[slices_dir]})/$FILE_NAME"
echo "$CMD"
}
@ -311,6 +311,7 @@ config=( @@ -311,6 +311,7 @@ config=(
# <input_format>mp2 -map 0:0</input_format>
#
# <!-- Директория для сохранения архивных файлов -->
# <!-- Может содержать переменную $DATA (текущую дату) -->
# <archive_dir>FILES/archive/</archive_dir>
# <!-- Длительность архивных файлов в секундах -->
# <archive_time>3600</archive_time>
@ -363,10 +364,21 @@ fi @@ -363,10 +364,21 @@ fi
#Чтение настроек
readXML "$SETTINGS"
#Создание директорий хранения файлов, если требуется
mkdir -p ${config[archive_dir]}
mkdir -p ${config[slices_dir]}
#Текущая дата
DATE="$(\date +%F)"
#Создание директорий хранения файлов за текущую дату, если требуется
[ ! -z ${config[archive_dir]} ] && mkdir -p "$(eval echo ${config[archive_dir]})"
[ ! -z ${config[slices_dir]} ] && mkdir -p "$(eval echo ${config[slices_dir]})"
#Дата следующего дня
DATE="$(\date --date='tomorrow' +%F)"
#Создание директорий хранения файлов на следующий день
[ ! -z ${config[archive_dir]} ] && mkdir -p "$(eval echo ${config[archive_dir]})"
[ ! -z ${config[slices_dir]} ] && mkdir -p "$(eval echo ${config[slices_dir]})"
#Если используется прокси, то сигнал будет приниматься с соответствующего Icecast
if [ ${config[proxy]} == 1 ]; then
config[stream]="http://${config[icecast]}/${config[mountpoint]}"
config[input_format]="${config[output_format]}"
@ -376,7 +388,7 @@ if [ ${config[proxy]} == 1 ]; then @@ -376,7 +388,7 @@ if [ ${config[proxy]} == 1 ]; then
fi
#Создание команды оцифровки сигнала
makeCMD | sh
makeCMD
#*****

Loading…
Cancel
Save