Activitats

Servei de vídeo en 'streaming' amb el programari VLC

L’objectiu d’aquesta activitat és la instal·lació, configuració i emissió d’un vídeo en streaming i posterior visualització.

VLC és un reproductor multimèdia que forma part d’un projecte anomenat VideoLAN. Aquest reproductor és multiplataforma, gratuït i programari lliure.

Segons la web oficial, les principals característiques són:

  • Ho reprodueix tot: fitxers, discos, càmeres web, dispositius i fluxos.
  • Reprodueix la majoria de codificadors sense necessitat d’instal·lar paquets: MPEG-2, MPEG-4, H.264, MKV, WebM, WMV, MP3…
  • S’executa en totes les plataformes: Windows, Linux, Mac OS X, Unix, iOS, Android…
  • És totalment lliure, sense spyware, sense anuncis i sense fer seguiment de l’usuari.

A més, el programari és capaç d’emetre en streaming.

Realitzeu les següents tasques:

  1. Instal·lació del servei de vídeo amb VLC
  2. Configuració del servei de vídeo
  3. Visualització del vídeo des del client amb VLC

1. Instal·lació del servei de vídeo amb VLC

Instal·leu-vos VLC:

  1. # apt-get install vlc
  2. S'està llegint la llista de paquets… Fet
  3. S'està construint l'arbre de dependències
  4. S'està llegint la informació de l'estat… Fet
  5. S'instal·laran els següents paquets extres:
  6. libbasicusageenvironment1 libcddb2 libdca0 libdvbpsi10 libebml4v5 libgles2-mesa libgroupsock8 libkate1 liblirc-client0
  7. liblivemedia57 libmatroska6v5 libmicrodns0 libmpcdec6 libmpeg2-4 libopenmpt-modplug1 libprotobuf-lite10 libproxy-tools
  8. libresid-builder0c2a libsidplay2 libupnp6 libusageenvironment3 libvlc-bin libvlc5 libvlccore9 libxcb-xv0 vlc-bin vlc-data
  9. vlc-l10n vlc-plugin-base vlc-plugin-notify vlc-plugin-qt vlc-plugin-samba vlc-plugin-skins2 vlc-plugin-video-output
  10. vlc-plugin-video-splitter vlc-plugin-visualization
  11. Paquets suggerits:
  12. lirc libdvdcss2
  13. S'instal·laran els paquets NOUS següents:
  14. libbasicusageenvironment1 libcddb2 libdca0 libdvbpsi10 libebml4v5 libgles2-mesa libgroupsock8 libkate1 liblirc-client0
  15. liblivemedia57 libmatroska6v5 libmicrodns0 libmpcdec6 libmpeg2-4 libopenmpt-modplug1 libprotobuf-lite10 libproxy-tools
  16. libresid-builder0c2a libsidplay2 libupnp6 libusageenvironment3 libvlc-bin libvlc5 libvlccore9 libxcb-xv0 vlc vlc-bin
  17. vlc-data vlc-l10n vlc-plugin-base vlc-plugin-notify vlc-plugin-qt vlc-plugin-samba vlc-plugin-skins2
  18. vlc-plugin-video-output vlc-plugin-video-splitter vlc-plugin-visualization
  19. 0 actualitzats, 37 nous a instal·lar, 0 a suprimir i 130 no actualitzats.
  20. S'han d'obtenir 14,7 MB d'arxius.
  21. Després d'aquesta operació s'empraran 66,7 MB d'espai en disc addicional.
  22. Voleu continuar? [S/n]

2. Configuració del servei de vídeo

Per tal de configurar el servei de vídeo amb VLC i deixar-lo emetent, un cop obert cal anar a Fitxer multimèdia / Flux, triar el fitxer i clicar a Transmet.

Afegiu com a nova destinació HTTP:

I especifiqueu el port. En aquest cas deixem el que ve per defecte, el 8080:

Finalment, cliqueu Flux:

Es queda emetent, tot i que la presentació és una pantalla negra:

3. Visualització del vídeo des del client amb VLC

Per poder visualitzar-ho en el client, aquest també ha de tenir instal·lat el programari VLC.

A través de l’opció Fitxer multimèdia / Obre un flux de la xarxa, introduïu les dades necessàries (URL) per poder visualitzar el vídeo en streaming:

A continuació es reprodueix el vídeo:

Referències

VideoLAN

Servei de vídeo en 'streaming' amb el programari VLC: emissió en 'batch'

L’objectiu d’aquesta activitat és conèixer els principals aspectes tècnics que cal tenir en compte a l’hora de configurar el programari VLC per obtenir-ne el rendiment més òptim.

El VLC és un reproductor multimèdia del projecte VideoLan distribuït amb llicència GPL. Admet diferents còdecs d’àudio i vídeo i diferents formats d’arxiu, a més dels formats DVD, VCD i protocols d’streaming. És considerat un dels millors programes lliures per a la reproducció d’àudio i vídeo. És un projecte que permet visualitzar clips tant en streaming com a la carta.

  • Configureu VLC per fer una emissió en temps real.

Un cop instal·lat el programari en la màquina emissora i en les receptores heu d’ajustar els paràmetres d’emissió en la màquina servidor. Primer heu de fer una emissió d’unidestinació (l’unidestinació o unicast és l’enviament d’informació a un únic receptor).

Creeu en el servidor un document anomenat prova.cfg:

  1. # nano prova.cfg

L’arxiu ha de contenir les línies d’ordres següents:

# VLC media player VLM command batch
# http://www.videolan.org/vlc/
  
### Prova d'unicast
new prova1 broadcast enabled loop
setup prova1 input "/home/oriol/videos/TEDxESADExCT.mp4"
setup prova1 output #duplicate{dst=std{access=udp,mux=ts,dst=MAQUINA_DESTI:4321}}
control prova1 play

Inseriu a l’arxiu comentaris informatius precedits pel signe ”#” i l’adreça IP de la màquina client a la qual voleu servir el clip de vídeo. Amb new creeu a la primera línia un nou component anomenat prova1, per activar-lo amb enabled i fer que s’executi en bucle (loop).

A la segona línia indiqueu on es troba el clip de vídeo i el seu nom mitjançant l’ordre input. A continuació, indiqueu que el protocol que s’utilitzarà és UDP, que el format serà MPEG-TS (ts) i el destinatari, MAQUINA_DESTI, pel port 4321.

Per acabar, activeu la reproduccioó en temps real en el servidor amb l’ordre play:

Executeu des del terminal d’usuari (no root) i en mode dimoni la línia d’ordres següent:

  1. $ vlc -vvv --color --daemon -I telnet --vlm-conf prova.cfg --ttl 2 --rtsp-host 0.0.0.0:5554

Des del client, adreceu-vos al terminal d’usuari (no root) i executeu la línia d’ordres següent:

  1. $ vlc udp://@:4321

També podeu adreçar-vos al programari VLC i executar Suport / Obre un flux de la xarxa en la pestanya UDP / RTP i escollir el port. Podeu fer un enviament d’informació a diferents receptors (broadcast) mitjançant la creació de l’arxiu de configuració prova.cfg corresponent.

### Prova de broadcast
new prova2 broadcast enabled loop
setup prova2 input "/home/oriol/Vídeos/TEDxESADExCT.mp4"
setup prova2 output #standard{mux=ts,access=udp,dst=225.0.0.1,sap,name="Carles Torrecilla"}
control prova2 play

Si bé aquest exemple és similar al de l’emissió d’unidestinació, en aquest cas s’indica una adreça de multidifusió (225.0.0.1) i, a més, s’inclou un anunci SAP (Service Advertising Protocol, el protocol d’anuncis de serveis) del clip de vídeo amb el nom “Carles Torrecilla”.

A continuació heu d’executar, des del terminal d’usuari (no root) i en mode dimoni, la línia d’ordres següent:

  1. $ vlc -vvv --color --daemon -I telnet --vlm-conf prova.cfg --ttl 2 --rtsp-host 0.0.0.0:5554

En aquest cas, des de la màquina client s’ha d’executar la línia d’ordres següent:

  1. $ vlc udp://@:225.0.0.1

Emissió en temps real amb el protocol RTMP

L’objectiu d’aquesta activitat és conèixer el protocol RTMP (Real-Time Messaging Protocol) i realitzar una emissió en temps real amb el servidor Nginx com a servidor web.

Realitzeu les següent tasques:

  1. Instal·lació i configuració del servidor web Nginx
  2. Configuració de l’streaming en directe
  3. Preparació del vídeo
  4. Visualització del vídeo des d’un client amb VLC

1. Instal·lació i configuració del servidor web Nginx

Instal·leu el servidor web Lighttpd des del terminal:

  1. # apt-get install nginx
  2. S'està llegint la llista de paquets… Fet
  3. S'està construint l'arbre de dependències
  4. S'està llegint la informació de l'estat… Fet
  5. S'instal·laran els següents paquets extres:
  6. libnginx-mod-http-auth-pam libnginx-mod-http-dav-ext libnginx-mod-http-echo libnginx-mod-http-geoip
  7. libnginx-mod-http-image-filter libnginx-mod-http-subs-filter libnginx-mod-http-upstream-fair libnginx-mod-http-xslt-filter
  8. libnginx-mod-mail libnginx-mod-stream nginx-common nginx-full
  9. Paquets suggerits:
  10. fcgiwrap nginx-doc ssl-cert
  11. S'instal·laran els paquets NOUS següents:
  12. libnginx-mod-http-auth-pam libnginx-mod-http-dav-ext libnginx-mod-http-echo libnginx-mod-http-geoip
  13. libnginx-mod-http-image-filter libnginx-mod-http-subs-filter libnginx-mod-http-upstream-fair libnginx-mod-http-xslt-filter
  14. libnginx-mod-mail libnginx-mod-stream nginx nginx-common nginx-full
  15. 0 actualitzats, 13 nous a instal·lar, 0 a suprimir i 0 no actualitzats.
  16. S'ha d'obtenir 1632 kB d'arxius.
  17. Després d'aquesta operació s'empraran 2871 kB d'espai en disc addicional.
  18. Voleu continuar? [S/n]

Un cop instal·lat, podeu veure la pàgina web per defecte:

Si ho comproveu amb Nmap, veureu que s’ha obert el port 80, corresponent al protocol HTTP:

  1. # nmap -A localhost
  2.  
  3. Starting Nmap 7.40 ( https://nmap.org ) at 2019-09-26 18:12 CEST
  4. Nmap scan report for localhost (127.0.0.1)
  5. Host is up (0.000017s latency).
  6. Other addresses for localhost (not scanned): ::1
  7. Not shown: 999 closed ports
  8. PORT STATE SERVICE VERSION
  9. 80/tcp open http nginx 1.10.3
  10. |_http-server-header: nginx/1.10.3
  11. |_http-title: Welcome to nginx!
  12. Device type: general purpose
  13. Running: Linux 3.X|4.X
  14. OS CPE: cpe:/o:linux:linux_kernel:3 cpe:/o:linux:linux_kernel:4
  15. OS details: Linux 3.8 - 4.6
  16. Network Distance: 0 hops
  17.  
  18. OS and Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
  19. Nmap done: 1 IP address (1 host up) scanned in 10.44 seconds

Els backports són paquets de la propera versió de Debian que encara s’estan testejant. Es compilen i s’adeqüen per a la versió estable. Com que estaran presents a la propera versió, s’actualitzen forma transparent.

El suport per a RTMP s’instal·la a Nginx com un mòdul. Aquest mòdul no es troba a la versió estable, sinó que s’ha d’instal·lar com un backport. Per afegir el backport cal modificar les fonts del repositori:

  1. # echo "deb http://ftp.es.debian.org/debian stretch-backports main" >> /etc/apt/sources.list
  2. # apt-get update
  3. Obj:1 http://security.debian.org/debian-security stretch/updates InRelease
  4. Ign:2 http://ftp.es.debian.org/debian stretch InRelease
  5. Obj:3 http://ftp.es.debian.org/debian stretch-updates InRelease
  6. Bai:4 http://ftp.es.debian.org/debian stretch-backports InRelease [91,8 kB]
  7. Obj:5 http://ftp.es.debian.org/debian stretch Release
  8. Bai:6 http://ftp.es.debian.org/debian stretch-backports/main i386 Packages [601 kB]
  9. Bai:8 http://ftp.es.debian.org/debian stretch-backports/main Translation-en [466 kB]
  10. S'ha baixat 1158 kB en 2s (495 kB/s)
  11. S'està llegint la llista de paquets… Fet

I ara ja es pot instal·lar el mòdul:

  1. # apt-get -t stretch-backports install libnginx-mod-rtmp
  2. S'està llegint la llista de paquets… Fet
  3. S'està construint l'arbre de dependències
  4. S'està llegint la informació de l'estat… Fet
  5. S'instal·laran els següents paquets extres:
  6. libnginx-mod-http-auth-pam libnginx-mod-http-dav-ext libnginx-mod-http-echo libnginx-mod-http-geoip
  7. libnginx-mod-http-image-filter libnginx-mod-http-subs-filter libnginx-mod-http-upstream-fair libnginx-mod-http-xslt-filter
  8. libnginx-mod-mail libnginx-mod-stream nginx nginx-common nginx-full
  9. Paquets suggerits:
  10. fcgiwrap nginx-doc ssl-cert
  11. S'instal·laran els paquets NOUS següents:
  12. libnginx-mod-rtmp
  13. S'actualitzaran els paquets següents:
  14. libnginx-mod-http-auth-pam libnginx-mod-http-dav-ext libnginx-mod-http-echo libnginx-mod-http-geoip
  15. libnginx-mod-http-image-filter libnginx-mod-http-subs-filter libnginx-mod-http-upstream-fair libnginx-mod-http-xslt-filter
  16. libnginx-mod-mail libnginx-mod-stream nginx nginx-common nginx-full
  17. 13 actualitzats, 1 nous a instal·lar, 0 a suprimir i 393 no actualitzats.
  18. S'ha d'obtenir 2002 kB d'arxius.
  19. Després d'aquesta operació s'empraran 777 kB d'espai en disc addicional.
  20. Voleu continuar? [S/n]

2. Configuració de l’streaming en directe.

Per poder configurar l’streaming en directe cal editar l’arxiu principal de configuració d’Nginx. Aquest fitxer és /etc/nginx/nginx.conf. Afegim la secció rtmp següent:

rtmp {
        server {
                listen 1935;
                application live {
                        live on;
                }
        }
}

En aquesta secció estem indicant per quin port transmetrà el protocol RTMP (1935 és l’habitual) i el nom de l’aplicació o canal.

Un cop configurat el mòdul RTMP, cal reiniciar el servidor web per tal que aquests canvis tinguin efecte:

# service nginx restart
# service nginx status
● nginx.service - A high performance web server and a reverse proxy server
   Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled)
   Active: active (running) since Thu 2019-09-26 18:51:34 CEST; 9s ago
     Docs: man:nginx(8)
  Process: 3579 ExecStop=/sbin/start-stop-daemon --quiet --stop --retry QUIT/5 --pidfile /run/nginx.pid (code=exited, status=0/S
  Process: 3584 ExecStart=/usr/sbin/nginx -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
  Process: 3582 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
 Main PID: 3587 (nginx)
    Tasks: 2 (limit: 4915)
   CGroup: /system.slice/nginx.service
           ├─3587 nginx: master process /usr/sbin/nginx -g daemon on; master_process on;
           └─3588 nginx: worker process

set 26 18:51:34 debian systemd[1]: Starting A high performance web server and a reverse proxy server...
set 26 18:51:34 debian systemd[1]: nginx.service: Failed to read PID from file /run/nginx.pid: Invalid argument
set 26 18:51:34 debian systemd[1]: Started A high performance web server and a reverse proxy server.

3. Preparació del vídeo.

A partir d’aquest punt, aquesta aplicació o canal es podria alimentar a partir d’una càmera de vídeo per tal de transmetre en directe. Per a l’activitat, el que es farà serà alimentar-lo amb un vídeo. Aquest vídeo només es podrà veure en temps real (com si fos la televisió) i no es podrà avançar ni retrocedir, és a dir, no serà un vídeo a la carta, sinó en directe.

Per poder-ho fer ens ajudarem del programari ffmpeg. Amb ffmpeg publicarem el vídeo i el deixarem emetent.

Primer instal·lem el programari:

  1. # apt-get install ffmpeg
  2. S'està llegint la llista de paquets… Fet
  3. S'està construint l'arbre de dependències
  4. S'està llegint la informació de l'estat… Fet
  5. S'instal·laran els següents paquets extres:
  6. libavcodec57 libavdevice57 libavfilter6 libavformat57 libavresample3 libavutil55 libpostproc54 libswresample2 libswscale4
  7. Paquets suggerits:
  8. ffmpeg-doc
  9. S'actualitzaran els paquets següents:
  10. ffmpeg libavcodec57 libavdevice57 libavfilter6 libavformat57 libavresample3 libavutil55 libpostproc54 libswresample2
  11. libswscale4
  12. 10 actualitzats, 0 nous a instal·lar, 0 a suprimir i 322 no actualitzats.
  13. S'ha d'obtenir 8764 kB d'arxius.
  14. Després d'aquesta operació s'empraran 88,1 kB d'espai en disc addicional.
  15. Voleu continuar? [S/n]

Un cop instal·lat, ja podem emetre el vídeo en directe:

  1. # ffmpeg -re -i /var/www/html/live/Mulan.mp4 -c copy -f flv rtmp://localhost/live/Mulan
  2. ffmpeg version 3.2.14-1~deb9u1 Copyright (c) 2000-2019 the FFmpeg developers
  3. built with gcc 6.3.0 (Debian 6.3.0-18+deb9u1) 20170516
  4. configuration: --prefix=/usr --extra-version='1~deb9u1' --toolchain=hardened --libdir=/usr/lib/i386-linux-gnu --incdir=/usr/include/i386-linux-gnu --enable-gpl --disable-stripping --enable-avresample --enable-avisynth --enable-gnutls --enable-ladspa --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libebur128 --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libmp3lame --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx265 --enable-libxvid --enable-libzmq --enable-libzvbi --enable-omx --enable-openal --enable-opengl --enable-sdl2 --enable-libdc1394 --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-libopencv --enable-libx264 --enable-shared
  5. libavutil 55. 34.101 / 55. 34.101
  6. libavcodec 57. 64.101 / 57. 64.101
  7. libavformat 57. 56.101 / 57. 56.101
  8. libavdevice 57. 1.100 / 57. 1.100
  9. libavfilter 6. 65.100 / 6. 65.100
  10. libavresample 3. 1. 0 / 3. 1. 0
  11. libswscale 4. 2.100 / 4. 2.100
  12. libswresample 2. 3.100 / 2. 3.100
  13. libpostproc 54. 1.100 / 54. 1.100
  14. Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '/var/www/html/live/Mulan.mp4':
  15. ...
  16. Output #0, flv, to 'rtmp://localhost/live/Mulan':
  17. Metadata:
  18. major_brand : isom
  19. minor_version : 512
  20. compatible_brands: isomiso2avc1mp41
  21. encoder : Lavf57.56.101
  22. Stream #0:0(eng): Video: h264 (High) ([7][0][0][0] / 0x0007), yuv420p, 848x360, q=2-31, 556 kb/s, 23.98 fps, 23.98 tbr, 1k tbn, 24k tbc (default)
  23. Metadata:
  24. handler_name : VideoHandler
  25. timecode : 01:00:00:00
  26. Stream #0:1(eng): Audio: aac (LC) ([10][0][0][0] / 0x000A), 44100 Hz, stereo, 129 kb/s (default)
  27. Metadata:
  28. handler_name : SoundHandler
  29. Stream mapping:
  30. Stream #0:0 -> #0:0 (copy)
  31. Stream #0:1 -> #0:1 (copy)
  32. Press [q] to stop, [?] for help
  33. frame= 1162 fps= 24 q=-1.0 Lsize= 3426kB time=00:00:48.36 bitrate= 580.2kbits/s speed= 1x

4. Visualització del vídeo des d’un client amb VLC.

Amb el programari VLC obrirem un flux de xarxa i com a URL li indicarem el protocol, el host i l’aplicació.

En prémer Reprodueix començarem a veure la retranmissió del vídeo:

Referències

NGINX

Debian backports

FFmpeg

VideoLAN

'Pseudostreaming' amb el servidor web Lighttpd

L’objectiu d’aquesta activitat és la realització d’una emissió en el pseudostreaming. Per fer-ho utilitzarem el servidor web Lighttpd, la tecnologia Flash i el reproductor de vídeo FlowPlayer.

Realitzeu les següent tasques:

  1. Instal·lació del servidor web
  2. Configuració del servidor web
  3. Preparació del vídeo
  4. Preparació del reproductor de vídeo Flowplayer
  5. Visualització del vídeo amb Firefox

1. Instal·lació del servidor web Lighttpd.

Cerquem el nom del paquet per al servidor Lighttpd. Usarem el paràmetre –names-only per tal que no busqui a dins dels paquets i així afinar el resultat, si no el llistat és molt llarg:

  1. # apt-cache search --names-only lighttp
  2. lighttpd - fast webserver with minimal memory footprint
  3. lighttpd-doc - documentation for lighttpd
  4. lighttpd-mod-authn-gssapi - GGSAPI authentication for lighttpd
  5. lighttpd-mod-authn-ldap - LDAP authentication for lighttpd
  6. lighttpd-mod-authn-mysql - MySQL authentication for lighttpd
  7. lighttpd-mod-cml - cache meta language module for lighttpd
  8. lighttpd-mod-geoip - GeoIP restrictions for lighttpd
  9. lighttpd-mod-magnet - control the request handling module for lighttpd
  10. lighttpd-mod-mysql-vhost - MySQL-based virtual host configuration for lighttpd
  11. lighttpd-mod-trigger-b4-dl - anti-deep-linking module for lighttpd
  12. lighttpd-mod-webdav - WebDAV module for lighttpd
  13. root@server:~#

Instal·lem el servidor:

  1. # apt-get install lighttpd
  2. S'està llegint la llista de paquets… Fet
  3. S'està construint l'arbre de dependències
  4. S'està llegint la informació de l'estat… Fet
  5. El paquets següents s'han instal·lat automàticament i ja no serà necessaris:
  6. erlang-asn1 erlang-base erlang-crypto erlang-edoc erlang-goldrush erlang-inets erlang-jiffy erlang-lager erlang-mnesia erlang-odbc
  7. erlang-p1-cache-tab erlang-p1-iconv erlang-p1-stringprep erlang-p1-tls erlang-p1-utils erlang-p1-xml erlang-p1-yaml erlang-p1-zlib
  8. erlang-proper erlang-public-key erlang-runtime-tools erlang-ssl erlang-syntax-tools erlang-xmerl libnginx-mod-http-auth-pam
  9. libnginx-mod-http-dav-ext libnginx-mod-http-echo libnginx-mod-http-geoip libnginx-mod-http-image-filter libnginx-mod-http-subs-filter
  10. libnginx-mod-http-upstream-fair libnginx-mod-http-xslt-filter libnginx-mod-mail libnginx-mod-stream libodbc1 libsctp1 nginx-full
  11. Empreu «apt autoremove» per a suprimir-los.
  12. S'instal·laran els següents paquets extres:
  13. spawn-fcgi
  14. Paquets suggerits:
  15. rrdtool php5-cgi apache2-utils lighttpd-doc
  16. S'instal·laran els paquets NOUS següents:
  17. lighttpd spawn-fcgi
  18. 0 actualitzats, 2 nous a instal·lar, 0 a suprimir i 319 no actualitzats.
  19. S'han d'obtenir 322 kB d'arxius.
  20. Després d'aquesta operació s'empraran 1030 kB d'espai en disc addicional.
  21. Voleu continuar? [S/n]

Comprovem l’estat del servei:

  1. # service lighttpd status
  2. ● lighttpd.service - Lighttpd Daemon
  3. Loaded: loaded (/lib/systemd/system/lighttpd.service; enabled; vendor preset: enabled)
  4. Active: active (running) since Mon 2019-10-07 09:11:16 CEST; 33s ago
  5. Main PID: 1207 (lighttpd)
  6. Tasks: 1 (limit: 4915)
  7. CGroup: /system.slice/lighttpd.service
  8. └─1207 /usr/sbin/lighttpd -D -f /etc/lighttpd/lighttpd.conf
  9.  
  10. oct 07 09:11:16 server.ioc.cat systemd[1]: Starting Lighttpd Daemon...
  11. oct 07 09:11:16 server.ioc.cat systemd[1]: Started Lighttpd Daemon.

Comprovem la pàgina principal per veure que funciona:

I verifiquem amb Nmap el port que ha obert:

  1. # nmap -T4 -A localhost
  2.  
  3. Starting Nmap 7.40 ( https://nmap.org ) at 2019-10-07 09:20 CEST
  4. Nmap scan report for localhost (127.0.0.1)
  5. Host is up (0.000026s latency).
  6. Other addresses for localhost (not scanned): ::1
  7. Not shown: 999 closed ports
  8. PORT STATE SERVICE VERSION
  9. 80/tcp open http lighttpd 1.4.45
  10. |_http-server-header: lighttpd/1.4.45
  11. |_http-title: Welcome page
  12. Device type: general purpose
  13. Running: Linux 3.X|4.X
  14. OS CPE: cpe:/o:linux:linux_kernel:3 cpe:/o:linux:linux_kernel:4
  15. OS details: Linux 3.8 - 4.6
  16. Network Distance: 0 hops
  17.  
  18. OS and Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
  19. Nmap done: 1 IP address (1 host up) scanned in 10.65 seconds

Veiem que és un servidor web que escolta el port per defecte del protocol HTTP (port 80).

2. Configuració del servidor web Lighttpd.

Configurarem el mòdul d’streaming. Per fer-ho, habilitarem el mòdul per a la visualització de vídeos en format FLV amb la comanda lighttpd-enable-mod i recarregarem la configuració del servidor:

  1. # lighttpd-enable-mod
  2. Disabled modules: accesslog auth cgi debian-doc dir-listing evasive evhost expire extforward fastcgi fastcgi-php flv-streaming no-www proxy rewrite rrdtool simple-vhost ssi ssl status userdir usertrack
  3. Enabled modules:
  4. Enable module: flv-streaming
  5. Enabling flv-streaming: ok
  6. Run "service lighttpd force-reload" to enable changes
  7. # service lighttpd force-reload
  8. # service lighttpd status
  9. ● lighttpd.service - Lighttpd Daemon
  10. Loaded: loaded (/lib/systemd/system/lighttpd.service; enabled; vendor preset: enabled)
  11. Active: active (running) since Mon 2019-10-07 09:21:07 CEST; 6s ago
  12. Process: 6402 ExecStartPre=/usr/sbin/lighttpd -tt -f /etc/lighttpd/lighttpd.conf (code=exited, status=0/SUCCESS)
  13. Main PID: 6410 (lighttpd)
  14. Tasks: 1 (limit: 4915)
  15. CGroup: /system.slice/lighttpd.service
  16. └─6410 /usr/sbin/lighttpd -D -f /etc/lighttpd/lighttpd.conf
  17.  
  18. oct 07 09:21:07 server.ioc.cat systemd[1]: Starting Lighttpd Daemon...
  19. oct 07 09:21:07 server.ioc.cat systemd[1]: Started Lighttpd Daemon.

3. Preparació del vídeo.

FFmpeg és un conjunt d’utilitats de vídeo que permeten codificar, editar, convertir fitxers d’àudio i de vídeo, entre altres coses.

Convertirem el vídeo MP4 al format FLV utilitzant el còdec libx264, ja que si es transforma sense especificar la qualitat és molt baixa.

Primer instal·lem el programari:

  1. # apt-get install ffmpeg
  2. S'està llegint la llista de paquets… Fet
  3. S'està construint l'arbre de dependències
  4. S'està llegint la informació de l'estat… Fet
  5. S'instal·laran els següents paquets extres:
  6. libavcodec57 libavdevice57 libavfilter6 libavformat57 libavresample3 libavutil55 libpostproc54 libswresample2 libswscale4
  7. Paquets suggerits:
  8. ffmpeg-doc
  9. S'actualitzaran els paquets següents:
  10. ffmpeg libavcodec57 libavdevice57 libavfilter6 libavformat57 libavresample3 libavutil55 libpostproc54 libswresample2
  11. libswscale4
  12. 10 actualitzats, 0 nous a instal·lar, 0 a suprimir i 322 no actualitzats.
  13. S'han d'obtenir 8.764 kB d'arxius.
  14. Després d'aquesta operació s'empraran 88,1 kB d'espai en disc addicional.
  15. Voleu continuar? [S/n]

Convertim el vídeo a FLV:

  1. # ffmpeg -i frozen2.mov -c:v libx264 frozen2.flv
  2. ffmpeg version 3.2.14-1~deb9u1 Copyright (c) 2000-2019 the FFmpeg developers
  3. built with gcc 6.3.0 (Debian 6.3.0-18+deb9u1) 20170516
  4. configuration: --prefix=/usr --extra-version='1~deb9u1' --toolchain=hardened --libdir=/usr/lib/i386-linux-gnu --incdir=/usr/include/i386-linux-gnu --enable-gpl --disable-stripping --enable-avresample --enable-avisynth --enable-gnutls --enable-ladspa --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libebur128 --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libmp3lame --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx265 --enable-libxvid --enable-libzmq --enable-libzvbi --enable-omx --enable-openal --enable-opengl --enable-sdl2 --enable-libdc1394 --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-libopencv --enable-libx264 --enable-shared
  5. ...
  6. Stream mapping:
  7. Stream #0:0 -> #0:0 (h264 (native) -> h264 (libx264))
  8. Stream #0:2 -> #0:1 (aac (native) -> mp3 (libmp3lame))
  9. Press [q] to stop, [?] for help
  10. frame= 3385 fps= 34 q=28.0 Lsize= 15578kB time=00:02:21.21 bitrate= 903.7kbits/s speed=1.42x
  11. video:13220kB audio:2207kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.980381%
  12. [libx264 @ 0x8118fb00] frame I:108 Avg QP:17.44 size: 17129
  13. [libx264 @ 0x8118fb00] frame P:1299 Avg QP:21.98 size: 5525
  14. [libx264 @ 0x8118fb00] frame B:1978 Avg QP:25.13 size: 2280
  15. [libx264 @ 0x8118fb00] consecutive B-frames: 6.6% 45.4% 3.2% 44.8%
  16. [libx264 @ 0x8118fb00] mb I I16..4: 32.5% 37.8% 29.7%
  17. [libx264 @ 0x8118fb00] mb P I16..4: 7.2% 11.6% 3.4% P16..4: 29.7% 10.2% 4.2% 0.0% 0.0% skip:33.7%
  18. [libx264 @ 0x8118fb00] mb B I16..4: 1.2% 2.4% 1.0% B16..8: 28.4% 4.3% 0.8% direct: 3.5% skip:58.3% L0:39.0% L1:51.1% BI:10.0%
  19. [libx264 @ 0x8118fb00] 8x8 transform intra:49.1% inter:58.5%
  20. [libx264 @ 0x8118fb00] coded y,uvDC,uvAC intra: 48.7% 56.4% 15.7% inter: 10.5% 14.5% 1.3%
  21. [libx264 @ 0x8118fb00] i16 v,h,dc,p: 28% 32% 14% 27%
  22. [libx264 @ 0x8118fb00] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 23% 22% 28% 4% 4% 4% 5% 4% 6%
  23. [libx264 @ 0x8118fb00] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 25% 20% 17% 6% 7% 7% 7% 6% 6%
  24. [libx264 @ 0x8118fb00] i8c dc,h,v,p: 53% 23% 18% 6%
  25. [libx264 @ 0x8118fb00] Weighted P-Frames: Y:13.4% UV:11.7%
  26. [libx264 @ 0x8118fb00] ref P L0: 76.4% 10.3% 10.3% 3.0% 0.2%
  27. [libx264 @ 0x8118fb00] ref B L0: 93.1% 5.9% 1.0%
  28. [libx264 @ 0x8118fb00] ref B L1: 98.8% 1.2%
  29. [libx264 @ 0x8118fb00] kb/s:767.04

4. Preparació del reproductor de vídeo Flowplayer.

Flowplayer és un un reproductor de vídeo per a la web de programamari lliure. Reprodueix tant Flash com HTML5. El codi es pot trobar a flowplayer.

Per començar, ens situem a la carpeta de publicació web, és a dir, a /var/www/html, i descarreguem el reproductor:

  1. # wget https://releases.flowplayer.org/7.2.7/flowplayer-7.2.7.zip
  2. --2019-10-07 20:04:08-- https://releases.flowplayer.org/7.2.7/flowplayer-7.2.7.zip
  3. S'està resolent releases.flowplayer.org (releases.flowplayer.org)… 108.161.188.151
  4. S'està connectant a releases.flowplayer.org (releases.flowplayer.org)|108.161.188.151|:443… connectat.
  5. HTTP: s'ha enviat la petició, s'està esperant una resposta… 200 OK
  6. Mida: 290716 (284K) [application/zip]
  7. S'està desant a: «flowplayer-7.2.7.zip»
  8.  
  9. flowplayer-7.2.7.zip 100%[==========================================================>] 283,90K 910KB/s in 0,3s
  10.  
  11. 2019-10-07 20:04:09 (910 KB/s) - s'ha desat «flowplayer-7.2.7.zip» [290716/290716]

Descomprimim el fitxer zip:

  1. # unzip flowplayer-7.2.7.zip
  2. Archive: flowplayer-7.2.7.zip
  3. inflating: LICENSE.md
  4. inflating: flowplayer.js
  5. inflating: flowplayer.min.js
  6. extracting: flowplayer.swf
  7. inflating: flowplayerhls.swf
  8. inflating: index.html
  9. creating: skin/
  10. creating: skin/icons/
  11. inflating: skin/icons/flowplayer.svg
  12. inflating: skin/icons/flowplayer.woff
  13. inflating: skin/icons/flowplayer.ttf
  14. inflating: skin/icons/flowplayer.eot
  15. extracting: skin/icons/flowplayer.woff2
  16. inflating: skin/skin.css

Modifiquem el fitxer index.html perquè es pugui veure el nostre vídeo:

  1. <!doctype html>
  2.  
  3.  
  4. <!-- player skin -->
  5. <link rel="stylesheet" href="skin/skin.css">
  6.  
  7. <!-- site specific styling -->
  8. body { font: 12px "Myriad Pro", "Lucida Grande", sans-serif; text-align: center; padding-top: 5%; }
  9. .flowplayer { width: 80%; }
  10. </style>
  11.  
  12. <!-- for video tag based installs flowplayer depends on jQuery 1.7.2+ -->
  13. <script src="https://code.jquery.com/jquery-1.11.2.min.js"></script>
  14.  
  15. <!-- include flowplayer -->
  16. <script src="flowplayer.min.js"></script>
  17.  
  18. </head>
  19.  
  20.  
  21. <!-- the player -->
  22. <div class="flowplayer" data-swf="flowplayer.swf" data-ratio="0.4167">
  23. <video>
  24. <source type="video/flv" src="frozen2.flv">
  25. </video>
  26. </div>
  27.  
  28. </body>

5. Visualització del vídeo amb Firefox.

Provem de veure el vídeo des del navegador Firefox. Com que no està instal·lat el Flash Player, evidentment no es pot:

Instal·lem el plugin de Flash Player per a Debian. Anem a la pàgina https://wiki.debian.org/FlashPlayer i seguim les instruccions:

  1. # wget https://fpdownload.adobe.com/get/flashplayer/pdc/32.0.0.255/flash_player_npapi_linux.i386.tar.gz
  2. --2019-10-08 05:20:07-- https://fpdownload.adobe.com/get/flashplayer/pdc/32.0.0.255/flash_player_npapi_linux.i386.tar.gz
  3. S'està resolent fpdownload.adobe.com (fpdownload.adobe.com)… 23.210.45.240, 2a02:26f0:e0:591::11e2, 2a02:26f0:e0:581::11e2
  4. S'està connectant a fpdownload.adobe.com (fpdownload.adobe.com)|23.210.45.240|:443… connectat.
  5. HTTP: s'ha enviat la petició, s'està esperant una resposta… 200 OK
  6. Mida: 8538367 (8,1M) [application/x-gzip]
  7. S'està desant a: «flash_player_npapi_linux.i386.tar.gz»
  8.  
  9. flash_player_npapi_linux.i386.ta 100%[=========================================================>] 8,14M 902KB/s in 10s
  10.  
  11. 2019-10-08 05:20:17 (833 KB/s) - s'ha desat «flash_player_npapi_linux.i386.tar.gz» [8538367/8538367]
  12.  
  13. # tar -xzf flash_player_npapi_linux.i386.tar.gz

Identifiquem la carpeta dels plugins de Mozilla Firefox:

  1. # ls /usr/lib/mozilla/plugins/
  2. libjavaplugin.so

Copiem el plugin a la carpeta:

  1. # cp libflashplayer.so /usr/lib/mozilla/plugins/
  2. # ls /usr/lib/mozilla/plugins/
  3. libflashplayer.so libjavaplugin.so

Copiem les preferències del Flash Player tal com indica la guia:

  1. # cp -r usr/* /usr

I reiniciem el navegador i visualitzem el vídeo.

Referències

LIGHTTPD

FFmpeg

Adobe Flash Player

flowplayer

Servei de vídeo a la carta amb el servidor d''streaming' Darwin

L’objectiu d’aquesta activitat és instal·lar i configurar el servidor d’streaming de vídeo Darwin.

Realitzeu les següents tasques:

  1. Instal·lació i configuració del servidor d’streaming Darwin
  2. Preparació de l’streaming de vídeo en el servidor
  3. Visualització de l’streaming des d’un client amb VLC

1. Instal·lació i configuració del servidor d’streaming Darwin

La instal·lació i configuració del servidor d’streaming Darwin es pot consultar al mateix apartat d’activitats per als serveis d’àudio.

Partim del servidor instal·lat i configurat, i amb algun vídeo a la carpeta /usr/local/movies.

2. Preparació de l’streaming de vídeo en el servidor

Prepararem, doncs, el vídeo al servidor perquè sigui retransmès via streaming. Amb Darwin s’ha de realitzar un procés anomenat hinting a la pel·lícula, per tal que pugui ser retransmesa. Aquest procés marca el vídeo amb una sèrie de marques que diuen al servidor com ha de ser retransmès aquest vídeo a través de la xarxa.

Utilitzarem l’eina lliure MP4Box, que es troba al paquet gpac:

  1. # apt-cache search MP4Box
  2. gpac - GPAC Project on Advanced Content - utilities

L’instal·lem:

  1. # apt-get install gpac
  2. [sudo] contrasenya per a user:
  3. S'està llegint la llista de paquets… Fet
  4. S'està construint l'arbre de dependències
  5. S'està llegint la informació de l'estat… Fet
  6. S'instal·laran els següents paquets extres:
  7. gpac-modules-base libavdevice-ffmpeg56 libfreenect0.5 libgpac4
  8. S'instal·laran els paquets NOUS següents:
  9. gpac gpac-modules-base libavdevice-ffmpeg56 libfreenect0.5 libgpac4
  10. 0 actualitzats, 5 nous a instal·lar, 0 a suprimir i 435 no actualitzats.
  11. S'han d'obtenir 2371 kB d'arxius.
  12. Després d'aquesta operació s'empraran 7493 kB d'espai en disc addicional.
  13. Voleu continuar? [S/n]

Realitzem el procés de hinting:

  1. # MP4Box -hint Bron4.mp4
  2. Hinting file with Path-MTU 1450 Bytes
  3. Hinting track ID 1 - Type "avc1:avc1" (H264) - BW 399 kbps
  4. Hinting track ID 2 - Type "mp4a:mp4a" (mpeg4-generic) - BW 126 kbps
  5. Saving Bron4.mp4: 0.500 secs Interleaving

Un cop realitzat el procés ja podem crear una llista multimèdia que contingui el vídeo. En aquest cas, seleccionem l’opció New Media Playlist:

I deixem el vídeo reproduint-se:

3. Visualització de l’streaming des d’un client amb VLC

Instal·lem el programari VLC:

  1. # apt-get install vlc
  2. S'està llegint la llista de paquets… Fet
  3. S'està construint l'arbre de dependències
  4. S'està llegint la informació de l'estat… Fet
  5. S'instal·laran els següents paquets extres:
  6. libbasicusageenvironment1 libcddb2 libdca0 libdvbpsi10 libebml4v5 libgles2-mesa libgroupsock8 libkate1 liblirc-client0
  7. liblivemedia57 libmatroska6v5 libmicrodns0 libmpcdec6 libmpeg2-4 libopenmpt-modplug1 libprotobuf-lite10 libproxy-tools
  8. libresid-builder0c2a libsidplay2 libupnp6 libusageenvironment3 libvlc-bin libvlc5 libvlccore9 libxcb-xv0 vlc-bin vlc-data
  9. vlc-l10n vlc-plugin-base vlc-plugin-notify vlc-plugin-qt vlc-plugin-samba vlc-plugin-skins2 vlc-plugin-video-output
  10. vlc-plugin-video-splitter vlc-plugin-visualization
  11. Paquets suggerits:
  12. lirc libdvdcss2
  13. S'instal·laran els paquets NOUS següents:
  14. libbasicusageenvironment1 libcddb2 libdca0 libdvbpsi10 libebml4v5 libgles2-mesa libgroupsock8 libkate1 liblirc-client0
  15. liblivemedia57 libmatroska6v5 libmicrodns0 libmpcdec6 libmpeg2-4 libopenmpt-modplug1 libprotobuf-lite10 libproxy-tools
  16. libresid-builder0c2a libsidplay2 libupnp6 libusageenvironment3 libvlc-bin libvlc5 libvlccore9 libxcb-xv0 vlc vlc-bin
  17. vlc-data vlc-l10n vlc-plugin-base vlc-plugin-notify vlc-plugin-qt vlc-plugin-samba vlc-plugin-skins2
  18. vlc-plugin-video-output vlc-plugin-video-splitter vlc-plugin-visualization
  19. 0 actualitzats, 37 nous a instal·lar, 0 a suprimir i 130 no actualitzats.
  20. S'han d'obtenir 14,7 MB d'arxius.
  21. Després d'aquesta operació s'empraran 66,7 MB d'espai en disc addicional.
  22. Voleu continuar? [S/n]

Obrim el VLC i anem a Fitxer multimèdia / Obre un flux de la xarxa, posem la URL corresponent i Reprodueix:

I veiem la reproducció del vídeo en streaming:

Referències

Manual Darwin Stream Server

Hinting

MP4Box

Servei de vídeo a la carta amb el servidor d''streaming' gnump3d

L’objectiu d’aquesta activitat és instal·lar i configurar el servidor d’streaming de vídeo gnump3d.

Realitzeu les següents tasques:

  1. Instal·lació i configuració del servidor d’streaming Darwin
  2. Preparació de l’streaming de vídeo en el servidor
  3. Visualització de l’streaming des d’un client amb VLC

1. Instal·lació i configuració del servidor d’streaming gnump3d

La instal·lació i configuració del servidor d’streaming gnump3d es pot consultar al mateix apartat d’activitats per als serveis d’àudio.

Partim del servidor instal·lat i configurat, i amb algun vídeo, a la carpeta /var/music.

2. Preparació de l’streaming de vídeo en el servidor

Els formats que associa per defecte gnump3 es poden trobar a /etc/gnump3d/file.types i són:

  1. $ tail /etc/gnump3d/file.types
  2. # movie files.
  3. #
  4. # Files with these suffixes will be included in the HTML pages
  5. # served to clients.
  6. #
  7. mov = movie
  8. mpg = movie
  9. mpeg = movie
  10. avi = movie
  11. wmv = movie

Afegim el format MP4 al fitxer /etc/gnump3d/file.types per tal que el servidor el pugui reproduir. Com que està al final del fitxer, ho podem fer amb una simple comanda:

  1. # echo mp4 = movie >> /etc/gnump3d/file.types

Col·loquem els vídeos que vulguem reproduir a la carpeta /var/music.

Com que l’estem reproduint en streaming a través del protocol HTTP, ho podem veure directament amb un navegador modern:

No obstant això, també el prodem reproduir amb el programari VLC. L’obrim i anem a Fitxer multimèdia / Obre un flux de la xarxa, posem la URL corresponent i Reprodueix:

I veiem la reproducció del vídeo en streaming:

Instal·lació i configuració del servidor de videoconferències BigBlueButton

L’objectiu d’aquesta activitat és conèixer amb tot detall l’aplicació per a videoconferències BigBlueButton i els principals paràmetres tècnics de configuració per obtenir-ne la màxima usabilitat des del punt de vista d’administrador i d’usuari.

BigBlueButton és una aplicació web de font pública per a videoconferències i aprenentatge en línia (elearning). És un programa amb llicència GNU que es basa en projectes com Asterisk, Flex SDK, Red5 i MySQL, entre d’altres.

Paral·lelament, el programari BigBlueButton ofereix altres característiques com, per exemple, la pujada de tot tipus d’arxius (documents PDF, de text, fulls de càlcul…).

Descarregueu l’última versió del programari BigBlueButton, instal·leu-la i configureu-la.

En primer lloc haurem de donar accés al nostre servidor al repositori del paquet BigBlueButton en la seva versió 0.8. En una finestra del terminal d’ordres escriurem i executarem les ordres següents:

  1. wget http://ubuntu.bigbluebutton.org/bigbluebutton.asc -O- | sudo apt-key add -
  2.  
  3. echo "deb http://ubuntu.bigbluebutton.org/lucid_dev_08/ bigbluebutton-lucid main" | sudo tee /etc/apt/sources.list.d/bigbluebutton.list
  4. echo "deb http://us.archive.ubuntu.com/ubuntu/ lucid multiverse" | sudo tee -a /etc/apt/sources.list

Un cop fet això haurem de confirmar que el servidor i els paquets amb què treballa estan actualitzats abans d’iniciar el procés d’instal·lació del servidor BigBlueButton.

  1. sudo apt-get update
  2. sudo apt-get dist-upgrade

A continuació crearem un arxiu anomenat install-ruby.sh.

  1. sudo nano install-ruby.sh

I hi copiarem l’script següent:

  1. #!/bin/bash
  2. cd /tmp
  3. wget http://ftp.ruby-lang.org/pub/ruby/1.9/ruby-1.9.2-p290.tar.gz
  4. tar xvzf ruby-1.9.2-p290.tar.gz
  5. cd ruby-1.9.2-p290
  6. ./configure --prefix=/usr\
  7. --program-suffix=1.9.2\
  8. --with-ruby-version=1.9.2\
  9. --disable-install-doc
  10. make
  11. sudo checkinstall -D -y\
  12. --fstrans=no\
  13. --nodoc\
  14. --pkgname='ruby1.9.2'\
  15. --pkgversion='1.9.2-p290'\
  16. --provides='ruby'\
  17. --requires='libc6,libffi5,libgdbm3,libncurses5,libreadline5,openssl,libyaml-0-2,zlib1g'\
  18. --maintainer=brendan.ribera@gmail.com
  19. sudo update-alternatives --install /usr/bin/ruby ruby /usr/bin/ruby1.9.2 500\
  20. --slave /usr/bin/ri ri /usr/bin/ri1.9.2\
  21. --slave /usr/bin/irb irb /usr/bin/irb1.9.2\
  22. --slave /usr/bin/gem gem /usr/bin/gem1.9.2\
  23. --slave /usr/bin/erb erb /usr/bin/erb1.9.2\
  24. --slave /usr/bin/rdoc rdoc /usr/bin/rdoc1.9.2

A continuació canviarem els permisos de l’script que acabem de crear i l’executarem.

  1. chmod +x install-ruby.sh
  2. ./install-ruby.sh

Considerant que la infrastructura d’enregistrament i reproducció utilitza el programari Ruby per al processament de sessions enregistrades, en primer lloc haurem d’instal·lar les dependències següents per compilar Ruby:

  1. sudo apt-get install zlib1g-dev libssl-dev libreadline5-dev libyaml-dev build-essential bison checkinstall libffi5 gcc checkinstall libreadline5 libyaml-0-2

Després haurem d’executar l’intèrpret Ruby. Tot seguit apareixerà la resposta de l’intèrpret.

  1. $ ruby -v
  2. ruby 1.9.2p290 (2011-07-09 revision 32553)

A continuació escriurem “gem -v” i esperarem la resposta corresponent.

  1. $ gem -v
  2. 1.3.7

Per acabar, abans de procedir a instal·lar el servidor BigBlueButton, haurem de comprovar que podem instal·lar gems (per exemple, hello).

  1. $ sudo gem install hello
  2. Successfully installed hello-0.0.1
  3. 1 gem installed
  4. Installing ri documentation for hello-0.0.1...
  5. Installing RDoc documentation for hello-0.0.1...

Si tot ha anat bé ja estem preparats per instal·lar BigblueButton.

  1. sudo apt-get install bigbluebutton

Amb aquesta ordre instal·larem tots els components i dependències de BigBlueButton.

Per testejar interactivament el nostre servidor BigBlueButton haurem d’instal·lar un ventall de versions de demostració de l’API (interfície de programa d’aplicació), que ens permetran arrencar el servidor i connectar-nos per videoconferència.

  1. sudo apt-get install bbb-demo

També podrem comprovar que BigBlueButton ha arrencat correctament executant les línies d’ordres següents:

  1. sudo bbb-conf --clean
  2. sudo bbb-conf --check

Ja podem definir l’adreça IP de la màquina en què està instal·lat BigBlueButton. En aquest cas el servidor té l’adreça IP 192.168.0.36.

  1. sudo bbb-conf --setip 192.168.0.36

Si estem en la màquina servidor i obrim un navegador web i introduïm l’adreça IP en la barra de navegació podrem iniciar una videoconferència, mentre que si ho fem des d’una màquina client podrem accedir a la videoconferència arrencada des del servidor.

Per començar a utilitzar el servidor BigBlueButton haurem d’introduir el nostre nom i farem clic en el botó Join.

Anar a la pàgina següent:
Exercicis