• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于Flash技術(shù)的文檔瀏覽和音視頻播放的設(shè)計原理及實現(xiàn)

      2012-12-31 00:00:00馮琦峰羅付軍
      網(wǎng)絡(luò)與信息 2012年9期

      摘 要:Flash 是當今Internet上最流行的多媒體展現(xiàn)技術(shù),可用于展現(xiàn)動畫、文檔以及音視頻等多種類型的內(nèi)容。文章詳細介紹了利用Flash展現(xiàn)文檔和音視頻文件的設(shè)計原理和實現(xiàn)方法,并給出了主要功能的原代碼。

      關(guān)鍵詞:Flash;文檔瀏覽;音視頻播放

      FLASH是美國Macromedia公司于1999年6月推出的優(yōu)秀網(wǎng)頁動畫設(shè)計軟件.它是一種交互式動畫設(shè)計工具,用它可以將文檔及音樂、聲效、動畫以及富有新意的界面融合在一起,以制作出高品質(zhì)的網(wǎng)頁動態(tài)效果.現(xiàn)在,F(xiàn)LASH 技術(shù)的應(yīng)用由動態(tài)網(wǎng)頁的制作發(fā)展到 MTV、課件等多媒體制作,應(yīng)用越來越廣泛。隨著網(wǎng)絡(luò)應(yīng)用的普及,人們傾向于在網(wǎng)絡(luò)上完成文檔瀏覽和音視頻播放等基于B/S架構(gòu)的高級功能,逐步脫離本地客戶機的應(yīng)用環(huán)境局限。因此,可以利用Flash技術(shù)強大的多媒體功能,實現(xiàn)文檔瀏覽和音視頻播放的在線應(yīng)用。

      1 設(shè)計思想

      文檔型文件和音視頻文件包括多種類型的文件格式,并不能直接被Flash技術(shù)所支持,需要通過第三方工具將各類不同格式的文檔型文件和音視頻文件統(tǒng)一轉(zhuǎn)換成為Flash技術(shù)所支持的文件格式,最終實現(xiàn)文檔瀏覽和音視頻播放的在線應(yīng)用。

      1.1 文檔型文件設(shè)計思想

      Flash在線瀏覽器設(shè)計思想:文件服務(wù)器上存在不同格式的電子文件,需要在瀏覽器中查看時由openoffice處理將文件格式轉(zhuǎn)換為pdf格式的文件,然后在由swftools工具包中的pdf2swf處理為swf目標格式,通過flexpaper加載,最后客戶端在瀏覽器里就可以直接查閱。如圖1-1所示:

      1.2 音視頻文件設(shè)計思想

      Flash在線瀏覽器設(shè)計思想:文件服務(wù)器上存在不同格式的音視頻文件,需要在瀏覽器中查看時通過mencoder解碼程序轉(zhuǎn)換成 FLA格式的文件,通過jwplayer加載播放FLA 文件,最后客戶端在瀏覽器里就可以直接查閱。如圖1-2所示:

      2 實現(xiàn)方法

      首先要搭建兩個服務(wù)平臺:電子文件轉(zhuǎn)換服務(wù)平臺和在線文檔控制瀏覽服務(wù)平臺。具體步驟如下:

      (1)用戶通過應(yīng)用平臺上傳電子文件;

      (2)上傳的文件直接添加到轉(zhuǎn)換任務(wù)池;

      (3)轉(zhuǎn)換程序根據(jù)任務(wù)池順序隊列轉(zhuǎn)換(多個轉(zhuǎn)換服務(wù)同時工作);

      (4)轉(zhuǎn)換程序根據(jù)文件類型進入相應(yīng)的轉(zhuǎn)換操作;

      (5)轉(zhuǎn)換完成發(fā)送消息到應(yīng)用平臺通知轉(zhuǎn)換完成;

      (6)前臺顯示轉(zhuǎn)好的FLASH文件;

      2.1 Office文檔操作

      利用OpenOffice來對Office文檔進行操作,并且通過JODCon

      verter調(diào)用把Office文檔轉(zhuǎn)換成PDF文檔,OpenOffice.org具有一個鮮為人知的特性就是其能夠作為一個服務(wù)來運行,而這種能力具有一定的妙用。舉例來說,你可以把openoffice.og變成一個轉(zhuǎn)換引擎,利用這種轉(zhuǎn)換引擎你可以通過網(wǎng)絡(luò)接口或命令行工具對文件的格式進行轉(zhuǎn)換,JODConverter可以幫助你實現(xiàn)OpenOffice.org的這種文件轉(zhuǎn)換功能。

      為了將OpenOffice.org作為一個轉(zhuǎn)換引擎,你必須以服務(wù)的方式將它啟動,使它在某個特定的端口監(jiān)聽連接。

      在Linux平臺你可以用如下的命令啟動openoffice.org:

      soffice -headless -accept=\"socket,port=8100;urp;\"

      在Windows平臺, 使用如下命令:

      X:\\Program Files\\OpenOffice.org 3\\program\\soffice -accept=

      \"socket,port=8100;urp;\"

      2.2 轉(zhuǎn)換為PDF文件

      通過JODConverter調(diào)用OpenOffice把Office文檔轉(zhuǎn)換成PDF文檔,JODConverter是基于java,你需要安裝1.4或更高版本的java運行環(huán)境。下載最新版本的jodconverter-tomcat-x.x.x.zip,解壓到某個目錄,就可以啟動 JODConverter

      sh jodconverter-tomcat-2.2.2/bin/startup.sh

      在瀏覽器打開http://localhost /converter,你就可以看見一個簡單的Web界面,選中需要轉(zhuǎn)換的文件并確定格式,點擊按鈕就可以轉(zhuǎn)換。也可以通過命令行對文件進行轉(zhuǎn)換,如:

      java -jar jodconverter-2.1.1/lib/jodconverter-2.2.2.jar test.docx test.pdf

      2.3 PDF轉(zhuǎn)換為SWF文件

      SWFTools是一組用來處理Flash的swf文件的工具包,包括:

      (1)合并工具swfcombine

      (2)抽取工具swfextract

      (3)PDF/JPEG/PNG/AVI/TTF/WAV到SWF的轉(zhuǎn)換工具pdf2swf, jpeg2swf, png2swf, avi2swf, font2swf, wav2swf

      (4)文本解析工具swfstrings

      (5)SWF解析器swfdump

      (6)SWF讀寫庫rfxswflib

      其中把pdf轉(zhuǎn)成swf的工具就是pdf2swf了。在命令行中運行\(zhòng)"pdf2swf src.pdf des.swf\"一般能滿足需求。而命令行參數(shù)可以通過pdf2swf -f得到。

      Java調(diào)用PDF2SWF工具進行PDF轉(zhuǎn)SWF的代碼:

      Process pro = Runtime.getRuntime().exec(\"/pdf2swf -z -s flashversion=9 -s jpegsubpixels=1 -s ppmsubpixels=1\"+要轉(zhuǎn)換的PDF文件+\" -o \"+輸出的SWF文件);

      InputStreamWathThread inputWathThread = new nputStreamWath

      Thread(pro,\"PDF2SWF\");

      inputWathThread.start();

      ErrorInputStreamWathThread errorInputWathThread = new ErrorInputStreamWathThread(pro,\"PDF2SWF\");

      errorInputWathThread.start();

      //等待轉(zhuǎn)換完成

      try {

      pro.waitFor();

      inputWathThread.setOver(true);//轉(zhuǎn)換完,停止流的處理

      errorInputWathThread.setOver(true);

      } catch (InterruptedException e) {

      e.printStackTrace();

      }

      2.4 SWF文件瀏覽

      FlexPaper是一個開源輕量級的在瀏覽器上顯示各種文檔的組件,被設(shè)計用來與PDF2SWF一起使用,使在Flex中顯示PDF成為可能,而這個過程并無需PDF軟件環(huán)境的支持。它可以被當作Flex的庫來使用。

      2.5 音視頻文件轉(zhuǎn)換

      mencoder是一款命令行方式的視頻處理軟件,是Mplayer自帶的編碼工具(Mplayer是Linux下的播放器,開源,支持幾乎所有視頻格式的播放,現(xiàn)在有windows和Mac版本)。 在linux下,安裝完Mplayer后,就有mencoder,無需另外安裝。mencoder支持幾乎所有的格式的視頻轉(zhuǎn)換,可以將任意格式轉(zhuǎn)換到任意格式,轉(zhuǎn)換功能可以說是相當強大。目前市面上流行的格式轉(zhuǎn)換器,都是基于mencoder開發(fā)的GUI,比如暴風(fēng)轉(zhuǎn)碼,格式工廠等??梢哉f轉(zhuǎn)換器能辦到的,mencoder都能辦到,但mencoder能辦到的,轉(zhuǎn)換器就不一定能辦到了。

      例如:mencoder input.avi -o output.avi -oac mp3lame -lame

      opts cbr:br=32 -ovc x264 -x264encopts bitrate=440 -vf scale=4

      48:-3

      input.avi 是指輸入的視頻,也就是你要轉(zhuǎn)換的視頻。

      -o output.avi中的\"-o\"是指你要輸出視頻,輸出的視頻名為output.avi。

      -oac 設(shè)置音頻編碼器。

      mp3lame 設(shè)置音頻編碼器為mp3lame,也是就mp3。

      -lameopts 設(shè)置mp3lamer的相關(guān)參數(shù)。

      cbr:br=32 設(shè)置音頻的碼率為32。

      -ovc 設(shè)置視頻編碼器。

      x264 設(shè)置視頻編碼器為x264。

      -x264encopts 設(shè)置x264的參數(shù)。

      bitrate-440 設(shè)置x264的視頻的碼率為440。

      -vf scale=448:-3 設(shè)置視頻的寬為448,高為-3,-3的意思就是讓mencoder來設(shè)置最佳寬度。

      實現(xiàn)代碼如下:

      Process pro =Runtime.getRuntime().exec(\"/mencoder -of lavf -oac mp3lame -lameopts abr:br=56 -ovc lavc -lavcopts vcodec=flv:vbitrate=500:mbd=2:mv0:trell:v4mv:cbp:last_pred=3:dia=4:cmp=6:vb_strategy=1 -vf scale=512:-3 -ofps 12 -srate 22050\"+要轉(zhuǎn)換的文件+\" -o \"+輸出的FLV文件);

      InputStreamWathThread inputWathThread = new InputStreamWathThread(pro,\"VIDEO2FLV\");

      inputWathThread.start();

      ErrorInputStreamWathThread errorInputWathThread = new ErrorInputStreamWathThread(pro,\"VIDEO2FLV\");

      errorInputWathThread.start();

      try {

      pro.waitFor();

      inputWathThread.setOver(true);//轉(zhuǎn)換完,停止流的處理

      errorInputWathThread.setOver(true);

      } catch (InterruptedException e) {

      e.printStackTrace();

      }

      2.6 音視頻文件播放

      JW Media Player是一個開源的在網(wǎng)頁上使用的Flash視頻、音頻以及圖片播放器,支持Sliverlight 播放,可以通過一個XML文件使播放器自動切換顯示一組圖片,并播放背景音樂。它支持播放的Adobe Flash Player和HTML5瀏覽器可以處理任何格式(FLV文件,H.264標準,MP4功能,VP8的,WEBM,支持MP3,AAC,JPG,PNG和GIF)。它也支持各種流和播放清單格式(包括RMTP協(xié)議,HTTP直播和更多)和多種播放選項。并支持所有主要的CDN和自適應(yīng)比特率切換意味著你可以在全球各地提供高質(zhì)量的內(nèi)容。

      JW Player是一個先進的視頻平臺,您可以進行自定義和擴展:

      無需特殊工具,你可以編輯文本創(chuàng)建圖像,然后你可以建立一個皮膚。

      它的插件架構(gòu) 和 JavaScript API讓您可以輕松地擴展它的功能,融入您的網(wǎng)站,或連接到第三方服務(wù)。

      視頻播放

      2.7 在線文檔瀏覽平臺接口封裝

      在線文檔控制瀏覽平臺被單獨封裝成Web service接口,在系統(tǒng)應(yīng)用平臺里以接口的形式進行調(diào)用。

      Web service它是一種構(gòu)建應(yīng)用程序的普遍模型,可以在任何支持網(wǎng)絡(luò)通信的操作系統(tǒng)中實施運行;它是一種新的web應(yīng)用程序分支,是自包含、自描述、模塊化的應(yīng)用,可以發(fā)布、定位、通過web調(diào)用。Web Service是一個應(yīng)用組件,它邏輯性的為其他應(yīng)用程序提供數(shù)據(jù)與服務(wù)。各應(yīng)用程序通過網(wǎng)絡(luò)協(xié)議和規(guī)定的一些標準數(shù)據(jù)格式(Http,XML,Soap)來訪問Web Service,通過Web Service內(nèi)部執(zhí)行得到所需結(jié)果。Web Service可以執(zhí)行從簡單的請求到復(fù)雜商務(wù)處理的任何功能。一旦部署以后,其他Web Service應(yīng)用程序可以發(fā)現(xiàn)并調(diào)用它部署的服務(wù)。

      在構(gòu)建和使用Web Service時,主要用到以下幾個關(guān)鍵的技術(shù)和規(guī)則:

      (1)XML:描述數(shù)據(jù)的標準方法.

      (2)SOAP:表示信息交換的協(xié)議.

      (3)WSDL:Web服務(wù)描述語言.

      (4)UDDI(Universal Description, Discovery and Integration):通用描述、發(fā)現(xiàn)與集成,它是一種獨立于平臺的,基于XML語言的用于在互聯(lián)網(wǎng)上描述商務(wù)的協(xié)議。

      3 結(jié)束語

      本文的研究成果給出了文檔瀏覽和音視頻播放等在線應(yīng)用的解決方案。不僅可以應(yīng)用于互聯(lián)網(wǎng)上文檔分享類和視頻分享類的網(wǎng)站,而且還可以應(yīng)用于企業(yè)內(nèi)部辦公系統(tǒng)的電子文件資源瀏覽,甚至可以應(yīng)用在檔案數(shù)字資源的在線管理和瀏覽,具有極高的應(yīng)用價值。

      參考文獻

      [1] 蔣玉芳,胡萬志.淺談Flash在網(wǎng)頁設(shè)計中的應(yīng)用[J].網(wǎng)絡(luò)財富,2010年10月:173-175.

      [2] 昊芳.Flash應(yīng)用發(fā)展前景初探[J].技術(shù)應(yīng)用.

      ————————————

      注:本文為浙江省檔案局科研項目“基于Flash技術(shù)的檔案信息資源在線管理研究”(項目編號:2011-12)研究成果之一。

      沙雅县| 通江县| 新邵县| 巴南区| 吉木萨尔县| 利津县| 永康市| 南乐县| 富平县| 合作市| 泽库县| 车致| 瑞丽市| 北川| 西和县| 威信县| 兴宁市| 余江县| 芮城县| 朝阳县| 墨江| 安顺市| 蕲春县| 肥西县| 东丰县| 观塘区| 邵武市| 盘山县| 格尔木市| 修武县| 左权县| 新津县| 桦川县| 青海省| 信阳市| 麻阳| 洛阳市| 腾冲县| 康平县| 深圳市| 姚安县|