Les fichiers sources
Site dynamique original : Reload page

( Reponse du 16/04/2024 06:07:26 UTC, par serveur :
    SERVER NAME : "www.trousperdu.org"
    SERVER_PORT : "80"
 Suite a la requete :
    HTTP_HOST : "www.trousperdu.org"
    REQUEST_URI : "/cgi-bin/viewsource.bin?/root/Web-Server/uconf/ecouteconftrousperdu.sh"
 Adresse du demandeur : "3.149.234.230" ) :


LE SOURCE DU FICHIER "/mnt/hda1/root/Web-Server/uconf/ecouteconftrousperdu.sh"
 ( du 16/11/2023 13:43:36 UTC ) :
-rwxr-xr-x 1 knoppix knoppix 5111 Nov 16 14:43 /mnt/hda1/root/Web-Server/uconf/ecouteconftrousperdu.sh
#! /bin/bash
#NC imcp.ba@free.fr  IMCP Blandy Alain


#VERSION ecouteconftrousperdu.sh DU 1700142216  # 16/11/2023 13:43:36 UTC
# ETAT stable !!!



# CE PROGRAMME SH ecouteconftrousperdu.sh
#   EST DESTINE A ECOUTER LA CONFERENCE

# suppose que l'on a charge
#      - le module  : SOX
#            verifier sa presence par : sox -h
#
#            regler le mixeur pour faire marcher
#            le petit programme  suivant
#              "  rec -t wav - | play -t wav - "
#               qui envois le son du micro sur le HP  ...
#                  avec un  bon volume sonore sans saturer !!!
#                   ( dans ce script un barregraphe est disponible )....

#                   teste sur version Sox V14.4.1
#                   qui supprot un play URL !!!!

#   on peut aussi utiliser autre module que sox !!!

#   =======================================
#   =======================================
#           MISE EN OEUVRE 
#
# FAIRE UN CD Dans un directory approprie
#  ex  : mkdir conference
#           cd conference
#
# OUVRIR OU CREER AVEC UN EDITEUR ./ecouteconftrousperdu.sh
#   et vider la page ( tout selectionner ; supprimer  )
#
# AVEC VOTRE SEURFEUR DANS L ENCADRE DE COULEUR
# COPIER (CTL+C) tous ce fichier source 
#
# REVENIR dans l'editeur
#  FAIRE UN COLLER  (CTL+V) (ou boutton central sourie)
#    ET SAUVEGARDER dans ./ecouteconftrousperdu.sh 
#
# EN LIGNE DE COMMANDE :
#  RENDRE EXECUTABLE le fichier :
#    chmod +x ./ecouteconftrousperdu.sh (0755)
#  LANCER  le client  ./audiotrousperdu.sh
#     dans des fenetres xterm ou console ALT+F1 .... separees !
# ....

#   =======================================
#   =======================================

# parametres

serveur='www.trousperdu.org';  #serveur apache a contacter par defaut

# les parametres d'appel sont identifies par leur possition
# un parameter indefinis ( par defaut) est represente pac le caractere '!'

if test "$1" != '' && test "$1" != '!'  ; then #parametre 1 si different de !
  serveur="$1"; # c'est le nom implicite du serveur
fi;

#   ========================================

echo " $0 $* 
         PROGRAMME POUR ECOUTER LA CONFERENCE

                ( usage : $0 $serveur 
                               '!' : parametre par defaut ) 

              Appel simplifie 
                $0
";

# par convention les appel simple sous unix exec
# $0 represente le path appel du script
# et permet ici auto referencement du fichier script source
grep '#VERSION' $0 | grep -v grep;
echo;


nbdc='0'; #compteur de defauts consecutifs

lslot='2'; #largeur de la 1er tranche : plus faible possible !!! (duree de la tranche precedante)

cumul='0'; #temps cumule restitution sonore derniere locution conference
nbt='0';   #nb de tranches son serveur correspondant

while test '1' == '1';  do  # boucle de lecture des tranches de son

 tty -s; # attache a une tty
 if test "$?" != '0' ; then
     break; #pour tuer tache plus ou pas attache a xterm
 fi;


echo "
* Play ";

start="`date -u +%s`";  #mesure du temps de reproduction de cette tranche

#toutes procedure capable de lire une url !!!
( play  http://$serveur/cgi-bin/confaudio.bin; ) # le serveur ne doit pas temporiser !!!
rep="$?";
# play joue dessuite mais ne temporise pas en attente d'un eof et coupe dessuite  !!!!
# c est pour cela que l'on decoupe le son en tranche
# cela libere apache

dslot="$[`date -u +%s` - $start]"; #dure de cette play tranche
echo "   Slot  $dslot s  : Erreur $rep ";


if test "$rep" != '0' || test "$[$dslot < 1]" == '1'; then #erreur play ou slot faible voir nulle

  # erreur play ou fin de locuteur

  echo '   Le fichier demande est supprime ! ?'; #probablement !!!

  nbt='0';    # annuler etat  courant de ce locuteur
  cumul='0';  # duree totale de cette tranche reproduction

  if test "$[$nbdc < 300]" == '1'; then  # econtrole timeout

    echo "   On attends un nouveau locuteur ...  $nbdc ";
    sleep 2; #tempo de resyncro mais permet aussi le  CTL+C operateur
    nbdc="$[$nbdc + 1]"; #incrementer compteur de defaut consecutif

  else

    echo "   TIMEOUT locuteur !";
    break;  #on arrete la boucle

  fi;


else  #play ok et ou non null slot 

   cumul="$[$cumul + $dslot]"; #duree totale de cette reproduction
   nbt="$[$nbt + 1]";

   echo "Transmission Derniere Locution Deja diffuse $cumul s en $nbt slots ";

   # calcul du temps a perder pour resyncroniser

   echo "         $lslot - $dslot"; # pour info delta entre deux tranche  KOKKKKKKKKKKKKKK

   tempaperdre="$[$lslot - $dslot]"; #comparaison avec precedant
   if test "$[$tempaperdre > 1]" == '1' ; then # plus court
      tempaperdre="$[$tempaperdre + 1]";
      #pour eviter de renvoyer plusieur fois ce bout
      echo -n "         Attente $tempaperdre s ...";
      sleep $tempaperdre;echo " !";
   # else
   fi;
      lslot="$dslot"; # cas normal OK memoriser dure reference OK  pour prochaine itteration
   #fi;

   # ok
   nbdc='0'; # raz du nombre de defauts consecutifs

fi;

done;

echo "Transmission Derniere locution Reproduite $cumul s en $nbt slots ";

echo "FIN DU PROGRAMME $0 $*";

# copier coller juque ici
#
#


Adresse du demandeur : "3.149.234.230"

NC imcp.ba@trousperdu.org imcp.ba@free.fr IMCP Blandy Alain
Statistiques