Mejores prácticas técnicas
Para ayudar a los socios a ponerse en marcha de la forma más eficiente posible, hemos recopilado una lista de prácticas recomendadas técnicas para maximizar sus posibilidades de éxito.
Carpeta brightsign-dumps
Al desarrollar sus propios autoruns, no olvide incluir instrucciones para que el autorun cree una carpeta brightsign-dumps en el reproductor. La carpeta brightsign-dumps se utiliza para almacenar información de fallos y es muy útil para el soporte de BrightSign al solucionar problemas.
Rutas de almacenamiento
Todas las aplicaciones de socios utilizan rutas de dispositivos de almacenamiento, ya sea para indicar dónde se descargarán los archivos o dónde localizar determinados archivos presentes en el dispositivo de almacenamiento.
El BrightSign OS admite múltiples dispositivos de almacenamiento y el siguiente es el orden de prioridad en el que se montan:
Dispositivo de almacenamiento (en orden de prioridad) | Ruta de BrightScript | Ruta de JavaScript | Descripción |
|---|---|---|---|
USB1 | USB1:/ | /storage/usb1 | La unidad para dispositivos de almacenamiento USB conectados al reproductor |
SD | SD:/ | /storage/sd | La unidad SD o microSD principal en el reproductor |
SD2 | SD2:/ | /storage/sd2 | La unidad microSD interna en reproductores que admiten esto (consulte Dispositivos de almacenamiento por modelo de reproductor) |
SSD | SSD:/ | /storage/ssd | El SSD interno en el reproductor (solo modelos XT y XD) |
Flash | Flash:/ | /storage/flash | El almacenamiento flash interno en el reproductor |
Tenga en cuenta que el modelo LGUV5N solo incluye almacenamiento Flash o USB (sin SD) y recurrirá al Flash si no se encuentra otro almacenamiento. Debido a la demanda popular, el almacenamiento FLASH: en LG se renombra a SD: y las referencias a FLASH: ya no funcionarán a partir de la versión Beta de BOS 9.1.96.
A continuación, se muestran algunas de las prácticas recomendadas al utilizar rutas de dispositivos de almacenamiento:
- Obtenga la ruta del dispositivo de almacenamiento montado predeterminado en su aplicación. Consulte los ejemplos de BrightScript y JavaScript a continuación.
- Valide el dispositivo de almacenamiento obtenido según sea necesario. Consulte la función DriveIsMounted() en el ejemplo de BrightScript a continuación.
- Si su aplicación utiliza rutas de archivos relativas, BrightScript asumirá que las rutas de archivos son relativas al dispositivo de almacenamiento predeterminado.
- Si su aplicación utiliza diferente almacenamiento para autorun y medios, entonces debe especificar una ruta (según la lista anterior) y validar que la ruta exista.
Ejemplos de código
Los siguientes ejemplos proporcionan un enfoque para encontrar el dispositivo de almacenamiento de mayor prioridad que está montado en el reproductor.
BrightScript
Function GetMountedDrive() As String
'''''''''''''''''''''''''''''''''''''
drives = ["USB1:/","SD:/","SD2:/","SSD:/","FLASH:/"]
for each drive in drives
If DriveIsMounted(drive) Then
return drive
End If
next
return ""
End Function
Function DriveIsMounted(driveName$ As String) As Boolean
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''
du = CreateObject("roStorageInfo", driveName$)
If type(du) = "roStorageInfo" Then
return true
End If
return false
End FunctionJavaScript
const fs = require('fs');
const path = require('path');
function getDefaultStorageDevice() {
const rootPrefix = '/storage';
const storage_list = [ 'usb1', 'sd', 'sd2', 'ssd', 'flash' ];
for(const storage of storage_list) {
try {
fs.realpathSync(path.join(rootPrefix, storage));
return storage;
} catch(ex) {
// nop - the dir doesn't exist on this system
}
}
return undefined;
}Herramientas gratuitas
BrightSign ofrece una gran cantidad de herramientas y servicios gratuitos que facilitan enormemente el aprovisionamiento y el diagnóstico. Estos incluyen las potentes herramientas disponibles a través de BSN.Cloud para el aprovisionamiento de reproductores, así como las numerosas herramientas descritas en la sección Herramientas para desarrolladores de esta guía. Se recomienda encarecidamente a los socios aprovechar estas herramientas tanto como sea posible, ya que aceleran el desarrollo y también facilitan mucho el soporte y la resolución de problemas.
Administración de memoria
Los reproductores BrightSign están diseñados específicamente para señalización digital. Los reproductores no son dispositivos de propósito general y no tienen, ni requieren, tanta memoria como una Mac o PC típica. Al desarrollar para la plataforma BrightSign, los desarrolladores deben ser conscientes de las posibles limitaciones de memoria a las que quizá no estén acostumbrados.
Actualizaciones del SO
Los socios deben intentar utilizar las compilaciones más recientes de BrightSignOS para aprovechar las últimas correcciones de errores y las funciones más nuevas. Mantenerse actualizado con la compilación más reciente del SO también permite a los socios ampliar más fácilmente sus implementaciones con nuestro hardware más reciente.
Mejoramos continuamente el firmware de nuestros reproductores, pero como suele ocurrir con el software, a veces se introducen problemas de forma inadvertida. Un reproductor estable es fundamental para cualquier integración de BrightSign, por lo que recomendamos encarecidamente a los socios probar exhaustivamente cualquier versión de firmware de BrightSign antes de actualizar cualquier reproductor utilizado en un entorno de producción.
Elementos HTML <video> y memoria
Es bastante común que una presentación incluya el cambio de un video a otro. En muchos reproductores BrightSign, incluida la línea Series 4, si un elemento de video no se libera explícitamente, ese elemento continuará usando memoria incluso si ya no se está mostrando activamente. Por lo tanto, es importante restablecer el origen a vacío antes de cambiar de video. Si no se hace esto, los primeros videos continuarán usando memoria mientras se reproducen videos posteriores, lo que podría dar como resultado el siguiente mensaje de registro:
No se pudo encontrar un decodificador de video
Para liberar el elemento de video, el atributo src de <video> debe establecerse en blanco:
video.src = "";
Puede encontrar detalles adicionales sobre este tema aquí.
Transiciones suaves de video
Si se muestran varios videos secuencialmente, por lo general se desea que un video haga una transición suave al otro. Para ayudar a garantizar esto, asegúrese de que tanto el primer como el último fotograma de los videos no consistan en un fotograma en blanco. La presencia de incluso un solo fotograma en blanco entre videos puede dar como resultado una transición notablemente brusca entre videos.
Capacidad de actualización
El cambio es inevitable, por lo que se recomienda a los socios diseñar sus aplicaciones con la capacidad de enviar actualizaciones a los reproductores de forma remota. Esto se aplica no solo a la aplicación del socio en sí, sino también a los scripts de diagnóstico, que pueden ser muy útiles para la resolución de problemas.
Siguiente - Mejores prácticas operativas >Siguiente - Mejores prácticas operativas >