4 changed files with 111 additions and 9 deletions
@ -0,0 +1,102 @@
@@ -0,0 +1,102 @@
|
||||
**streamsaver** - сценарий сохранения аудиопотоков |
||||
|
||||
##Лицензия |
||||
Copyright (C) 2011-2016, Maxim Lihachev, <envrm@yandex.ru> |
||||
|
||||
This program is free software: you can redistribute it and/or modify |
||||
it under the terms of the GNU General Public License as published by |
||||
the Free Software Foundation, either version 3 of the License, or |
||||
(at your option) any later version. |
||||
|
||||
This program is distributed in the hope that it will be useful, |
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of |
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
||||
GNU General Public License for more details. |
||||
|
||||
You should have received a copy of the GNU General Public License |
||||
along with this program. If not, see <http://www.gnu.org/licenses/>. |
||||
|
||||
##streamsaver |
||||
Обработчик аудиопотоков с нарезкой их в файлы и ретрансляцией на icecast |
||||
|
||||
Сценарий принимает аудиопоток с оборудования, по UDP или TCP, |
||||
фрагментирует его на отрезки заданной длины для последующего хранения и |
||||
анализа, а также ретранслирует поток на сервер радиовещания icecast для |
||||
прослушивания аудио конечным пользователем. |
||||
|
||||
##streamproxy |
||||
Проксирование аудиопотока на Icecast. |
||||
|
||||
Сценарий принимает аудиопоток с оборудования, по UDP или TCP, |
||||
и ретранслирует поток на сервер радиовещания icecast для |
||||
получения сигнала другими программами и прослушивания аудио конечным |
||||
пользователем. |
||||
|
||||
Проксирование будет доступно только при задании в файле настроек опции |
||||
<proxy>1</proxy> |
||||
|
||||
##Использование |
||||
streamsaver/streamproxy <файл настроек> - xml-файл с описанием входящего и |
||||
выходящего потоков и правилами фрагментирования записей. |
||||
|
||||
##Файл настроек |
||||
```xml |
||||
<xml> |
||||
<!-- Название канала --> |
||||
<channel_name></channel_name> |
||||
<!-- Описание канала --> |
||||
<channel_descr>Тестовый_канал</channel_descr> |
||||
<!-- Входящий поток --> |
||||
<stream>http://localhost:8000/stream</stream> |
||||
<!-- Icecast для вывода --> |
||||
<icecast>localhost:8000</icecast> |
||||
<!-- Пароль для доступа к Icecast --> |
||||
<password>hackme</password> |
||||
<!-- Точка подключения канала --> |
||||
<mountpoint>stream</mountpoint> |
||||
<!-- Программа/канал из потока --> |
||||
<input_channel>0:p:4098</input_channel> |
||||
|
||||
<!-- Команда получения сигнала --> |
||||
<cmd>ffmpeg</cmd> |
||||
|
||||
<!-- Формат входного потока --> |
||||
<input_format>mp2 -map 0:0</input_format> |
||||
|
||||
<!-- Директория для сохранения архивных файлов --> |
||||
<!-- Может содержать переменную $DATA (текущую дату) --> |
||||
<archive_dir>FILES/archive/</archive_dir> |
||||
<!-- Длительность архивных файлов в секундах --> |
||||
<archive_time>3600</archive_time> |
||||
<!-- Файл журнала обработки архивных записей --> |
||||
<archive_log>FILES/archive.log</archive_log> |
||||
|
||||
<!-- Директория для сохранения фрагментов на анализ --> |
||||
<slices_dir>FILES/fragments/</slices_dir> |
||||
<!-- Длительность фрагментов для анализа в секундах --> |
||||
<slices_time>10</slices_time> |
||||
<!-- Файл журнала обработки фрагментов на анализ --> |
||||
<slices_log>FILES/fragments.log</slices_log> |
||||
|
||||
<!-- Префикс имени файла --> |
||||
<filename_prefix>%Y-%m-%d_%H:%M:%S</filename_prefix> |
||||
<!-- Расширение имени файла --> |
||||
<filename_suffix>mp2</filename_suffix> |
||||
|
||||
<!-- Формат аудиофайлов --> |
||||
<output_format>mp2</output_format> |
||||
<!-- Битрейт аудиофайлов --> |
||||
<audio_bitrate>256k</audio_bitrate> |
||||
<!-- Использование streamproxy --> |
||||
<proxy>1</proxy> |
||||
</xml> |
||||
``` |
||||
|
||||
При отсутствии параметра или пустом значении соответствующие флаги а |
||||
аргументы не добавляются в итоговую команду ffmpeg. Таким образом, |
||||
например, можно включать или отключать ведение журнала сохранения |
||||
аудиозаписей, просто указывая или удаляя параметр archive_log. |
||||
|
||||
##Версия |
||||
1.0 |
||||
|
Loading…
Reference in new issue