From 42dac48d76ab204d502fb1e33dc50bc3bf3dab50 Mon Sep 17 00:00:00 2001 From: Maxim Lihachev Date: Tue, 16 Aug 2016 11:50:03 +0500 Subject: [PATCH] =?UTF-8?q?v1.1.=20=D0=98=D1=81=D0=BF=D1=80=D0=B0=D0=B2?= =?UTF-8?q?=D0=BB=D0=B5=D0=BD=D1=8B=20=D0=BD=D0=B5=D0=B4=D0=BE=D1=87=D1=91?= =?UTF-8?q?=D1=82=D1=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- streamproxy | 88 ++++++++++++++++++++++++++++++++----------------------------- streamsaver | 5 +++- 2 files changed, 50 insertions(+), 43 deletions(-) diff --git a/streamproxy b/streamproxy index 63269c3..9b87a25 100755 --- a/streamproxy +++ b/streamproxy @@ -19,36 +19,36 @@ # # |dot start # digraph G { -# subgraph cluster_0 { -# style=filled; -# color=lightgrey; -# node [style=filled,color=white]; -# UDP -> ICECAST; -# label = "streamproxy"; -# } +# subgraph cluster_0 { +# style=filled; +# color=lightgrey; +# node [style=filled,color=white]; +# UDP -> ICECAST; +# label = "streamproxy"; +# } # -# subgraph cluster_1 { -# node [style=filled]; -# ПХАС; -# label = "streamsaver"; -# color=blue -# ПХАС [shape=tab]; -# } +# subgraph cluster_1 { +# node [style=filled]; +# ПХАС; +# label = "streamsaver"; +# color=blue +# ПХАС [shape=tab]; +# } # -# subgraph cluster_2 { -# style=filled; -# color=lightblue; -# node [style=filled,color=white]; -# "Сигнал тишины"; -# label = "iceloop"; -# } +# subgraph cluster_2 { +# style=filled; +# color=lightblue; +# node [style=filled,color=white]; +# "Сигнал тишины"; +# label = "iceloop"; +# } # -# "Сигнал тишины" -> ICECAST; -# ICECAST -> ПХАС; -# ICECAST -> "WEB-сервис"; -# ПХАС -> "WEB-сервис"; +# "Сигнал тишины" -> ICECAST; +# ICECAST -> ПХАС; +# ICECAST -> "WEB-сервис"; +# ПХАС -> "WEB-сервис"; # -# UDP [shape=Mdiamond]; +# UDP [shape=Mdiamond]; # } # |dot end # @@ -80,7 +80,7 @@ # SOURCE # readXML() { - \grep -oPm1 "(?<=<$1>)[^<]+" "$2" + \grep -oPm1 "(?<=<$1>)[^<]+" "$2" } #***** @@ -98,19 +98,23 @@ readXML() { # SOURCE # proxyCMD() { - STREAM=$(readXML stream "$XML") - ICECAST="$(readXML icecast $XML)/$(readXML mountpoint $XML)" - ICENAME="$(readXML channel_name $XML)" - ICEDESC="$(readXML channel_descr $XML)" - FORMAT="$(readXML input_format $XML)" + STREAM=$(readXML stream "$XML") + ICECAST="$(readXML icecast $XML)/$(readXML mountpoint $XML)" + ICENAME="$(readXML channel_name $XML)" + ICEDESC="$(readXML channel_descr $XML)" + ICEPASS="$(readXML password $XML)" + FORMAT_IN="$(readXML input_format $XML)" + FORMAT_OUT="$(readXML output_format $XML)" - echo ffmpeg -i "$STREAM" \ - -f "$FORMAT" \ - -legacy_icecast 1 \ - -content_type audio/mpeg \ - -ice_name "$ICENAME" \ - -ice_description "$ICEDESC" \ - icecast://source:$ICECAST + echo ffmpeg \ + -f "$FORMAT_IN" \ + -i "$STREAM" \ + -f "$FORMAT_OUT" \ + -legacy_icecast 1 \ + -content_type audio/mpeg \ + -ice_name "$ICENAME" \ + -ice_description "$ICEDESC" \ + icecast://source:$ICEPASS@$ICECAST } #***** @@ -124,8 +128,8 @@ proxyCMD() { #Проверка аргументов if [ -z $1 ]; then - echo "USAGE: $0 " - exit 1 + echo "USAGE: $0 " + exit 1 fi #Файл настроек @@ -135,7 +139,7 @@ XML="$1" PROXY=$(readXML proxy "$XML") if [ "$PROXY" == 1 ]; then - proxyCMD + proxyCMD fi #***** diff --git a/streamsaver b/streamsaver index e3ddda6..82e0413 100755 --- a/streamsaver +++ b/streamsaver @@ -368,7 +368,10 @@ mkdir -p ${config[archive_dir]} mkdir -p ${config[slices_dir]} if [ ${config[proxy]} == 1 ]; then - config[stream]="${config[icecast]}/${config[mountpoint]}" + config[stream]="http://${config[icecast]}/${config[mountpoint]}" + config[input_format]="${config[output_format]}" + config[output_format]="copy" + config[input_channel]="" config[icecast]="" fi