在线视频播放

作者: 吝啬言语 | 来源:发表于2017-12-27 17:28 被阅读0次

最近项目中用到了在线播放视频的功能,总结一下。
基本思路是,服务端取出文件字节流,输出到前端, 网页用video标签播放。
1、前端video标签,src指定请求的url和文件名:

<video style="width: 800px;height: 600px;" controls preload>
     <source src="url?vpath=文件服务端路径"></source>
</video>

2、服务端响应请求,用servlet或其他都可以。

public void previewLocal(HttpServletRequest request, HttpServletResponse response) throws IOException {
        // 得到文件路径,取文件
        String filePath = "D:\\VID.mp4";
        // String filePath = request.getParameter("vpath");
        File file = new File(filePath);
        if (file.exists()) {
            String diskfilename = file.getName();
            // 取头参数,浏览器信息等,如果需要的话
            String range = request.getHeader("range");
            String browser = request.getHeader("User-Agent");
            logger.info("range:" + range + ",browser:" + browser);
            // 设置响应头信息
            response.setContentType("video/mp4");
            response.setHeader("Content-Disposition", "attachment; filename=\"" + diskfilename + "\"");
            response.setContentLength((int) file.length());
            // 前边的range是请求的数据范围,一般"0-",表示从0开始,之后的所有内容
            // Content-Range是返回的数据范围,需要快进的话,需要指定有效的范围,不指定不能快进,超出范围也不能快进
            response.setHeader("Content-Range", range + (file.length() - 1));
            response.setHeader("Accept-Ranges", "bytes");
            // 裤子脱完了,开始蹲下干正事,完了记得擦破屁股
            InputStream is = new FileInputStream(file);
            OutputStream os = response.getOutputStream();
            IOUtils.copyBytes(is, os, file.length(), false);
            // 擦屁股
            is.close();
            os.close();
        }
    }

3、现在的项目好多都赶时髦,弄个HDFS存文件,这样的话,只需要稍加修改。( 前提是HDFS存取文件各种操作都搞定了)

//检查文件存在
if(fs.exits( filePath )){}
//取文件长度:
len = fs.getFileStatus(filePath).getLen();
//得到输入流:
InputStream inputStream = fs.open( filePath );

4、基本功能实现了,完善工作肯定还是有的,遇到问题解决问题吧。

相关文章

  • 2015-10-9--avplayer拖动导致卡顿

    在线视频在播放在线视频的时候,如果网速很慢,视频会卡住不动,在有效的时间内,如果数据缓冲过来,视频可以继续往下播放...

  • 在线视频播放

    最近项目中用到了在线播放视频的功能,总结一下。基本思路是,服务端取出文件字节流,输出到前端, 网页用video标签...

  • 在线视频播放器 11.5 Mac中文版

    在线视频播放器mac中文版是mac上一款非常好用的在线视频播放软件,无广告无插件、支持观看在线直播和视频点播!在线...

  • 在线视频播放器 Mac免费版

    在线视频播放器mac版是mac上一款非常好用的在线视频直播软件,无广告无插件、支持观看在线直播和视频点播!在线视频...

  • iOS AVPlayer

    1.使用AVPlayer播放在线视频,可自己定制播放器 //1申明url NSURL * playUrl = [N...

  • ios 在线本地音乐视频播放器

    前言 文章没有涉及在线音频流视频流播放此播放器针对在线、离线音频播放、离线、在线视频播放本文重点是对AVPlaye...

  • 基于 Flask 的在线视频播放器

    项目描述 使用 Flask 实现的简单网页视频播放器。开发准备:Python3 功能简介 在线视频播放 视频列表浏...

  • 万能视频播放器:Elmedia Player Pro

    Mac上哪款视频播放器最好用?Elmedia Player Pro mac版集成了在线视频下载和视频播放的功能!能...

  • 万能视频播放器:Elmedia Player Pro for M

    Mac上哪款视频播放器最好用?Elmedia Player Pro mac版集成了在线视频下载和视频播放的功能!能...

  • prismplayer,sticky footer ,浮动元素居

    1.Prismplayer 一套在线视频播放技术方案(可直播),同时支持Flash和Html5两种播放技术,可对播...

网友评论

    本文标题:在线视频播放

    本文链接:https://www.haomeiwen.com/subject/cwnugxtx.html