VideoDistrib es una sencilla aplicación basada en Laravel, con arquitectura cliente-servidor para control y reproducción de contenido en terminales cliente.
- PHP 7.1+
- MySQL
- Composer - en Windows es necesario descargar el instalador desde acá: https://getcomposer.org/download/
- Binarios de FFmpeg en el path del sistema - se pueden bajar desde acá: https://www.ffmpeg.org/download.html
- Configuración de PHP para permitir la subida de archivos grandes (de acuerdo al tamaño de los videos) - más información: https://stackoverflow.com/questions/2184513/change-the-maximum-upload-file-size
- Clonar repo
- Ejecutar
composer update
- Copiar
.env.base
a.env
(se ignora en el repo) y personalizar la configuración de la base de datos. - Generar la clave en base64 para la app de Laravel - comando:
php artisan key:generate
. - Crear la base de datos vacía de acuerdo con la configuración del archivo
.env
- Ejecutar
php artisan migrate
yphp artisan db:seed
para generar las tablas y el usuario administrador. - Ejecutar el queue worker de Laravel:
php artisan queue:work
. - Servir app
- El sistema admite la subida de archivos de cualquier tipo sin validación desde el servidor. El job de proceso falla y elimina el video.
- La API no está siguiendo una convención o estándar de especificación, y tampoco está documentada. Estoy aprendiendo a formalizar este punto.
- La vigencia de las listas es por fecha, mientras que la vigencia de los videos es por fecha y hora.
- El dashboard no está funcional, pero debería calcular la reproducción estimada actual de las pantallas y mostrarla usando los proxies. Dependiendo de qué tan intensivo sea en ancho de banda, estoy considerando agregar un segundo proxy en el proceso inicial, de 2 fps y ultra bajo bitrate, o un slideshow.