Skip to content
GitLab
Menu
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
agetic
librecast
Commits
679e50be
Commit
679e50be
authored
Sep 04, 2017
by
Carlos Remuzzi
Browse files
habilitando conexion agnostica orientada a IP
parent
786b126b
Changes
1
Show whitespace changes
Inline
Side-by-side
librecast
View file @
679e50be
#!/usr/bin/env bash
SIZE_STRING
=
$(
xdpyinfo |
awk
'/dimensions/{print $2}'
)
echo
"detectando resolución
$SIZE_STRING
"
# aqui se deberia detectar pantallas dobles o demasiado grandes
# para mostrar solo una porcion via cropping
SCREEN_WIDTH
=
"
$(
cut
-d
'x'
-f1
<<<
"
$SIZE_STRING
"
)
"
SCREEN_HEIGHT
=
"
$(
cut
-d
'x'
-f2
<<<
"
$SIZE_STRING
"
)
"
AP_NAME
=
libreCast-s1
AP_ADDRESS
=
192.168.12.1
# legacy, porque hemos empezado con la sala llamada libreCast-s1
if
[
$#
-eq
1
]
;
then
AP_
NAME
=
$1
AP_
ADDRESS
=
$1
fi
echo
"connectando a
$AP_NAME
"
if
[
-z
`
pidof gst-launch-1.0
`
]
;
then
pkill
-15
gst-launch-1.0
if
[
$#
-eq
2
]
;
then
AP_NAME
=
$2
fi
if
which nmcli
>
/dev/null 2>&1
;
then
invocar_nmcli
()
{
echo
"conectando a
$AP_NAME
"
nmcli con up
$AP_NAME
if
[
$?
-eq
1
]
;
then
exit
1
fi
}
main
()
{
if
[
-z
"
$(
pidof gst-launch-1.0
)
"
]
;
then
pkill
-15
gst-launch-1.0
# AP_NAME es necesario solo si se quiere usar Network Manager
# para la conexion automatica al AP wifi
if
[
-n
"
$AP_NAME
"
]
;
then
if
[
which nmcli
>
/dev/null 2>&1
]
;
then
invocar_nmcli
else
echo
"
El sistema no cuenta con nmcli
"
echo
"Es necesario configurar la conexión a
$AP_NAME
manualmente"
echo
"
utilizando conexion manual
"
fi
fi
# a transmission is not running yet from this machine
curl
--connect-timeout
3
-s
-k
-X
GET https://192.168.12.1:5443/player/start |
grep
'Player iniciado'
SIZE_STRING
=
$(
xdpyinfo |
awk
'/dimensions/{print $2}'
)
SCREEN_WIDTH
=
"
$(
cut
-d
'x'
-f1
<<<
"
$SIZE_STRING
"
)
"
SCREEN_HEIGHT
=
"
$(
cut
-d
'x'
-f2
<<<
"
$SIZE_STRING
"
)
"
# por defecto no realizamos ningun recorte
CROP_STRING_X
=
""
CROP_STRING_Y
=
""
# en caso el ancho supere lo maximo consentido de 1920
if
[
"
$SCREEN_WIDTH
"
-gt
1920
]
;
then
echo
"recortando el ancho de la pantalla ..."
SCREEN_WIDTH
=
1920
CROP_STRING_X
=
"startx=0 endx=1919"
CROP_STRING_Y
=
"starty=0 endy=
$((
$SCREEN_HEIGHT
-
1
))
"
fi
# en caso el alto supere lo maximo consentido de 1080
if
[
"
$SCREEN_HEIGHT
"
-gt
1080
]
;
then
echo
"recortando el alto de la pantalla..."
SCREEN_HEIGHT
=
1080
CROP_STRING_X
=
"startx=0 endx=
$((
$SCREEN_WIDTH
-
1
))
"
CROP_STRING_Y
=
"starty=0 endy=1079"
fi
curl
--connect-timeout
3
-s
-k
-X
GET https://
$AP_ADDRESS
:5443/player/start |
grep
'Player iniciado'
if
[
$?
-eq
0
]
;
then
pacmd unload-module module-null-sink
...
...
@@ -37,24 +64,30 @@ if [ -z `pidof gst-launch-1.0` ];then
pacmd update-sink-proplist libreCast device.description
=
libreCast
pacmd set-default-sink libreCast
gst-launch-1.0 ximagesrc use-damage
=
false
!
videoconvert
!
videoscale
!
video/x-raw,format
=
I420,width
=
$SCREEN_WIDTH
,height
=
$SCREEN_HEIGHT
,framerate
=
24/1,bitrate
=
6000
!
jpegenc
quality
=
80
!
rtpjpegpay
!
udpsink
host
=
192.168.12.1
port
=
1234
sync
=
false
&
gst-launch-1.0
-v
pulsesrc
device
=
"libreCast.monitor"
!
"audio/x-raw,rate=11500,channels=2,depth=16"
!
udpsink
host
=
192.168.12.1
port
=
5678
sync
=
false
&
gst-launch-1.0 ximagesrc use-damage
=
false
$CROP_STRING_X
$CROP_STRING_Y
!
videoconvert
!
videoscale
!
video/x-raw,format
=
I420,width
=
$SCREEN_WIDTH
,height
=
$SCREEN_HEIGHT
,framerate
=
24/1,bitrate
=
6000
!
jpegenc
quality
=
80
!
rtpjpegpay
!
udpsink
host
=
$AP_ADDRESS
port
=
1234
sync
=
false
&
gst-launch-1.0
-v
pulsesrc
device
=
"libreCast.monitor"
!
"audio/x-raw,rate=11500,channels=2,depth=16"
!
udpsink
host
=
$AP_ADDRESS
port
=
5678
sync
=
false
&
exit
0
else
# the player is already running or the player is not reachable
exit
1
fi
else
else
# a transmission is already running from this machine
curl
--connect-timeout
3
-s
-k
-X
GET https://
192.168.12.1
:5443/player/stop
echo
"stopping ..."
curl
--connect-timeout
3
-s
-k
-X
GET https://
$AP_ADDRESS
:5443/player/stop
pkill
-15
gst-launch-1.0
pacmd unload-module module-null-sink
if
which nmcli
>
/dev/null 2>&1
;
then
if
[
-n
"
$AP_NAME
"
]
;
then
if
[
which nmcli
>
/dev/null 2>&1
]
;
then
nmcli con down
$AP_NAME
else
echo
"Por favor desconectarse de
$AP_NAME
"
fi
fi
fi
fi
}
main
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment