#!/bin/bash 

InitialSegBuffer=1

SegmentDuration=6


server_ip_1=192.168.10.174

server_ip_2=192.168.10.175


content=/vod/Movie/AVATAR_700k.m3u8


used_svr=1


seg_url=""


result=0

file_name=""


function GetSegmentURL()

{

if [ $used_svr -eq 1 ]

then  

#echo "used_svr=$used_svr"      

seg_url=$1

else    

echo $1 > $$.tmp

sed -i "s/${server_ip_1}/${server_ip_2}/g" $$.tmp 

seg_url=`cat $$.tmp`

rm -f $$.tmp   

fi

echo "seg_url=$seg_url"        

}



function ServerStatusCheck()

{

        if [ $1 -ne 0 ]

        then        

        echo "SS error"

if [ $used_svr -eq 1 ]

then

used_svr=2

else

used_svr=1

fi

else        

        echo "wget executed successfully"

        fi


echo "SS=$used_svr ==>"

}


function GetFileName()

{

url="http://192.168.10.171/vod/Movie/AVATAR_700k_-_-_0043.ts?sid=54730"

file_name=$(basename $1)

OLDIFS=$IFS

IFS="?"

read -a array <<< "$(printf "%s" "$file_name")"

IFS=$OLDIFS

file_name=${array[0]}

}



# PID

imsi=$$.m3u8


rm -f ./*.m3u8

rm -f ../segments/*


lynx --source "http://$server_ip_1$content" >> $imsi


dos2unix $imsi


if [ -f $imsi ]

then

count=1

for imsi2 in $(awk '/http/{print}' $imsi)

do

if [ $count -gt $InitialSegBuffer ]

then

sleep $SegmentDuration

  fi

#lynx --source $imsi2 > /dev/null

while :

do

GetSegmentURL $imsi2

GetFileName $seg_url 

wget -q "$seg_url" -O "/var/www/html/test/segments/$file_name"

result=$?

if [ $result -ne 0 ]

then

ServerStatusCheck $result

usleep 1000

else

break;

fi

done

count=$(($count+1))

done

fi


rm -f $imsi



failover_client.sh