如何将视频从 Play 2 框架流式传输到 HTML5 播放器

Posted

技术标签:

【中文标题】如何将视频从 Play 2 框架流式传输到 HTML5 播放器【英文标题】:How to stream a video from Play 2 Framework to HTML5 player 【发布时间】:2013-10-23 22:09:38 【问题描述】:

如何将视频从 play 2 应用程序流式传输到 html5 视频播放器?

当我使用play stream doc 的解决方案时,我可以接收视频,但视频播放器中的视频长度是无限的。

【问题讨论】:

【参考方案1】:

我改编了this solution。

 def stream(id: Long) = Action 
    implicit r =>
      val v = videos.where(_.id === id).single
      val file = new java.io.File(v.filePath)
      import ExecutionContext.Implicits.global
      val fileContent: Enumerator[Array[Byte]] = Enumerator.fromFile(file)

      SimpleResult(
        header = ResponseHeader(200, Map(
          CONTENT_LENGTH -> file.length.toString,
          CONTENT_RANGE -> s"bytes */$file.length.toString",
          ACCEPT_RANGES -> "bytes",
          CONTENT_TYPE -> v.format,
          PRAGMA -> "public",
          CONTENT_TRANSFER_ENCODING -> "binary",
          CONTENT_DISPOSITION -> "attachment"
        )),
        body = fileContent
      )
  

【讨论】:

以上是关于如何将视频从 Play 2 框架流式传输到 HTML5 播放器的主要内容,如果未能解决你的问题,请参考以下文章