Emby (Español)
Emby es un servidor multimedia personal, el cual tiene clientes para muchas plataformas. Se utiliza para organizar el home media personal, así como para reproducir en otros dispositivos. Hay una gran cantidad de canales que están respaldados por la comunidad, e incluso se pueden utilizar con tarjetas PVR y Tuner para proporcionar streaming de TV de forma remota.
Instalación
Instale el paquete emby-server.
Utilización
Active e inicie emby-server.service
.
Acceda a Emby con el navegador web navegando a: http://localhost:8096/
Permisos de escritura
Emby corre bajo el usuario y grupo de usuarios emby
usando la función DynamicUser de systemd. Por defecto, Emby tendrá como máximo permisos de lectura para tus archivos multimedia gracias a la abstracción del sistema de archivos de systemd.
Quizás quieras otorgarle permisos de escritura a Emby y habilitar la eliminación de archivos multimedia, el guardado local de metadatos, la descarga de subtítulos y más.
Necesitarás crear un grupo dedicado para tus archivos multimedia, o usar uno al que ya pertenezcas, y darle acceso a tus carpetas de la siguiente manera:
# crear el grupo media groupadd media # opcionalmente añade tu_usuario a el grupo media usermod -aG media tu_usuario # Otorgue la propiedad de sus archivos multimedia al grupo media chgrp -R media /mnt/media_files # haz tus archivos escribibles para el grupo media find /mnt/media_files -type f -exec chmod 664 {} + # haz tus directorios escribibles para el grupo media find /mnt/media_files -type d -exec chmod 775 {} + # Agregue el bit de grupo fijo para que los directorios recién creados pertenezcan al grupo media find /mnt/media_files -type d -exec chmod g+s {} +
Entonces extiende la unidad:
/etc/systemd/system/emby-server.service.d/write-permissions.conf
[Service] SupplementaryGroups=media ReadWritePaths=/mnt/media_files UMask=0002
Esto añadirá el usuario emby
a el grupo media
, y habilita los permisos de escritura a el directorio /mnt/media_files
a través de systemd. Refleje y repita para cualquier carpeta de medios adicional que pueda tener.
Aceleración de hardware
Emby admite la transcodificación acelerada por hardware mediante la GPU. Esto reduce considerablemente el uso de la CPU durante la transcodificación y, en algunos sistemas, es la única opción si la CPU no es lo suficientemente potente.
Para comprobar si la aceleración por hardware está disponible, acceda a la configuración de transcodificación en la interfaz web de Emby y seleccione Avanzado
en Habilitar aceleración por hardware cuando esté disponible
. Aparecerá una lista de codificadores y decodificadores de hardware disponibles. Si no se detecta nada, consulte las siguientes instrucciones específicas para la GPU.
Intel
Para habilitar la transcodificación/decodificación para GPUs Intel, instale el paquete intel-media-sdk.
Confirme que la aceleración de hardware es detectada con:
$ ffdetect-emby gsvenc
La salida debería listar los perfiles codificados junto con otra información.
Nvidia
Para habilitar la transcodificación/decodificación para GPUs Nvidia, los drivers propietarios de Nvidia son requeridos. Instale entre el paquete nvidia o el nvidia-dkms.
Confirme que la aceleración de hardware es detectada con:
$ ffdetect-emby nvenc
La salida debería listar los perfiles codificados junto con otra información.
Ejemplo nginx
# Basado en ejemplo de https://emby.media/community/index.php?/topic/47508-how-to-nginx-reverse-proxy/ server { listen 443 ssl; listen [::]:443 ssl; server_name emby.yourdomain.com; ssl_certificate /etc/letsencrypt/live/emby.yourdomain.com/fullchain.pem; # managed by Certbot ssl_certificate_key /etc/letsencrypt/live/emby.yourdomain.com/privkey.pem; # managed by Certbot include /etc/letsencrypt/options-ssl-nginx.conf; ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; add_header Strict-Transport-Security "max-age=31536000" always; ssl_trusted_certificate /etc/letsencrypt/live/emby.yourdomain.com/chain.pem; ssl_stapling on; ssl_stapling_verify on; # Security / XSS Mitigation Headers add_header X-Frame-Options "SAMEORIGIN"; add_header X-XSS-Protection "1; mode=block"; add_header X-Content-Type-Options "nosniff"; location = / { return 302 https://$host/web/; } location / { # Proxy main emby traffic proxy_pass http://127.0.0.1:8096; proxy_hide_header X-Powered-By; proxy_set_header Range $http_range; proxy_set_header If-Range $http_if_range; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; proxy_set_header X-Forwarded-Protocol $scheme; proxy_set_header X-Forwarded-Host $http_host; # Disable buffering when the nginx proxy gets very resource heavy upon streaming proxy_buffering off; # Next three lines allow websockets proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; } }
Solución de problemas
No such file or directory
Asegúrese de que el directorio referenciado por ReadWritePaths
exista. Si no existe, emby-server.service
no podrá iniciarse y mostrará errores. Por ejemplo, si /mnt/media_files
no existe, systemd intentará usarlo como montaje:
emby-server.service: Failed to set up mount namespacing: /run/systemd/unit-root/mnt/media_files: No such file or directory emby-server.service: Failed at step NAMESPACE spawning /usr/bin/emby-server: No such file or directory