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 PreviosAntes 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 EngineAbre 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 --sourceAquí 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 CompletoSupongamos 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 LogsPara 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ónAbre 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 IDUna 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/