Jump to content

Emby (Español)

From ArchWiki
Esta traducción de Emby fue revisada el 2025-09-06. Si existen cambios puede actualizarla o avisar al equipo de traducción.

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