java 播放視頻

1. 大體的架構及流程

        實現視頻點播系統,B/S架構,服務端至少應該是兩個服務器:流媒體服務器,web服務器。客戶端則就是web頁面。當開啓頁面後則是客戶端和服務器的第一次交互,通過http協議得到頁面。裏面會有流媒體地址的信息,瀏覽器裏面點擊顯示視頻組件,將流媒體的地址傳給流媒體播放器,並啓動播放器去請求視頻。這是第二次交互。服務器端流媒體服務器發送流給客戶端,頁面上播放就okay了。
 
        2. 環境及所需軟件
        Jeremiah的測試環境是xp sp2及IE8瀏覽器。IP地址:172.16.128.8. 與IP有關的地址,請根據個人情況自己改
        服務端:
        流媒體服務器先用個簡單的:live555 Media Server(http://www.live555.com/mediaServer/windows/live555MediaServer.exe)
        Web服務器:Jeremiah以前學的JAVA,所以用Tomcat。IIS或者其他的Web服務器都可以。其實Jeremiah這個小系統用的是靜態頁面,所以如果是在本機測試的話,不用Web服務器也是okay的。模擬本地打開爲Web瀏覽。
        客戶端:vlc-0.9.4的Activex。需要把Activex註冊好(參考http://jeremiah.blog.51cto.com/539865/115943
注:下載vlc-0.8.6i-win32安裝即可
 
        3. 配置流媒體服務器
        下載完live555 Media Server之後放到d:/video下面,啓動時會有以下信息:
"Play streams from this server using the URL
        rtsp://172.16.128.8/<filename>
where <filename> is a file present in the current directory."
並且後面還會有live555支持的視頻格式。本測試就用的mp3和ts格式。其他格式沒有試驗過。
        mp3好說,ts怎麼得到呢?這時候vlc就出場了。vlc有轉換保存功能,媒體->轉換/保存->選擇某個文件後點擊轉換/保存->流輸出頁面勾選本地播放,勾選文件並且瀏覽得到個文件名,注意後綴爲ts而不是ps,方案封裝選MPEG-TS,然後點擊save。把你選擇的視頻播放一遍之後,ts格式的文件就生成好了。
        將生成好的ts文件和網上下載的mp3放到d:/video下面,本測試爲01.ts及02.mp3。這樣流媒體服務器就配置好了。
 
        4. web頁面代碼(login.jsp)
<%@ page language="java" import="supervision.bean.MyReceive;" pageEncoding="gb2312"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<script language="javascript">

function getVLC(name)
{ alert(name);
        if (window.document[name])   
        {
                return window.document[name];
        }
        if (navigator.appName.indexOf("Microsoft Internet")==-1)
        {
                if (document.embeds && document.embeds[name])
                        return document.embeds[name];   
        }
        else
        {
                return document.getElementById(name);
        }
}
</script>
</head>
<body>
<br/><br/>
<div align="center">
<input type=button value="靜音切換1" οnclick='getVLC("vlc1").audio.togglemute();'>
<input type=button value="靜音切換2" οnclick='getVLC("vlc2").audio.togglemute();'>
<input type=button value="靜音切換3" οnclick='getVLC("vlc3").audio.togglemute();'>
<input type=button value="靜音切換4" οnclick='getVLC("vlc4").audio.togglemute();'>
<input type=button value="靜音切換5" οnclick='getVLC("vlc5").audio.togglemute();'>
<input type=button value="靜音切換6" οnclick='getVLC("vlc6").audio.togglemute();'>
</div>
<br/>
<table align="center" width="80%"><tr>
<td align="center">
                
        <object classid="clsid:9be31822-fdad-461b-ad51-be1d1c159921"
                width="275"
                height="220"
                id="vlc1"
                events="true">
    
        <param name="mrl" value="http://jdeps:9090/supervision/sound/2.wmv" />
  
  
        <param name="showdisplay" value="true" />
        <param name="autoloop" value="true" />
        <param name="autoplay" value="true" />
        <param name="volume" value="50" />
        <param name="starttime" value="0" />
        <embed pluginspage="http://www.videolan.org"
                     type="application/x-vlc-plugin"
                     version="videolan.vlcplugin.2"
                     width="275"
                     height="220"
                     name="vlc1">
        </embed>
        </object>
</td>
<td align="center">
 <object classid="clsid:9be31822-fdad-461b-ad51-be1d1c159921"
                width="275"
                height="220"
                id="vlc2"
                events="true">
    
        <param name="mrl" value="http://jdeps:9090/supervision/sound/1.wmv" />
  
  
        <param name="showdisplay" value="true" />
        <param name="autoloop" value="true" />
        <param name="autoplay" value="true" />
        <param name="volume" value="50" />
        <param name="starttime" value="0" />
        <embed pluginspage="http://www.videolan.org"
                     type="application/x-vlc-plugin"
                     version="videolan.vlcplugin.2"
                     width="275"
                     height="220"
                     name="vlc2">
        </embed>
        </object>
</td><td align="center">
   <object classid="clsid:9be31822-fdad-461b-ad51-be1d1c159921"
                width="275"
                height="220"
                id="vlc3"
                events="true">
    
        <param name="mrl" value="http://jdeps:9090/supervision/sound/3.wmv" />
  
  
        <param name="showdisplay" value="true" />
        <param name="autoloop" value="true" />
        <param name="autoplay" value="true" />
        <param name="volume" value="50" />
        <param name="starttime" value="0" />
        <embed pluginspage="http://www.videolan.org"
                     type="application/x-vlc-plugin"
                     version="videolan.vlcplugin.2"
                     width="275"
                     height="220"
                     name="vlc3">
        </embed>
        </object>
  
</td></tr><tr>
<td align="center">
   <object classid="clsid:9be31822-fdad-461b-ad51-be1d1c159921"
                width="275"
                height="220"
                id="vlc4"
                events="true">
    
        <param name="mrl" value="http://jdeps:9090/supervision/sound/4.wmv" />
  
       
        <param name="showdisplay" value="true" />
        <param name="autoloop" value="true" />
        <param name="autoplay" value="true" />
        <param name="volume" value="50" />
        <param name="starttime" value="0" />
        <embed pluginspage="http://www.videolan.org"
                     type="application/x-vlc-plugin"
                     version="videolan.vlcplugin.2"
                     width="275"
                     height="220"
                     name="vlc4">
        </embed>
        </object>
</td>
<td align="center">
   <object classid="clsid:9be31822-fdad-461b-ad51-be1d1c159921"
                width="275"
                height="220"
                id="vlc5"
                events="true">
    
        <param name="mrl" value="http://jdeps:9090/supervision/sound/2.wmv" />
  
       
        <param name="showdisplay" value="true" />
        <param name="autoloop" value="true" />
        <param name="autoplay" value="true" />
        <param name="volume" value="50" />
        <param name="starttime" value="0" />
        <embed pluginspage="http://www.videolan.org"
                     type="application/x-vlc-plugin"
                     version="videolan.vlcplugin.2"
                     width="275"
                     height="220"
                     name="vlc5">
        </embed>
        </object>

</td>
<td align="center">
   <object classid="clsid:9be31822-fdad-461b-ad51-be1d1c159921"
                width="275"
                height="220"
                id="vlc6"
                events="true">
    
        <param name="mrl" value="http://jdeps:9090/supervision/sound/1.wmv" />
  
       
        <param name="showdisplay" value="true" />
        <param name="autoloop" value="true" />
        <param name="autoplay" value="true" />
        <param name="volume" value="50" />
        <param name="starttime" value="0" />
        <embed pluginspage="http://www.videolan.org"
                     type="application/x-vlc-plugin"
                     version="videolan.vlcplugin.2"
                     width="275"
                     height="220"
                     name="vlc6">
        </embed>
        </object>

</td>
</tr></table>
</body>
</html>
運行即可
出處爲:http://blog.chinaunix.net/u/15674/showart_2189242.html(自己加以修改)
發佈了17 篇原創文章 · 獲贊 6 · 訪問量 7萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章