blob: b2a985e3ee0d5b0f1fa75c4a3de528b2074c7c9f (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
|
#!/bin/sh
#
# Installation:
#
# $ git clone git://github.com/johnf/m3u8-segmenter.git
# $ cd m3u8-segmenter
# $ ./confiugure
# $ make
# $ sudo cp m3u8-segmenter /usr/local/bin
# $ copy start-hls.sh /usr/local/bin
#
# add following to /etc/fstab
# tmpfs /var/www/elevate-live tmpfs size=1G,mode=755,uid=flumotion,gid=flumotion 0 0
#
if [ -z "$1" ] || [ -z "$2" ] || [ -z "$3" ]; then
echo "Usage: $0 <name> <src> (high|medium|low)"
exit 1
fi
name=$1
quality=$3
stream_name="$name/$2-hls-$quality"
src="http://localhost:8000/$2-flash-$quality.flv"
segmenter="/usr/local/bin/m3u8-segmenter"
len=3
num=3
url="http://elevate-live.spreadspace.org/"
case "$3" in
high)
arate=160k
;;
medium)
arate=128k
;;
low)
arate=96k
;;
*)
arate=128k
;;
esac
cd /var/www
ffmpeg -y -i "$src" -f mpegts -acodec libmp3lame -ar 44100 -ab "$arate" -vcodec copy -vbsf h264_mp4toannexb -async 2 - | $segmenter -i - -d $len -n $num -p "$stream_name" -m "$stream_name.m3u8" -u "$url"
rm -f "$stream_name"-*.ts
rm -f "$stream_name".m3u8
exit 0
|