Saltar al contenido

Transmisión de videos con ASP.NET Core 3

Solución:

Si desea transmitir el video en el navegador, su servidor debe admitir solicitudes de rango HTTP. En tal caso, el servidor puede enviar solo una pequeña parte del contenido solicitado por el cliente. Como desea transmitir video en el navegador, puede usar video etiqueta html que solicita un contenido utilizando encabezados de rango. Por lo tanto, también puede omitir algo de tiempo e inmediatamente reproducir la película desde esa posición, antes de que se descargue por completo.

ASP.NET Core 3 ya tiene soporte para solicitudes de rango HTTP, está implementado en PhysicalFile método que tiene atributo enableRangeProcessing. Como dice la documentación:

Devuelve el archivo especificado por PhysicalPath (Status200OK), el contentType especificado como Content-Type y el fileDownloadName especificado como el nombre de archivo sugerido. Esto admite solicitudes de rango (Status206PartialContent o Status416RangeNotSatisfiable si el rango no es satisfactorio).

[Route("getFileById")]
public FileResult getFileById(int fileId)
{
    ...
    return PhysicalFile($"C:/movies/{file.Name}", "application/octet-stream", enableRangeProcessing: true);
}

Tenga en cuenta que la ruta debe ser absoluta (no relativa).

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *