Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

251
Vistas
Transmita contenido de video a través de Web API 2

Estoy en el proceso de averiguar cuál será la mejor manera de hacer lo siguiente:

Tengo un montón de archivos de imágenes de CCTV (archivos MP4, que van desde 4 MB a 50 MB de tamaño), que quiero poner a disposición a través de un portal web. Lo primero que pensé fue transmitir el archivo a través de la API web, así que encontré el siguiente enlace:

http://www.strathweb.com/2013/01/asynchronously-streaming-video-with-asp-net-web-api/

Después de implementar un proyecto de muestra, me di cuenta de que el ejemplo se basaba en Web API 1 y no en Web API 2.1, que es lo que estoy usando. Después de investigar un poco más, obtuve el código para compilar con WebAPI 2.1. Entonces me di cuenta de que si quiero hacer streaming no puedo usar archivos MP4, hay una gran cantidad de detalles técnicos detrás de esto, así que aquí está el hilo:

El mejor enfoque para la transmisión de http en tiempo real al cliente de video HTML5

Parece que para que esto funcione, necesito codificar mis archivos MP4 en algo como WebM, pero eso llevará demasiado tiempo. Icecast ( http://icecast.org/ ), que es un servidor de transmisión, pero aún no lo he probado, nuevamente, no estoy seguro de si esto es lo que necesito hacer.

Ahora que lo pienso, en realidad no necesito transmisión en vivo, solo necesito permitir que el cliente reproduzca el archivo de video a través de su navegador, ¿quizás usando el elemento de video HTML5? La cuestión es que mi aplicación también necesita funcionar en IOS, así que creo que eso significa que ni siquiera puedo codificar mi MP4 a FLV y solo usar flash.

Todo lo que realmente necesito es tener todos mis clips de video como miniaturas en una página web, y si el cliente hace clic en uno, comienza a reproducirse lo antes posible, sin tener que descargar el archivo completo. Piense en la función "Ver tráiler" en imdb.com. Simplemente reproduzca un archivo de video, eso es realmente lo que quiero. No necesito transmisión EN VIVO, ¿para qué creo que sirve WebM? De nuevo, no estoy seguro.

over 4 years ago · Santiago Trujillo
2 Respuestas
Responde la pregunta

0

Dos cosas:

  1. Use un elemento de video en su HTML (esto funciona en navegadores Y iOS):

     <video src="http://yoursite.com/api/Media/GetVideo?videoId=42" />
  2. Admite 206 PARTIAL CONTENT en tu código API web. Esto es crucial tanto para la transmisión como para la compatibilidad con iOS, y se menciona en el hilo que publicaste.

Solo sigue este ejemplo:

https://devblogs.microsoft.com/aspnet/asp-net-web-api-and-http-byte-range-support/

En una palabra:

 if (Request.Headers.Range != null) { // Return part of the video HttpResponseMessage partialResponse = Request.CreateResponse(HttpStatusCode.PartialContent); partialResponse.Content = new ByteRangeStreamContent(stream, Request.Headers.Range, mediaType); return partialResponse; } else { // Return complete video HttpResponseMessage fullResponse = Request.CreateResponse(HttpStatusCode.OK); fullResponse.Content = new StreamContent(stream); fullResponse.Content.Headers.ContentType = mediaType; return fullResponse; }
over 4 years ago · Santiago Trujillo Denunciar

0

Coloque los archivos de video estáticos en un servidor web y haga referencia a ellos en un reproductor de video. Puede usar el reproductor estándar de HTML (<video src="http://ubicación/of/file.mp4">) o buscar algo más elegante: simplemente busque en Google "reproductor de video html".

Para asegurarse de que los archivos de video no tengan que descargarse completamente antes de comenzar a reproducirlos, simplemente ejecútelos de antemano a través de qt-faststart .

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda