当前位置: 代码迷 >> J2EE >> JSP 干视频流媒体服务器在线播放AVI,MP4,WMV格式,求!
  详细解决方案

JSP 干视频流媒体服务器在线播放AVI,MP4,WMV格式,求!

热度:41   发布时间:2016-04-21 21:30:51.0
JSP 做视频流媒体服务器在线播放AVI,MP4,WMV格式,急求!!!
小弟不才,第一次使用JSP做在线视频播放,需要播放格式有AVI,MP4,WMV等(服务器里已经存储了这几种格式了,后续还有人通过CS结构的项目上传更多的视频文件,CS结构的项目我没办法修改,为了达到能网页播放这些视频只是假设了TOMCAT)

问题:  使用 MEDIA PLAYER 应该是可以播放WMV的,可以边缓冲边播放,但是AVI的格式不行。

         思路:以为是解码器的问题和AVI不支持流媒体。也使用过百度影音等工具播放,但是连WMV 的格式也需要全部下载完成后才可以播了。


提问:  网上很多AVI等格式 百度影音和快播等 都可以边缓冲边播放,他们是需要假设 流媒体服务器?

我现在的环境就是TOMCAT 将路径映射到 视频文件夹下,然后JSP页面调用视频URL。

请各位大神帮忙分析以及提供一下思路。  在线万分感谢!
视频流?JSP? avi 视频 tomcat 流媒体服务器

------解决方案--------------------
使用流媒体。使用ffmpeg转码。
播放器用这个,我做过:http://flowplayer.org/tools/demos/
------解决方案--------------------
不是播放器问题!你要把你所有的后台视频格式转换成flv格式的。现在基本上大型在线视频网站都是flv格式的。我上面说了用ffmpeg可以转成flv格式的。api或者exe都可以做到。你自己研究下,转成flv之后基本上用一个flash播放器都可以变下载变放,而且随意拖动。

我直线写的一个Converter,你可以参考下

package com.cemso.util;

import java.io.File;
import java.io.InputStream;
import java.util.ArrayList;
import java.util.List;

import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;

public class VideoConverter {

        private final static String BASE_PATH = FileOperationTool.DEFAULT_VIDEO_DES_PATH;
        private final static String FLV_PATH = FileOperationTool.DEFAULT_FLV_PATH;
        private static String PATH = "";
        private static String FILE_NAME = "";
        
        private static final Log log = LogFactory.getLog(com.cemso.util.VideoConverter.class);

        public static boolean convert(String fileName) {
                PATH = BASE_PATH + fileName;
                FILE_NAME = fileName;
                if(log.isDebugEnabled()){
                        log.debug("start to convert video to flv format...");
                        log.debug("the file name is : " + FILE_NAME);
                        log.debug("the file path is : " + PATH);
                }

                if (!checkfile(PATH)) {
                        return false;
                } else {
                        if (process()) {
                                if(log.isDebugEnabled()){
                                        log.debug("process() ok");
                                }
                                return true;
                        } else {