U3Games

Aplicaciones | Desarrollo & Soporte => AceStream => Tutoriales AceStream => Mensaje iniciado por: AceGMPlayer en Sep 08, 2025, 07:40 AM

Título: Emitir Acestream IDs con Docker
Publicado por: AceGMPlayer en Sep 08, 2025, 07:40 AM
Esta guía te mostrará cómo emitir IDs de Acestream utilizando Docker, perfecto para compartir contenido en Telegram. Basada en las instrucciones de @Lucas_m_o_o_m, esta versión está optimizada para ser clara y fácil de seguir.

Requisitos Previos

Antes de empezar, asegúrate de tener Docker instalado en tu sistema.
--> Puedes descargarlo desde https://www.docker.com/get-started

Paso 1: Ejecutar el Contenedor Docker de Acestream Engine

Abre tu terminal o línea de comandos y copia el siguiente comando. Deberás modificar algunas partes para que se adapte a tus necesidades.

docker run -d --restart unless-stopped --name <nombre_contenedor>
-p 8641:8641/tcp -p 8641:8641/udp
-v acestreamengine:/data lob666/acestreamengine
--port 8641
--tracker "udp://tracker.openbittorrent.com:80/announce"
--stream-source
--name "<nombre_stream>"
--title "<titulo_stream>"
--publish-dir "/data"
--cache-dir "/data"
--skip-internal-tracker
--quality "HD"
--category "amateur"
--service-access-token "1234"
--service-remote-access
--log-debug "1"
--max-peers "6"
--max-upload-slots "6"
--source-read-timeout 15
--source-reconnect-interval 1
--host "0.0.0.0"
--source "<fuente_video>"
--bitrate "697587"

CitarExplicación del Comando

docker run -d --restart unless-stopped --name <nombre_contenedor>:

docker run: Comando para ejecutar un contenedor Docker.

-d: Ejecuta el contenedor en segundo plano (detached mode).

--restart unless-stopped: Reinicia el contenedor automáticamente a menos que se detenga manualmente.

--name <nombre_contenedor>: Define un nombre para tu contenedor Docker. Reemplaza <nombre_contenedor> con un nombre descriptivo, por ejemplo, mi_acestream.

-p 8641:8641/tcp -p 8641:8641/udp:

Publica los puertos 8641 (TCP y UDP) del contenedor en tu host. Este es el puerto que Acestream utiliza por defecto.

-v acestreamengine:/data:

Crea un volumen nombrado acestreamengine y lo monta en /data dentro del contenedor. Esto permite que los datos de Acestream (como la caché) persistan incluso si eliminas el contenedor.

lob666/acestreamengine:

Imagen Docker que se utilizará para el contenedor.

--port 8641:

Puerto interno de Acestream Engine. Déjalo en 8641 a menos que tengas una razón específica para cambiarlo.

--tracker "udp://tracker.openbittorrent.com:80/announce":

Servidor tracker para la red P2P de Acestream. Puedes usar otros trackers si lo deseas.

--stream-source:

Indica que vas a emitir una fuente de video.

--name "<nombre_stream>":

Nombre de tu stream. Reemplaza <nombre_stream> con un nombre para tu stream, por ejemplo, Mi_Canal_HD. Este nombre será visible en el monitor de Acestream.

--title "<titulo_stream>":

Título de tu stream. Reemplaza <titulo_stream> con un título descriptivo, por ejemplo, Partido de Fútbol en Vivo. Este título también se mostrará en el monitor.

--publish-dir "/data":

Directorio donde Acestream publicará archivos si fuera necesario (para streaming HTTP, no suele ser necesario modificar).

--cache-dir "/data":

Directorio para la caché de Acestream.

--skip-internal-tracker:

Desactiva el tracker interno de Acestream. Generalmente es mejor desactivarlo para emisiones públicas.

--quality "HD":

Calidad del stream. Puedes usar valores como "SD", "HD", "FullHD", etc.

--category "amateur":

Categoría del stream. Puedes elegir entre: "amateur", "movies", "music", "games", "adult", "other".

--service-access-token "1234":

Token de acceso para la interfaz web de monitorización. Cambia "1234" por una contraseña más segura.

--service-remote-access:

Permite el acceso remoto a la interfaz de monitorización. Necesario para acceder desde fuera del contenedor.

--log-debug "1":

Activa el modo debug para los logs. Útil para solucionar problemas.

--max-peers "6":

Número máximo de peers (usuarios compartiendo el stream). Ajusta según tu ancho de banda de subida.

--max-upload-slots "6":

Número máximo de slots de subida. Ajusta según tu ancho de banda de subida.

--source-read-timeout 15:

Tiempo de espera (en segundos) para leer datos de la fuente.

--source-reconnect-interval 1:

Intervalo de reintento de conexión a la fuente (en segundos).

--host "0.0.0.0":

Permite que Acestream escuche en todas las interfaces de red. 0.0.0.0 es generalmente la mejor opción.

--source "<fuente_video>":

Aquí debes especificar la fuente de tu video. Reemplaza <fuente_video> con una de las siguientes opciones (ver ejemplos abajo).

--bitrate "697587":

Bitrate del stream en bytes por segundo. Ajusta este valor según la calidad de tu video y tu ancho de banda de subida. Puedes omitirlo para que Acestream lo detecte automáticamente.

Ejemplos de Fuentes Válidas para --source

Aquí tenéis fuentes de video no continuas que parecen libres:

https://filesamples.com/categories/video

Aquí las que he usado en formato .ts :

https://filesamples.com/formats/ts

Cuando pones una fuente no continua lo que hace el contenedor es repetirla en bucle.

Archivo local (ruta absoluta):
--source "/path/to/video.mp4"
Asegúrate de que el archivo video.mp4 esté accesible dentro del contenedor. Si lo tienes en tu host, considera montarlo como un volumen adicional.

Stream HTTP/HTTPS (M3U8, etc.):
--source "https://example.com/live/stream.m3u8"

Stream RTMP:
--source "rtmp://example.com/live/stream"

Enlace UDP (IPTV):
--source "udp://@239.255.2.2:1234"

Ejemplo de Comando Completo

Supongamos que quieres emitir un archivo local llamado mi_video.mp4 que está en tu carpeta /home/usuario/videos. Quieres llamar a tu contenedor mi_acestream_emision y a tu stream Mi_Emision_Telegram con título Video de Prueba.

docker run -d --restart unless-stopped --name mi_acestream_emision
-p 8641:8641/tcp -p 8641:8641/udp
-v acestreamengine:/data
-v /home/usuario/videos:/videos_compartidos
lob666/acestreamengine
--port 8641
--tracker "udp://tracker.openbittorrent.com:80/announce"
--stream-source
--name "Mi_Emision_Telegram"
--title "Video de Prueba"
--publish-dir "/data"
--cache-dir "/data"
--skip-internal-tracker
--quality "HD"
--category "amateur"
--service-access-token "mi_contraseña_segura"
--service-remote-access
--log-debug "1"
--max-peers "10"
--max-upload-slots "10"
--source-read-timeout 15
--source-reconnect-interval 1
--host "0.0.0.0"
--source "/videos_compartidos/mi_video.mp4"
--bitrate "1200000"

Importante:

En el ejemplo anterior, hemos añadido -v /home/usuario/videos:/videos_compartidos para montar tu carpeta de videos dentro del contenedor en /videos_compartidos. Así, el contenedor puede acceder a /home/usuario/videos/mi_video.mp4 usando la ruta /videos_compartidos/mi_video.mp4.

Recuerda cambiar "mi_contraseña_segura" por una contraseña real y segura para --service-access-token.

Ajusta --max-peers y --max-upload-slots según tu ancho de banda de subida. Un valor alto puede sobrecargar tu conexión.

Si no estás seguro del bitrate, puedes omitir --bitrate.

Paso 2: Verificar el Estado del Contenedor y Obtener Logs

Para verificar si el contenedor se está ejecutando correctamente, usa:

docker ps

Deberías ver tu contenedor <nombre_contenedor> en la lista con estado "Up".

Para ver los logs del contenedor (útil para detectar errores), usa:

docker logs --tail 200 <nombre_contenedor>
Reemplaza <nombre_contenedor> con el nombre que diste a tu contenedor. --tail 200 muestra las últimas 200 líneas del log.

Paso 3: Acceder a la Interfaz de Monitorización

Abre tu navegador y ve a la siguiente dirección:

http://<ip_de_tu_servidor>:8641/app/passs/monitor

Reemplaza <ip_de_tu_servidor> con la IP pública de tu servidor o localhost si estás accediendo desde la misma máquina donde se ejecuta Docker.

Si usaste --service-access-token "1234", entonces la contraseña es 1234. Reemplaza passs en la URL con tu token de acceso. Por ejemplo: http://localhost:8641/app/1234/monitor.

En la interfaz de monitorización, podrás ver el estado de tu stream, peers conectados, etc.

Paso 4: Obtener el Acestream ID

Una vez que el contenedor esté en marcha y estés emitiendo, el Acestream ID se generará automáticamente. Puedes encontrarlo de varias maneras:

En los logs del contenedor: Busca en los logs (docker logs <nombre_contenedor>) líneas que comiencen con "starting media stream". Verás algo como:

[INF] starting media stream http://127.0.0.1:8641/ace/getstream?id=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
El Acestream ID es la parte xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx después de id=.

En la interfaz de monitorización: La interfaz web de monitorización a menudo muestra el Acestream ID directamente.

Adicional:

En esta web listan hostings o vps que se supone que guardan mejor la privacidad. No los he probado pero puede ser un sitio para buscar opciones https://offshore.cat/

Aparte buscador de vps: https://www.serverhunter.com/