в общем друзья я отупел.
прочёл топик как отупивают другие люди и срочно выделил бюджет под сервер домой.
помогите с ТЗ и задачами.
что уже настроено и работает:

bind9
squid3 icap drweb
samba
transmission-daemon autofs yandex.disk
hostapd dhcp3-server
firewall

в планах на завтра

mediatomb
zabbix 

железка раздаёт сеть по wifi фильтруя трафик, хранит и качает торрент файлы которые ищет на яндекс диске.
возможно станет DLNA сервером заодно, если осилю перекодирование.


что ещё? чтоб такого туда накрутить чтоб мозг зашевелился?
выглядит эта сволочь кстати так =)
http://www.jmsinfo.com/images/Thermaltake_Element_Q.jpg

2

system-root пишет:

станет DLNA сервером заодно, если осилю перекодирование

Вот может поможет. То, что у меня сейчас лежит в конф.директории. Нашел где то на просторах интернета. Источника не помню. Что то правил немного. Но "лишь бы работало".... Так разобраться и не выделил время.

+ открыть спойлер

config.xml

<?xml version="1.0" encoding="UTF-8"?>
<config version="2" xmlns="http://mediatomb.cc/config/2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://mediatomb.cc/config/2 http://mediatomb.cc/config/2.xsd"><!--
        Read /usr/share/doc/mediatomb-common/README.gz section 6 for more
        information on creating and using config.xml configration files.
    -->
  <server>
    <ui enabled="yes" show-tooltips="yes">
      <accounts enabled="no" session-timeout="30">
        <account user="mediatomb" password="mediatomb"/>
      </accounts>
    </ui>
    <name>DebianServer</name>
    <interface>eth0</interface>
    <udn>uuid:50d1fffa-42b9-4703-9133-83c4bdff5f12</udn>
    <home>/var/lib/mediatomb</home>
    <webroot>/usr/share/mediatomb/web</webroot>
    <storage caching="yes">
      <sqlite3 enabled="yes">
        <database-file>mediatomb.db</database-file>
      </sqlite3>
      <mysql enabled="no">
        <host>localhost</host>
        <username>mediatomb</username>
        <database>mediatomb</database>
      </mysql>                                                                                                                                                                                                                                                                 
    </storage>                                                                                                                                                                                                                                                                 
    <protocolInfo extend="yes"/><!-- For PS3 support change to "yes" --><!--                                                                                                                                                                                                   
        Uncomment the lines below to get rid of jerky avi playback on the                                                                                                                                                                                                     
        DSM320 or to enable subtitles support on the DSM units                                                                                                                                                                                                                 
    --><!--                                                                                                                                                                                                                                                                   
    <custom-http-headers>                                                                                                                                                                                                                                                     
        <add header="transferMode.dlna.org: Streaming" />                                                                                                                                                                                                                     
        <add header="contentFeatures.dlna.org: DLNA.ORG_OP=01;DLNA.ORG_CI=0;DLNA.ORG_FLAGS=01700000000000000000000000000000" />                                                                                                                                               
    </custom-http-headers>                                                                                                                                                                                                                                                     
                                                                                                                                                                                                                                                                               
    <manufacturerURL>redsonic.com</manufacturerURL>                                                                                                                                                                                                                           
    <modelNumber>105</modelNumber>                                                                                                                                                                                                                                             
    --><!-- Uncomment the line below if you have a Telegent TG100 --><!--                                                                                                                                                                                                     
        <upnp-string-limit>101</upnp-string-limit>                                                                                                                                                                                                                             
    -->                                                                                                                                                                                                                                                                       
    <custom-http-headers>                                                                                                                                                                                                                                                     
      <add header="transferMode.dlna.org: Streaming"/>                                                                                                                                                                                                                         
      <add header="contentFeatures.dlna.org: DLNA.ORG_OP=01;DLNA.ORG_CI=0;DLNA.ORG_FLAGS=01700000000000000000000000000000"/>                                                                                                                                                   
    </custom-http-headers>                                                                                                                                                                                                                                                     
    <extended-runtime-options>                                                                                                                                                                                                                                                 
      <ffmpegthumbnailer enabled="yes">                                                                                                                                                                                                                                       
        <thumbnail-size>128</thumbnail-size>                                                                                                                                                                                                                                   
        <seek-percentage>5</seek-percentage>                                                                                                                                                                                                                                   
        <filmstrip-overlay>yes</filmstrip-overlay>                                                                                                                                                                                                                             
        <workaround-bugs>no</workaround-bugs>                                                                                                                                                                                                                                 
      </ffmpegthumbnailer>                                                                                                                                                                                                                                                     
      <mark-played-items enabled="no" suppress-cds-updates="yes">                                                                                                                                                                                                             
        <string mode="prepend">*</string>                                                                                                                                                                                                                                     
      </mark-played-items>                                                                                                                                                                                                                                                     
    </extended-runtime-options>                                                                                                                                                                                                                                               
  </server>                                                                                                                                                                                                                                                                   
  <filesystem-charset>UTF-8</filesystem-charset>
  <metadata-charset>UTF-8</metadata-charset>
  <playlist-charset>UTF-8</playlist-charset>
  <import hidden-files="no">
    <scripting script-charset="UTF-8">
      <common-script>/usr/share/mediatomb/js/common.js</common-script>
      <playlist-script>/usr/share/mediatomb/js/playlists.js</playlist-script>
      <virtual-layout type="builtin">
        <import-script>/usr/share/mediatomb/js/import.js</import-script>
        <dvd-script>/usr/share/mediatomb/js/import-dvd.js</dvd-script>
      </virtual-layout>
    </scripting>
    <mappings>
      <extension-mimetype ignore-unknown="no">
        <map from="mp3" to="audio/mpeg"/>
        <map from="ogg" to="application/ogg"/>
        <map from="asf" to="video/x-ms-asf"/>
        <map from="asx" to="video/x-ms-asf"/>
        <map from="wma" to="audio/x-ms-wma"/>
        <map from="wax" to="audio/x-ms-wax"/>
        <map from="wmv" to="video/x-ms-wmv"/>
        <map from="wvx" to="video/x-ms-wvx"/>
        <map from="wm" to="video/x-ms-wm"/>
        <map from="wmx" to="video/x-ms-wmx"/>
        <map from="m3u" to="audio/x-mpegurl"/>
        <map from="pls" to="audio/x-scpls"/>
        <map from="ts" to="video/mpeg"/>
        <map from="m2ts" to="video/mpeg"/>
        <map from="vob" to="video/mpeg"/>
        <map from="wav" to="audio/wav"/>
        <map from="mpg" to="video/mpeg"/>
        <map from="aac" to="audio/x-aac"/>
        <map from="m4a" to="audio/mp4"/>
<!--        <map from="mkv" to="video/x-matroska"/> -->
                <map from="mkv" to="video/x-mkv" />
        <map from="mov" to="video/x-quicktime"/>
        <map from="flv" to="video/x-flv"/>
        <map from="divx" to="video/divx"/>
<!--    <map from="avi" to="video/x-msvideo"/>-->
                <!-- Uncomment the line below for PS3 divx support -->
<!--            <map from="avi" to="video/divx"/> -->
                <!-- Uncomment the line below for D-Link DSM / ZyXEL DMA-1000 -->
                <map from="avi" to="video/avi"/>
      </extension-mimetype>
      <mimetype-upnpclass>
        <map from="audio/*" to="object.item.audioItem.musicTrack"/>
        <map from="video/*" to="object.item.videoItem"/>
        <map from="image/*" to="object.item.imageItem"/>
        <map from="application/ogg" to="object.item.audioItem.musicTrack"/>
      </mimetype-upnpclass>
      <mimetype-contenttype>
        <treat mimetype="audio/mpeg" as="mp3"/>
        <treat mimetype="application/ogg" as="ogg"/>
        <treat mimetype="audio/x-flac" as="flac"/>
        <treat mimetype="image/jpeg" as="jpg"/>
        <treat mimetype="audio/x-mpegurl" as="playlist"/>
        <treat mimetype="audio/x-scpls" as="playlist"/>
        <treat mimetype="audio/x-wav" as="pcm"/>
        <treat mimetype="audio/L16" as="pcm"/>
        <treat mimetype="video/x-msvideo" as="avi"/>
        <treat mimetype="video/mp4" as="mp4"/>
        <treat mimetype="audio/mp4" as="mp4"/>
        <treat mimetype="application/x-iso9660" as="dvd"/>
        <treat mimetype="application/x-iso9660-image" as="dvd"/>
        <treat mimetype="video/x-matroska" as="mkv"/>
        <treat mimetype="audio/x-matroska" as="mka"/>
      </mimetype-contenttype>
    </mappings>
    <online-content><!-- Make sure to setup a transcoding profile for flv -->
      <YouTube enabled="no" refresh="28800" update-at-start="no" purge-after="604800" racy-content="exclude" format="flv" hd="no">
        <favorites user="mediatomb"/>
        <standardfeed feed="most_viewed" time-range="today"/>
        <playlists user="mediatomb"/>
        <uploads user="mediatomb"/>
        <standardfeed feed="recently_featured" time-range="today"/>
      </YouTube>
      <Weborama enabled="no" refresh="28800" update-at-start="no">
        <playlist name="Active" type="playlist" mood="active"/>
        <playlist name="Metal" type="playlist">
          <filter>
            <genres>metal</genres>
          </filter>
        </playlist>
      </Weborama>
      <AppleTrailers enabled="no" refresh="43200" update-at-start="no" resolution="640"/>
    </online-content>
  </import>
  <transcoding enabled="yes">
    <mimetype-profile-mappings>
      <transcode mimetype="video/x-flv" using="vlcmpeg"/>
      <transcode mimetype="application/ogg" using="vlcmpeg"/>
      <transcode mimetype="application/ogg" using="oggflac2raw"/>
<!--      <transcode mimetype="audio/x-flac" using="oggflac2raw"/>-->
          <transcode mimetype="audio/x-flac" using="audio-flac"/>
      <transcode mimetype="video/x-matroska" using="video-generic"/>
      <transcode mimetype="video/x-msvideo" using="videol-generic"/>
    </mimetype-profile-mappings>
    <profiles>
        <profile name="video-generic" enabled="yes" type="external">
                <mimetype>video/mpeg</mimetype>
        <accept-url>yes</accept-url>
                <first-resource>yes</first-resource>
                <hide-original-resource>yes</hide-original-resource>
                <accept-ogg-theora>yes</accept-ogg-theora>
                <agent command="/usr/bin/transcoder.sh" arguments="%in %out"/>
                <buffer size="14400000" chunk-size="512000" fill-size="120000"/>
        </profile>
          <profile name="audio-flac" enabled="yes" type="external">
            <mimetype>audio/mpeg</mimetype>
            <accept-url>no</accept-url>
            <first-resource>yes</first-resource>
            <hide-original-resource>yes</hide-original-resource>
            <accept-ogg-theora>no</accept-ogg-theora>
            <sample-frequency>44100</sample-frequency>
            <audio-channels>2</audio-channels>
        <agent command="/usr/bin/flac2mp3_vt.sh" arguments="%in %out"/>
            <buffer size="1048576" chunk-size="262144" fill-size="262144"/>
      </profile>
      <profile name="oggflac2raw" enabled="no" type="external">
        <mimetype>audio/L16</mimetype>
        <accept-url>no</accept-url>
        <first-resource>yes</first-resource>
        <accept-ogg-theora>no</accept-ogg-theora>
        <agent command="ogg123" arguments="-d raw -o byteorder:big -f %out %in"/>
        <buffer size="1048576" chunk-size="131072" fill-size="262144"/>
      </profile>
      <profile name="vlcmpeg" enabled="yes" type="external">
        <mimetype>video/mpeg</mimetype>
        <accept-url>yes</accept-url>
        <avi-fourcc-list mode="ignore">
          <fourcc>XVID</fourcc>
          <fourcc>DX50</fourcc>
        </avi-fourcc-list>
        <first-resource>yes</first-resource>
        <accept-ogg-theora>yes</accept-ogg-theora>
        <agent command="vlc" arguments="-I dummy %in --sout #transcode{venc=ffmpeg,vcodec=mp2v,vb=4096,fps=25,aenc=ffmpeg,acodec=mpga,ab=192,samplerate=44100,channels=2}:standard{access=file,mux=ps,dst=%out} vlc:quit"/>
        <buffer size="14400000" chunk-size="512000" fill-size="120000"/>
      </profile>
    </profiles>
  </transcoding>
</config>

flac2mp3_vt.sh

#!/bin/sh
#flac -d -f -c -s "$1" | lame -S --noreplygain --strictly-enforce-ISO --cbr -b 256 - "$2"
#flac -d -f -c -s "$1" | lame -S --cbr -b 128 - "$2"
#ffmpeg -y -i "$1" -acodec mp2 -ab 320k -ac 2 -f mp3 "$2"
#flac -d -f -c -s "$1" | lame -S --cbr -b 320 - "$2"
#flac -d -f -c -s "$1" | lame -S --cbr -b 128 - "$2"
#gst-launch filesrc location = "$1" ! flacdec ! audioconvert! lame vbr=0 bitrate=320 ! id3mux name=tag v2-tag=true v1-tag=true ! filesink location = "$2"
ffmpeg -y -i "$1" -acodec mp2 -ab 320k -ac 2 -f mp3 "$2"

transcoder.sh

#!/bin/bash
# скрипт для декодирования видео-файлов как самостоятельно так и составе в dlna-сервера
#
# формат вызова:
#    # transcoder ВХОДНОЙ_ФАЙЛ ВЫХОДНОЙ_ФАЙЛ
#
# авт. Никишин С.В. 27.12.2010 г.
# в ред. от 31.01.2011

INPUT="$1"
OUTPUT="$2"
MYNAME=${0##*/}
ROOT_DIR=/mediatomb
TMP_DIR=/tmp
FILE_NAME=$(basename "$INPUT")
EXT=${INPUT##*.}
VIERA_ASPECT="16/9"
TV_VIERA_CROP="9/16"
#TV_VIERA_CROP="7/8"
THREADS="4"
NAME_FUNCTION=transcode_$EXT


TRANSCODER_OPTIONS=""
LOG_DIR=""
LOG_FILE=""

function create_log_file() { # создание папки для логов и лог-файла скрипта
    #echo "Script = $MYNAME; current user = $USER; input file = $INPUT; output file = $OUTPUT. Starting... " > "$LOG_FILE"
    # создание папки для хранения логов
    LOG_DIR=$TMP_DIR/$FILE_NAME
    if [ ! -d "$LOG_DIR" ]; then
        mkdir "$LOG_DIR"
        chmod 777 "$LOG_DIR"
    else
        rm -f "$LOG_DIR"/*
    fi

    if [ "$USER" = "" ]; then # если пользователя нет
    #    if [ ! -d $HOME ]; then # если пользователя нет
        USER="mediatomb"
        HOME="/var/lib/$USER"
        #HOME=/var/lib/$USER
    fi
    LOG_FILE="$LOG_DIR/$MYNAME:$USER.log"

    if [ -a "$INPUT" ]; then
        status_file_input="exist"
    else
        status_file_input="not found"
    fi
    # создание файла для записи лога скрипта
    cat - >"$LOG_FILE" <<EOF
script name                     : $MYNAME
   full name input file         : $INPUT
   file status                  : $status_file_input
   base name input file         : ${FILE_NAME}
   extention input file         : ${INPUT##*.}
   full name output file        : $OUTPUT
   name current user            : $USER
   home directory               : $HOME
   log files                    : $LOG_FILE
EOF
}

function check_runprg() { # проверка работы программы в текущем профиле
   # передаваемые параметры
   #    $1            - имя проверяемой программы
   echo "check_runprg() starting" >> "$LOG_FILE"
   NAMEPRG=$1
   echo "   found running program <$NAMEPRG>" >> "$LOG_FILE"
   if ! [ $(ps -u mediatomb | grep $NAMEPRG | wc -l) -eq 0 ]; then
      echo "   program found : killing..." >> "$LOG_FILE"
      killall -9 $NAMEPRG
      sleep 2
      check_runprg $NAMEPRG
      #echo "   check run $NAMEPRG after command killall: $(ps -u mediatomb | grep $NAMEPRG)" >> "$LOG_FILE"
      #exit
   else
      echo "   program not found" >> "$LOG_FILE"
   fi
}

function download_file() {
   echo "Function = download_file; file name = ${FILE_NAME}. Starting..." >> "$LOG_FILE"
   SOURCE_DIR=$ROOT_DIR/trailers.apple.com/thumbnail
   SOURCE_FILE=$SOURCE_DIR/$FILE_NAME
   WGET_LOG=$LOG_DIR/wget-$FILE_NAME.log
   WGET_LIST=$SOURCE_DIR/trailers.list

   cd $SOURCE_DIR
   #killall -9 wget
   if [ -a "$SOURCE_FILE" ]; then
      #echo "File $SOURCE_FILE found. Continue downloads..." >> "$LOG_FILE"
      #wget -b -c -U QuickTime/7.6.2 "$INPUT" -O $SOURCE_FILE >> "$LOG_FILE"
      #wget -b -U QuickTime/7.6.2 "$INPUT" -O $SOURCE_FILE -o "$WGET_LOG" -c
   #else
      #echo "File $SOURCE_FILE not found. New downloads..." >> "$LOG_FILE"
      #wget -b -U QuickTime/7.6.2 "$INPUT" -O $SOURCE_FILE >> "$LOG_FILE"
      #wget -b -U QuickTime/7.6.2 "$INPUT" >> "$LOG_FILE"
      rm $SOURCE_FILE
   fi
   echo "$INPUT" >> "$WGET_LIST"
   # ! wget -U QuickTime/7.6.2 "$INPUT" -i ./thumbnail/trailers.list -c
#   wget -b -U QuickTime/7.6.2 "$INPUT" -O $SOURCE_FILE -o "$WGET_LOG"  >> "$LOG_FILE"

#   echo "$WGETRC" >> "$LOG_FILE"
##   cat $WGETRC >> "$LOG_FILE"
#   echo "$INPUT $SOURCE_FILE" >> "$LOG_FILE"
   wget "$INPUT" -O $SOURCE_FILE >> "$LOG_FILE"
   INPUT=$SOURCE_FILE
#   echo "sleep" >> "$LOG_FILE"
#   sleep 30
#   check_runprg wget
}


function WH_fixed {  # установка фиксированных разрешений выходного сигнала
   case "$EXT" in
      flv)    w=800; h=600; ;;
      mp4)    w=800; h=600; ;;
      mtvg)   w=800; h=600; ;;
      m2ts)   w=1920; h=1050; ;;
      *)      w=720; h=576; ;;          # параметры для файлов с неизвестным расширением
   esac
   echo "Funtion = WH_fixed. Extention = $EXT. W = $w. H = $h" >> "$LOG_FILE"
   #wn=$(( $h * 1920 / 1050 ))
}

function WH_avinfo {  # установка разрешений выходного сигнала на основе программы aviinfo
if [ -x /usr/bin/avinfo ]; then
   SCALE_INPUT=$(avinfo "$INPUT" | grep video)  # получение информации об видео-файле
else
   WH_fixed
fi
if [ "$SCALE_INPUT" == "" ]; then               # если информации от файла не получено
   WH_fixed
else                                            # если "файл сообщил" размеры картинки, то их и устанавливаем
   echo "ready format from avinfo" >> $LOG_FILE
   w=$(echo $SCALE_INPUT | awk -F "x" '{print $1}' | awk -F ":" '{print $2}' | awk -F " " '{if(NF<2) print $1; else print $2}')
   h=$(echo $SCALE_INPUT | awk -F "x" '{print $2}' | awk -F " " '{print $1}')
fi
}

function WH_mediainfo {  # установка разрешений выходного сигнала на основе программы mediainfo
if [ -x /usr/bin/mediainfo ]; then
   echo "ready format from mediainfo" >> $LOG_FILE
   w=$(mediainfo "$INPUT" | grep "Width" | awk -F " " '{print $3}')
   h=$(mediainfo "$INPUT" | grep "Height" | awk -F " " '{print $3}')
else
   WH_avinfo
fi
}

#
# Блок функций транскодеров
#

function transcode_vlc {  # функция декодирования фалов программой VLC
   echo "Function = transcode_vlc; file input = $INPUT. Starting..." >> "$LOG_FILE"
   echo "" >> "$LOG_FILE"
   #LOG_VLC=$LOG_DIR/transcode_vlc.log
   #touch $LOG_VLC
   #chmod 777 $LOG_VLC
   #arguments="#transcode{venc=ffmpeg,vcodec=mp2v,vb=4096,fps=25,aenc=ffmpeg,acodec=mpga,ab=192,samplerate=44100,channels=2}:standard{access=file,mux=ps,dst=$OUTPUT}"
   killall -9 vlc
   sleep 3
   /usr/bin/vlc -I dummy "$INPUT" --logfile="$LOG_FILE" --log-verbose=3 --file-logging\
      --sout "#transcode{venc=ffmpeg,vcodec=mp2v,vb=4096,fps=25,aenc=ffmpeg,acodec=mpga,ab=192,samplerate=44100,channels=2,threads=3}:standard{access=file,mux=ps,dst=$OUTPUT} vlc:quit"
#      --sout "#transcode{venc=ffmpeg,vcodec=mp2v,vb=4096,fps=25,aenc=ffmpeg,acodec=mpga,ab=192,samplerate=44100,channels=2,threads=1}:standard{access=file,mux=ps,dst=$OUTPUT} vlc:quit"
#vlc -I dummy "$INPUT" --logfile=/tmp/vlc.log --log-verbose=3 --file-logging --sout "#transcode{venc=ffmpeg,vcodec=mp2v,vb=2048,fps=25,aenc=ffmpeg,acodec=mpga,ab=48,samplerate=44100,channels=2}:standard{access=file,mux=ps,dst=$OUTPUT} vlc:quit"
#vlc -I dummy "$INPUT" --sout-standard-dst=$OUTPUT

#vlc $INPUT\
# --intf dummy\
# --sout-transcode-venc ffmpeg\
# --sout-transcode-vcodec mp2v\
# --sout-transcode-vb 4096\
# --sout-transcode-fps 25\
# --swscale-mode 2
# --sout-transcode-aenc ffmpeg\
# --sout-transcode-acodec mpga\
# --sout-transcode-ab 192\
# --sout-transcode-channels 2\
# --sout-transcode-samplerate 44100\
# --sout-standard-access file\
# --sout-standard-mux ps\
# --sout-standard-dst $OUTPUT\
# --daemon\
# --logfile /tmp/vlc.log\
# --log-verbose 1\
# --file-logging\
# vlc://quit

# --dummy-quiet
# --dummy-save-es\
# --sout-transcode-alang ru\


#   exec 6>&1
#   exec > $OUTPUT
#   vlc $INPUT
#   exec 1>&6 6>&-
}

function transcode_mencoder() {  # функция декодирования программой MENCODER
   # передаваемые параметры
   #    $1            - профиль трансокдирования совпадающий с раширением файла
   echo "transcode_mencoder() starting" >> "$LOG_FILE"
   TRANSCODER="mencoder"
   LOG_TRANSCODER="$LOG_DIR/$TRANSCODER:$USER.log"
   check_runprg $TRANSCODER
   create_mencoder_conf $1
   /usr/bin/mencoder $TRANSCODER_OPTIONS "$INPUT" >"$LOG_TRANSCODER"
}

function create_mencoder_conf() {  # функция создания конфигурации запуска MENCODER
    echo "create_mencoder_conf() starting" >> "$LOG_FILE"
    echo "   параметр функции : <$1>" >> "$LOG_FILE"
    case $1 in        # создание профилей декодирования по кодовому слову (расширению файла)

          mkv)
TRANSCODER_OPTIONS="\
-aid 4352 \
-alang ru \
-channels 2 \
-vf expand=:::::$VIERA_ASPECT,scale,spp=7,harddup \
-af lavcresample=48000,volnorm,extrastereo \
-srate 48000 \
-lavcopts vcodec=mpeg2video:vrc_buf_size=1835:vrc_maxrate=25000:vbitrate=15000:keyint=15:vstrict=0:acodec=ac3:abitrate=384:autoaspect=yes:threads=3 \
-oac lavc \
-ovc lavc \
-of mpeg \
-mpegopts format=dvd:tsaf \
-ofps 24 \
-o $OUTPUT \
-msglevel all=5 \
"         ;;

          wmv)
TRANSCODER_OPTIONS="\
-vf expand=:::::4/3,scale,spp=6,harddup \
-af lavcresample=48000,hrtf,volnorm \
-srate 48000 \
-lavcopts vcodec=mpeg2video:vrc_buf_size=1835:vrc_maxrate=9800:vbitrate=5000:keyint=15:vstrict=0:acodec=ac3:abitrate=192:autoaspect=yes:threads=3 \
-demuxer lavf \
-lavfdopts probesize=128
-oac lavc \
-ovc lavc \
-of mpeg \
-mpegopts format=dvd:tsaf \
-aid 4352 \
-alang ru \
-ofps 24 \
-o $OUTPUT \
-msglevel all=5 \
"         ;;

          flv)
TRANSCODER_OPTIONS="\
-aid 4352 \
-alang ru \
-channels 2 \
-vf expand=:::::$VIERA_ASPECT,scale,spp=7,harddup \
-af lavcresample=48000,volnorm -srate 48000 \
-lavcopts vcodec=mpeg2video:vrc_buf_size=1835:vrc_maxrate=9800:vbitrate=5000:keyint=15:vstrict=0:acodec=ac3:abitrate=256:autoaspect=yes:threads=3 \
-oac lavc \
-ovc lavc \
-of mpeg \
-mpegopts format=dvd:tsaf \
-ofps 24 \
-o $OUTPUT \
-msglevel all=5 \
"         ;;

          mp4)
TRANSCODER_OPTIONS="\
-oac lavc \
-ovc lavc \
-of mpeg \
-mpegopts format=dvd:tsaf \
-aid 4352 \
-alang ru \
-vf expand=:::::$VIERA_ASPECT,scale,spp=7,harddup \
-af lavcresample=48000,volnorm -srate 48000 \
-lavcopts vcodec=mpeg2video:vrc_buf_size=1835:vrc_maxrate=9800:vbitrate=5000:keyint=15:vstrict=0:acodec=ac3:abitrate=256:autoaspect=yes:threads=3 \
-ofps 24 \
-o $OUTPUT \
-msglevel all=5 \
"         ;;

          slide)
TRANSCODER_OPTIONS="\
-mf w=1600:h=1200:fps=1/3:type=jpg \
-ovc lavc \
-lavcopts vcodec=mjpeg \
-o $OUTPUT \
-msglevel all=5 \
"         ;;
#-oac copy \
#-lavcopts vcodec=mjpeg::mbd=2:trell \
#-sws 10 \

          mov)
TRANSCODER_OPTIONS="\
-aid 4352 \
-alang ru \
-channels 2 \
-vf expand=:::::$VIERA_ASPECT,scale,spp=7,harddup \
-af lavcresample=48000,volnorm,extrastereo \
-srate 48000 \
-lavcopts vcodec=mpeg2video:vrc_buf_size=1835:vrc_maxrate=10000:vbitrate=5000:keyint=15:vstrict=0:acodec=ac3:abitrate=192:autoaspect=yes:threads=3 \
-oac lavc \
-ovc lavc \
-of mpeg \
-mpegopts format=dvd:tsaf \
-ofps 24 \
-o $OUTPUT \
-msglevel all=5 \
"         ;;

          m4v)
TRANSCODER_OPTIONS="\
-aid 4352 \
-alang ru \
-channels 2 \
-vf expand=:::::$VIERA_ASPECT,scale,spp=7,harddup \
-af lavcresample=48000,volnorm,extrastereo \
-srate 48000 \
-lavcopts vcodec=mpeg2video:vrc_buf_size=1835:vrc_maxrate=10000:vbitrate=5000:keyint=15:vstrict=0:acodec=ac3:abitrate=192:autoaspect=yes:threads=3 \
-oac lavc \
-ovc lavc \
-of mpeg \
-mpegopts format=dvd:tsaf \
-ofps 24 \
-o $OUTPUT \
-msglevel all=5 \
"         ;;

          ts)
# опции при кодировании из интернет в поток mencoder не работают !
TRANSCODER_OPTIONS="\
-aid 4352 \
-alang ru \
-channels 2 \
-vf expand=:::::$VIERA_ASPECT,scale,spp=7,harddup \
-af lavcresample=48000,volnorm,extrastereo \
-srate 48000 \
-lavcopts vcodec=mpeg2video:vrc_buf_size=1835:vrc_maxrate=9800:vbitrate=5000:keyint=15:vstrict=0:acodec=ac3:abitrate=256:autoaspect=yes:threads=3 \
-oac lavc \
-ovc lavc \
-of mpeg \
-mpegopts format=dvd:tsaf \
-ofps 25 \
-o $OUTPUT \
-msglevel all=5 \
"         ;;

          asf)
TRANSCODER_OPTIONS="\
-aid 4352 \
-alang ru \
-channels 2 \
-cache 10240 \
-cache-min 5 \
-vf expand=:::::$VIERA_ASPECT,scale,spp=7,harddup \
-af lavcresample=48000,volnorm,extrastereo \
-srate 48000 \
-lavcopts vcodec=mpeg2video:vrc_buf_size=1835:vrc_maxrate=25000:vbitrate=15000:keyint=15:vstrict=0:acodec=ac3:abitrate=256:autoaspect=yes:threads=3 \
-oac lavc \
-ovc lavc \
-of mpeg \
-mpegopts format=dvd:tsaf \
-ofps 25 \
-o $OUTPUT \
-msglevel all=5 \
"         ;;

          *)
    #NAME_FILE_CONFIG="$HOME/.mplayer/mencoder.conf"
    NAME_FILE_CONFIG="$MYHOME/.mplayer/mencoder.conf"
    HOME=/var/lib/mediatomb
    echo "   NAME_FILE_CONFIG = $NAME_FILE_CONFIG" >> "$LOG_FILE"
    echo "   HOME = $HOME" >> "$LOG_FILE"
    # для получения информации о параметрах файла конфигурации mencoder.conf смотри статью http://itkare.ru/Mencoder.conf
    HEAD_MENCODER_CONF="файл конфигурации Mencoder для файла $INPUT"
cat - >"$NAME_FILE_CONFIG" <<EOF
# $HEAD_MENCODER_CONF
vf=expand=:::::$VIERA_ASPECT,scale,spp=5,harddup
af=lavcresample=48000,volnorm
srate=48000
lavcopts=vcodec=mpeg2video:vrc_buf_size=1835:vrc_maxrate=9800:vbitrate=5000:keyint=15:vstrict=0:acodec=ac3:abitrate=96:autoaspect=yes:threads=3
oac=lavc=yes
ovc=lavc=yes
of=mpeg=yes
mpegopts=format=dvd:tsaf=yes
aid=4352
alang=ru
ofps=24
o=$OUTPUT
msglevel=all=5
EOF
echo "   Неверное обращение к функции - отсутствует параметр $1. Присвоены параметры по умолчанию." >> "$LOG_FILE"
mencoder_VIDEO_FILTERS="-vf expand=:::::$VIERA_ASPECT,scale,spp=6,harddup"
mencoder_AUDIO_FILTERS="-af lavcresample=48000,volnorm -srate 48000"
mencoder_LAVC_OPTIONS="-lavcopts vcodec=mpeg2video:vrc_buf_size=1835:vrc_maxrate=9800:vbitrate=5000:keyint=15:vstrict=0:acodec=ac3:abitrate=224:autoaspect=yes:threads=$THREADS"
#exit 1
          ;;
    esac
}


function transcode_ffmpeg() {  # функция декодирования программой FFMPEG
   # передаваемые параметры
   #    $1            - профиль трансокдирования совпадающий с раширением файла
   echo "transcode_ffmpeg() starting" >> "$LOG_FILE"
   TRANSCODER="ffmpeg"
   LOG_TRANSCODER="$LOG_DIR/$TRANSCODER:$USER.log"
   check_runprg $TRANSCODER
   create_ffmpeg_conf $1
   /usr/bin/ffmpeg $TRANSCODER_OPTIONS "$OUTPUT" 2> "$LOG_TRANSCODER"
   #/usr/bin/ffmpeg -threads 3 -aspect 16:9 -vf "scale=1920:-1" -i "$INPUT" $arguments -r 25 -target dvd $DEBUG_LEVEL "$OUTPUT" 2> "$LOG_TRANSCODER"

   #ffmpeg -i "$INPUT" -max_delay 500000 -f avi -y "$OUTPUT"
}

function create_ffmpeg_conf() {  # функция создания конфигурации запуска FFMPEG
   # передаваемые параметры
   #    $1            - профиль трансокдирования совпадающий с раширением файла
    echo "create_ffmpeg_conf() starting" >> "$LOG_FILE"
    echo "   параметр функции : <$1>" >> "$LOG_FILE"
    case $1 in        # создание профилей декодирования по кодовому слову (расширению файла)

          mkv)
TRANSCODER_OPTIONS="\
-threads 3 \
-aspect 16:9 \
-vf "scale=1920:-1" \
-i "$INPUT" \
-r 25 \
-target dvd \
-loglevel debug \
"         ;;

          ts)
TRANSCODER_OPTIONS="\
-threads 3 \
-i "$INPUT" \
-vf "crop=in_w:$TV_VIERA_CROP*in_h,scale=1920:-1" \
-muxpreload 5 \
-muxdelay 10 \
-r 25 \
-target dvd \
-ac 2 \
-loglevel debug \
-y \
"         ;;

#-aspect 16:9 \
#-vf "scale=1920:-1; cropdetect" \
#-vf "cropdetect=16:9" \
#crop=2/3*in_w:2/3*in_h" \


          *)
echo "   Неверное обращение к функции - отсутствует или неправильный параметр <$1>. Присвоены параметры по умолчанию." >> "$LOG_FILE"
TRANSCODER_OPTIONS="\
-threads 3 \
-aspect 16:9 \
-vf "scale=1920:-1" \
-i "$INPUT" \
-r 25 \
-target dvd \
-loglevel debug \
-y \
"

# -loglevel verbose
# -max_delay 500000
# -f avi -y "$OUTPUT"

          ;;
    esac
}



function transcode_null() {  # функция отсуствия декодирования файлов
   echo "Function = transcode_null; file input = $INPUT; file output = $OUTPUT. Starting..." >> "$LOG_FILE"
   cp "$INPUT" "$OUTPUT"
}


#
# Блок функций выбора кодировщиков для зарегистрированных расширений
#

transcode_mkv() { # функция декодирования файлов mkv
   echo "transcode_mkv() starting" >> "$LOG_FILE"
   transcode_mencoder mkv
#   transcode_ffmpeg
}

transcode_wmv() { # функция декодирования файлов wmv
   echo "Function = transcode_wmv. Extention = ${INPUT##*.}. Starting..." >> "$LOG_FILE"
   transcode_mencoder wmv
   #transcode_ffmpeg
   #transcode_vlc
}

transcode_flv() {
   echo "Function = transcode_flv; extention = ${INPUT##*.}. Starting..." >> "$LOG_FILE"
   transcode_mencoder flv
   #arguments=""
   #transcode_ffmpeg
}

transcode_mp4() {
   echo "Function = transcode_mp4; extention = ${INPUT##*.}. Starting..." >> "$LOG_FILE"
   transcode_mencoder mp4
   #transcode_ffmpeg
}

transcode_avi() {
   echo "Function = transcode_avi; extention = ${INPUT##*.}. Starting... " >> "$LOG_FILE"
   arguments=""
   #transcode_ffmpeg
   #transcode_null
   transcode_vlc

   #VIDEO_FILTERS="-vf expand=:::::16/9,scale,spp=6,harddup"
   #AUDIO_FILTERS="-af lavcresample=48000,volnorm -srate 48000"
   #LAVC_OPTIONS="-lavcopts vcodec=mpeg2video:vrc_buf_size=1835:vrc_maxrate=9800:vbitrate=5000:keyint=15:vstrict=0:acodec=ac3:abitrate=224:autoaspect=yes:threads=4"
   #arguments="-oac lavc -ovc lavc -of mpeg -mpegopts format=dvd:tsaf -aid 4352 -alang ru $VIDEO_FILTERS $AUDIO_FILTERS $LAVC_OPTIONS -ofps 25 -o $OUTPUT"
   #transcode_mencoder

}

transcode_ts() { # транскодирование видео-потока интернет-телевидения
    echo "transcode_ts()" >> "$LOG_FILE"
    #INPUT="http://youlike.video37.ru:2103/video/$FILE_NAME";
    INPUT=$(cat "$INPUT");
    echo "   read video stream (replace input file name) from $INPUT" >> "$LOG_FILE"
#   transcode_mencoder ts
    transcode_ffmpeg ts

#    TRANSCODER="ffmpeg"
#    LOG_TRANSCODER="$LOG_DIR/$TRANSCODER:$USER.log"
#    check_runprg $TRANSCODER
#    /usr/bin/ffmpeg -i "$INPUT" -threads 3 -target dvd -r 25 -y "$OUTPUT" 2> "$LOG_TRANSCODER"
    #wget "$INPUT" -o "$WGET_LOG" -O - | ffmpeg -i pipe:0 -r 25 -target dvd "$OUTPUT" 2> "$LOG_TRANSCODER"
    #wget "$INPUT" -o $WGET_LOG -O - | ffmpeg -i - -f avi -y "$OUTPUT"
}

transcode_mov() { # транскодирование видео файлов mov
   # с поддержкой воспроизведения их из интернет (с trailers.apple.com)
   echo "transcode_mov() starting" >> "$LOG_FILE"
   if [ $(echo "$INPUT" | awk -F ":" '{print $1}') = "http" ]; then # если входящий файл находится в интернет
      TRANSCODER="mencoder"
      LOG_TRANSCODER="$LOG_DIR/$TRANSCODER:$USER.log"
      check_runprg $TRANSCODER;              # удаление зависших версий $TRANSCODER
      create_mencoder_conf mov

      DOWNLOADER="wget"
      WGET_LOG=$LOG_DIR/$DOWNLOADER:$USER.log
      check_runprg $DOWNLOADER;               # удаление зависших версий $DOWNLOADER
      sleep 1

      # загружаем поток из интернет в STDOUT и создаём канал для его декодирования
      $DOWNLOADER -U QuickTime/7.6.2 "$INPUT" -o $WGET_LOG -O - | $TRANSCODER $TRANSCODER_OPTIONS - >"$LOG_TRANSCODER"
   else
      transcode_mencoder mov
      #$TRANSCODER $arguments "$INPUT" > "$LOG_TRANSCODER"
   fi
}

transcode_m4v() { # транскодирование видео файлов m4v
   # с поддержкой воспроизведения их из интернет (с trailers.apple.com)
   echo "transcode_m4v() starting" >> "$LOG_FILE"
   if [ $(echo "$INPUT" | awk -F ":" '{print $1}') = "http" ]; then # если входящий файл находится в интернет
      TRANSCODER="mencoder"
      LOG_TRANSCODER="$LOG_DIR/$TRANSCODER:$USER.log"
      check_runprg $TRANSCODER;              # удаление зависших версий $TRANSCODER
      create_mencoder_conf m4v

      DOWNLOADER="wget"
      WGET_LOG=$LOG_DIR/$DOWNLOADER:$USER.log
      check_runprg $DOWNLOADER;               # удаление зависших версий $DOWNLOADER
      sleep 1

      # загружаем поток из интернет в STDOUT и создаём канал для его декодирования
      $DOWNLOADER -U QuickTime/7.6.2 "$INPUT" -o $WGET_LOG -O - | $TRANSCODER $TRANSCODER_OPTIONS - >"$LOG_TRANSCODER"
   else
      transcode_mencoder m4v
   fi
}

transcode_asf() {
   echo "transcode_asf() starting..." >> "$LOG_FILE"
   transcode_mencoder asf
   #transcode_ffmpeg
}

transcode_wav() {
    local input="$1"
    local output="$2"
    ffmpeg -i "$input" -f wav -y "$output"
}

transcode_dvd() {
    local input="$1"
    local output="$2"
    ffmpeg -i "$input" -target dvd -y "$output"
}

transcode_matroska() { # Function to transcode matroska files to dvd compatible format
    local input="$1"
    local output="$2"
    local alang="$3"
    local slang="$4"

    # Default to english if languages are not set
    [ "$alang" ] || alang="eng"
    [ "$slang" ] || slang="eng"

    # Use mencoder if available, else fall back to using ffmpeg.
    # Transcoding using ffmpeg will not include subtitles.
    if which mencoder >/dev/null 2>&1; then
        mencoder "$input" -oac lavc -ovc lavc -of mpeg -mc 0 -noskip \
            -lavcopts vcodec=mpeg2video:vbitrate=6000:acodec=ac3:abitrate=448 \
            -vf harddup -alang "$alang" \
            -slang "$slang" -font 'Bitstream Vera Sans' \
            -o "$output"
    else
        ffmpeg -alang "$alang" -slang "$slang" -i "$input" -target dvd \
            -y "$output"
    fi
}

transcode_mp3() { # транскодирование аудио файлов mp3
   echo "Function = transcode_mp3; extention = ${INPUT##*.}. Starting..." >> "$LOG_FILE"
   TRANSCODER="mencoder"
   echo "file input = $INPUT, file input = $OUTPUT" >> "$LOG_FILE"
   check_runprg $TRANSCODER
   LOG_TRANSCODER="$LOG_DIR/$TRANSCODER:$USER.log"
   DEBUG_LEVEL="-msglevel all=5"
   PATCH_MP3=$(dirname "$INPUT" | sed "s/ /\\\ /g")
   NAME_MP3=$(basename "$INPUT")
   arguments="-mf w=1600:h=1200:fps=1/3:type=jpg -ovc lavc -lavcopts vcodec=mpeg4:mbd=2:trell -oac copy -o $OUTPUT $DEBUG_LEVEL"
   /usr/bin/mencoder "mf://$PATCH_MP3/*jpg" $arguments -audiofile "$INPUT"
}

transcode_slide() {
   echo "Function = transcode_slide; extention = ${INPUT##*.}. Starting..." >> "$LOG_FILE"
   DIR_SLIDE=$(dirname "$INPUT" | sed "s/ /\\\ /g" | sed "s/)/\\\)/g" | sed "s/(/\\\(/g")
   NAME_FILE=$(basename "$INPUT")
   NAME_MP3=$(cat "$INPUT")
   #INPUT="mf://$DIR_SLIDE/*[jJ][pP][gG]"
   INPUT="mf://*.JPG"
   #INPUT="mf://@$INPUT"

cd $LOG_DIR
echo "$DIR_SLIDE"
sleep 3
cd "$DIR_SLIDE"
ls *.[jJ][pP][gG] > $LOG_DIR/spisok
#ls "$DIR_SLIDE/*.[jJ][pP][gG]" > $LOG_DIR/spisok
#cat $LOG_DIR/spisok
#sleep 3
for file in $LOG_DIR/spisok; do
convert "$file" -resize "1600x1200" - | convert -background "#000000" - -extent "1600x1200" "$(basename '$file').JPG"
#convert $f -geometry 640x480> -quality 90% thumbs/${f%%JPG}
done

#   transcode_mencoder slide
   #transcode_ffmpeg
}

transcode_scr() {
   echo "transcode_scr() starting" >> "$LOG_FILE"
   TRANSCODER="ffmpeg"
   #ffmpeg -f x11grab -r 25 -s wxga -i :0.0 $OUTPUT
   LOG_TRANSCODER="$LOG_DIR/$TRANSCODER:$USER.log"

   #echo "" >> "$LOG_FILE"
   #LOG_FFMPEG=$LOG_DIR/transcode_ffmpeg.log
   #touch $LOG_FFMPEG
   #chmod 777 $LOG_FFMPEG
   #killall -9 ffmpeg
   #sleep 2

   #/usr/bin/ffmpeg -f x11grab -i :0.0 -r 25 -s wxga -target dvd -loglevel debug "$OUTPUT" 2> "$LOG_TRANSCODER"
   ffmpeg -f x11grab -i localhost:0.0 -r 25 -s wxga -loglevel debug "$OUTPUT" 2> "$LOG_TRANSCODER"
   #ffmpeg -i "$INPUT" -max_delay 500000 -f avi -y "$OUTPUT"
}


#
# Старт скрипта
#

create_log_file
if type $NAME_FUNCTION >/dev/null 2>&1; then            # если функция (расширение) в скрипте зарегистрировано
    #echo exist
    ${NAME_FUNCTION}                                    # запускаем именно её
else
    #echo no
    transcode_vlc                                       # иначе запускаем транскодер по умолчанию
fi

echo "script $MYNAME exit. " >> "$LOG_FILE"
exit 0



case "$EXT" in
  flv)          transcode_flv;          ;;
  mkv)          transcode_mkv;          ;;
  wmv)          transcode_wmv;          ;;
  avi)          transcode_avi;          ;;
  mp3)          transcode_mp3;          ;;
  slide)        transcode_slide;        ;;
  mp4)          transcode_mp4;          ;;
  avit)         transcode_mkv;          ;;
  ts)           transcode_ts;           ;;
  scr)          transcode_scr;          ;;
  m2ts)         transcode_mkv;          ;;
  mov)          transcode_mov;          ;;
  m4v)          transcode_m4v;          ;;
  asf)          transcode_asf;          ;;
  #*)           transcode_null;         ;;
  *)            transcode_vlc;          ;;
esac

exit 0







# пример разбора параметров кмонадной строки

USAGE="
This script is used by MediaTomb for transcoding support. It can also serve as
a script to transcode various files in a format suitable for streaming directly.

Synopsis:
transcoder [TRANSCODE FUNCTION OPTION] [GENERIC OPTIONS]

Generic Options:
-h, --help                 Display this help message.
-i, --input                Input file that is meant to be transcoded.
-o, --output               Output file that will be read back by MediaTomb.
--audio-lang               Specify ISO 639 language code to use for audio.
--subtitle-lang            Specify ISO 639 language code to use for subtitles.

Transcode Function Options (one is required):
--video-common             Perform generic video transcoding.
--audio-common             Perform generic audio transcoding.
--transcode-matroska       Used in transcoding matroska files.
"


while [ "$#" -gt "0" ]
do
    case "$1" in
        -i|--input)
            INPUT="$2"
            shift; shift;
            ;;
        -o|--output)
            OUTPUT="$2"
            shift; shift;
            ;;
        --video-common)
            USE_VIDEO_COMMON=1
            shift
            ;;
        --audio-common)
            USE_AUDIO_COMMON=1
            shift
            ;;
        --transcode-matroska)
            USE_TRANSCODE_MATROSKA=1
            shift
            ;;
        --audio-lang)
            ALANG="$2"
            shift; shift;
            ;;
        --subtitle-lang)
            SLANG="$2"
            shift; shift;
            ;;
        -h|--help|*)
            echo "${USAGE}"
            exit 1
            ;;
    esac
done

# Perform specified function
if [ $USE_VIDEO_COMMON ]; then
    video_common "$INPUT" "$OUTPUT"
elif [ $USE_AUDIO_COMMON ]; then
    audio_common "$INPUT" "$OUTPUT"
elif [ $USE_TRANSCODE_MATROSKA ]; then
    transcode_matroska "$INPUT" "$OUTPUT" "$ALANG" "$SLANG"
else
    # Must specify one transcoding function
    echo "${USAGE}"
    exit 1
fi

То что не убивает нас, делает нас сильнее! © Ницше.
When life puts you in tough situations, don’t say "why me". Just say "try me".
GNU/Linux Debian

3 (18.06.2012 09:38:45 отредактировано Vascom)

Сделай своё облако, например с помощью этого http://owncloud.org/
Сделай автоматический бэкап.
Ну HTTP и FTP сервера.
Добавь вебкамеру и сделай видеоконтроль за чем-нибудь (видеоглазок входной двери например), для начала при помощи motion.

Ещё интересно сколько эта штука потребляет электричества?
Настрой отправку автоматических почтовых сообщений по разным событиям.

4

system-root пишет:

возможно станет DLNA сервером заодно, если осилю перекодирование.

Перекодирование нужно, если целевая «железяка» не поддерживает формат файлов, имеющихся на dlna-сервере, либо имеются ограничения по «железу» на компьютере-приёмнике медиа контента.

Был, был и весь вышел...

5

system-root пишет:

выглядит эта сволочь кстати так =)

А что у неё внутри?

Был, был и весь вышел...

6

Lupo Alberto пишет:

А что у неё внутри?

Железо. Инфа 146%

АХАХХАХААХАХАХХАХАХ!!!11
То есть "Мяу"

7

Lupo Alberto пишет:
system-root пишет:

выглядит эта сволочь кстати так =)

А что у неё внутри?

http://s54.radikal.ru/i143/1206/19/38940ed937a8t.jpg

8

А мне ещё дедушко родный всегда говорил
(дедушко закончил Ленинградскую ВПШ в 1949 г., и был освобождённым парторгом на строительстве Оленегорского ГОКа,
за что и получил в 55-ом годе орден Ленина) -
кажный интиллихентный мушшина должен иметь свою личную и именную кувалду (а всё остальное - приложится).

Давно уже не забавно наблюдать торжество отрицательного отбора.

9

voral пишет:

transcoder.sh

voral пишет:

авт. Никишин С.В. 27.12.2010 г

г-н Никишин С.В. тот ещё упоротый быдлокодер, не распарсил это творение с двух набегов.

10

system-root пишет:

г-н Никишин С.В. тот ещё упоротый быдлокодер, не распарсил это творение с двух набегов.

Ну уровень кодера и упоротости я не знаю ab Для меня было главным что сервер заработал. И с ноября месяца смотрю на телеке фиьмы с компа. Разобраться в деталях как всегда времени не хватает.

То что не убивает нас, делает нас сильнее! © Ницше.
When life puts you in tough situations, don’t say "why me". Just say "try me".
GNU/Linux Debian

11

system-root, меня интересует, какое именно «железо» (материнка, процессор и т. п.) внутри.

Был, был и весь вышел...

12

Да-да, нам интересен вывод команд:
cat /proc/cpuinfo
lspci
lsusb
dmidecode
dmesg

ab

13

ну давайте расскажу как такой приготовить:
ASUS AT5NM10T-I CPU on board
Корпус Thermaltake Element Q Black-Red 200W
Жесткий диск 1Tb Seagate ST1000DL002
Память SO-DIMM DDR3 2048 Mb (pc-8500) х2шт
Система охлаждения HDD Scythe Himuro *1
Система охлаждения HDD Scythe Ita Kaze *2
Беспроводная сетевая карта ASUS PCE-N10

*1 - ставиться на место DVD
*2 - ставиться на специальное место сбоку предназначенное для жесткого диска, на выдув. на фото видно.


CPU Temperature:    +29.0°C  (high = +60.0°C, crit = +95.0°C)
MB Temperature:     +37.0°C  (high = +45.0°C, crit = +75.0°C)
/dev/sda: ST1000DL002-9TT153: 33°C

прикрутил SARG, bindgpraph, Zabbix, в общем было бы классно иметь одну вебморду ко всему этому. жаль что не знаю таких пакетов.

пока в планах
1) раскидать логи всех демонов в разные файлы, чтоб не рыться в syslog\daemon.log
2) установить агрегатор логов
3) написать скрипты для сбора температур
4) воткнуть эти скрипты в Zabbix, настроить алармы и действия при нештатных ситуациях
5) буду ставить релей почтовик с вебмордой (?наркаман штоле?)
6) ну может удалю почтовик потом..

давайте идеи ребят?

14

Я выше накидал идей.

15

system-root пишет:

1) раскидать логи всех демонов в разные файлы, чтоб не рыться в syslog\daemon.log

metalog

system-root пишет:

2) установить агрегатор логов

logwatch

Был, был и весь вышел...

16

system-root пишет:

ASUS AT5NM10T-I CPU on board

HDMI нет? А как тогда видео смотреть?  bw

Был, был и весь вышел...

17

Lupo Alberto пишет:

logwatch

где-то года 2 назад писал пост об этом здесь, да поиск изменили, найти свои сообщения не могу =)
блин часть моих поисковых запросов попадало на мои же посты, я читал и офигивал просто

18

Vascom пишет:

Ещё интересно сколько эта штука потребляет электричества?

Думаю, не более 25 Вт.

Да, у меня Ubuntu.
Нет, не глючит.

19

Vascom - про облако я не понял совсем =(, бекап ещё рано, но будет, да. по крону наверное

tar cf /.watch/etc.tar /etc

с motion хотелось бы играться используя какой нибудь Raspberry Pi, но это уже после проекта "вспомнить всё"

Lupo Alberto пишет:

HDMI нет? А как тогда видео смотреть?  bw

с телевизора и ноутбуков, у меня нет современных мониторов для hdmi

20

Коробочка красивая, да места мало — и хотя на материнке нет PCI-слотов, как вы думаете, встала бы туда PCI-карта, пусть и низкопрофильная?

Был, был и весь вышел...

21

коробочка ровно такой высоты чтоб влезла стандартная планка у всех плат расширения.
единственная её проблема это БП нависающий над материнкой, т.е. кулер уже не влезет, если брать i3\i5.
так что если брать такие, то только адаптером питания.
корпус кстати судя по хабру довольно модный этим летом =) хотя по сути просто нет выбора в магазинах.

22

system-root пишет:

с телевизора и ноутбуков, у меня нет современных мониторов для hdmi

Хватает встроенной видеокарты для просмотра «тяжёлых» файлов?

Был, был и весь вышел...

23 (21.06.2012 20:26:43 отредактировано system-root)

Lupo Alberto пишет:

metalog

выбрал syslog-ng, конфиг конечно придумал у них укурок, но лучше не найдёшь

Lupo Alberto пишет:

logwatch

а вот тут я поставил себе очень интересную штуку
http://s51.radikal.ru/i134/1206/f6/83ccf2706a14t.jpg

24

system-root пишет:

а вот тут я поставил себе очень интересную штуку

logwatch хорош тогда, когда достаточно отчётов на почту.

Можно ссылку на «интересную штуку»?

Был, был и весь вышел...

25

http://graylog2.org/
http://habrahabr.ru/post/132116/

26

хочу поделиться тем, что получилось.
во первых, за ~20к рублей я получил программно-аппаратный комплекс стоимостью от 66800рублей в готовом варианте.
во вторых, оптимизировал это для домашнего использования. т.е.
1) он качает торренты
2) используется как файловое хранилище,
3) управляется через web интерфейс,
4) достаточно защищён для использования прямых ip.
5) раздаёт интернеты по wifi с фильтрацией по MAC


в качестве системы логирования и мониторинга была выбрана observium, в замену zabbix и graylog2.
логи syslog-ng передаются в эту систему мониторинга, по этому всё в одном, да ещё с красивыми графиками лучше тяжёлого zabbix.

http://i021.radikal.ru/1206/4e/ae510c4f1923t.jpg

управление и настройка drweb так-же через web интерфейс, логи я не отключил, но пишу в tmpfs, чтоб не поднимать disk i/o
http://s53.radikal.ru/i139/1206/5d/17f3f1aebe5ft.jpg

мониторинг нагрузки bind9, в принципе не нужен особо, но даёт понимание нагрузки которую не выдерживал встроенный dns сервер роутера.
http://s002.radikal.ru/i197/1206/1b/f03852243c66t.jpg

transmission-daemon с автоматической загрузкой торрент файлов через yandex.disk, используется с ядерным модулем TCP-LP, т.е. при всём желании он не просадит мне канал.
http://s017.radikal.ru/i440/1206/d2/09bf082351f2t.jpg



owncloud - да крутая идея, можно из кофехауза загрузить новую книжку в телефон или планшет.

http://i048.radikal.ru/1206/f9/911bce834388t.jpg

расшаривать файлы с не_латинскими именами нельзя
http://s018.radikal.ru/i521/1206/d4/3e40f3264e3ft.jpg
при копировании через webdav блокируется любая возможность что-то сделать.
музыка заикается ужасно. но выглядит конечно всё это красиво.
http://s56.radikal.ru/i154/1206/6e/c0b9974c4c80t.jpg
в общем GNU это такой gnu..


резюме:
претензии имеются почти ко всем программным продуктам кроме drweb и transmission
начиная с наркоманского syslog-ng чей конфиг пишется почти на языке программирования и не дай боже ты скобку не там закроешь.
а squid так вообще.. тот кто придумал вшивый прокси с документацией размером в 4 тома - должны гореть в аду.
естественно с разработчиками posix regexp - посылаю им лучи ненависти.