Ir al contenido

Sistema de perfiles

Un Perfil es una entidad en senta-streamer que representa un comando para ejecutar el programa ffmpeg, donde los parámetros como las transmisiones de entrada y salida, así como otros parámetros definidos por el usuario, se reemplazan por variables.

Ejemplo:

Ventana de terminal
ffmpeg -re -stream_loop -1 -i input.ts -vcodec mpeg4 -aspect 16:9 -f mpegts udp://bla-bla:1234

Este ejemplo inicia una transmisión UDP con la emisión estática del archivo input.ts a la dirección udp://bla-bla:1234.

Supongamos que queremos usar senta-streamer para transmitir un archivo estático. Podemos simplemente añadir una línea a los perfiles, o podemos reemplazar las transmisiones de entrada y salida por variables (${i} y ${o} respectivamente), obteniendo así un perfil de transcodificación universal que se puede adaptar a otras transmisiones. Como resultado, obtenemos:

Ventana de terminal
ffmpeg -re -stream_loop -1 -i ${i} -vcodec mpeg4 -aspect 16:9 -f mpegts ${o}

Además del perfil habitual con variables estándar como ${i} y ${o}, puedes añadir algunas extensiones a tu perfil.

Puedes establecer el NAME del perfil. Este nombre se usará, por ejemplo, cuando cargues el perfil en github. Es un campo opcional.

Ejemplo:

Ventana de terminal
ffmpeg -y -hide_banner -i ${i} -map 0:0 -map 0:1 -c:v h264_nvenc -preset fast -profile:v main -filter:v yadif -forced-idr 1 -b:v 4M -c:a aac -b:a 128k -r 25 -g 8 -keyint_min 13 -f mpegts ${o}
NAME "HD h264"

Luego, puedes añadir variables personalizadas después de la palabra clave WHERE.

Ejemplo

Ventana de terminal
// Perfil simple de inicio para codificación HD h264
// Puedes modificarlo, bifurcarlo y compartirlo con otros
ffmpeg -y -hide_banner -i ${i} -map 0:0 -map 0:1 -c:v h264_nvenc ${gpu} -preset fast -profile:v main -filter:v yadif -forced-idr 1 -b:v 4M -c:a aac -b:a 128k -r 25 -g 8 -keyint_min 13 -f mpegts ${o}
NAME "HD h264"
WHERE
[
{
   "desc": "gpu",
   "data": {
    "name": "GPU",
    "description": "Selecciona la GPU que usará la transmisión, deja vacío si no usas GPU",
    "command": "-gpu $value",
    "default": ""
   }
}
]

Nota: puedes añadir líneas de comentarios a tu perfil que comiencen con //