李軍廷
摘 要: 最近幾年,數字視頻行業的發展飛速,數字視頻攝像機逐漸成為人們生活中一個重要的組成部分。與此同時,視頻的格式與編碼方式也隨之增加,FFMPEG的問世促進了音視頻之間的轉換。在此主要研究在Linux操作系統下如何進行FFMPEG的安裝、編譯,如何利用FFMPEG平臺進行視頻格式間的轉換,生產效率高、配置簡單、容錯性強是該視頻轉換與發布的主要特點,同時系統還可以對視頻進行壓縮,且壓縮效率很高,能夠明顯提高網絡傳輸效率。
關鍵詞: 視頻; 音頻/視頻轉換; 流媒體; FFMPEG
中圖分類號: TN919?34 文獻標識碼: A 文章編號: 1004?373X(2014)18?0023?03
Establishing of streaming media server by FFMPEG technology
LI Jun?ting
(Fire Brigade of Hebei Province, Shijiazhuang 050035, China)
Abstruct:In recent years, the rapid development of the digital video industry, digital video cameras become an important part in people's lives gradually. Meanwhile, the video format and encoding mode also increases. However, the advent of FFMPEG promotes the conversion between audio and video. How to install and compile FFMPEG under the Linux operating system, and how to use FFMPEG platform to convert between video formats are studies in this paper. High production efficiency, simple configuration and strong fault?tolerant are the main features of the video converter and release. The system can also compress video, has high compression efficiency, and can significantly improve the network transmission efficiency.
Keywords: video; transformation between audio and video; streaming media; FFMPEG
信息技術的發展很大程度地改變了人們的生活方式。當前,手機走進了人們的視野,成為人們日常生活不可或缺的一部分。而且現在的手機制造者越來越看重它的娛樂價值,手機功能的日漸強大讓人們意識到用它來觀看電視絕對不再是什么奢望。然而由于手機某些功能的限制,并非任何格式的視頻都可以播放出來,況且手機的內存也是有限的,無法存儲大容量的電影,因此上就需要轉換和壓縮視頻的格式。為了能夠讓用戶更為方便地預覽視頻,就需要把其轉換成FLV格式[1]。
本文主要介紹視頻轉換系統在Linux操作系統下運用Java語言,通過FFMPEG平臺研發而成的。這樣用戶就可以在線播放視頻,也可以是下載到手機上來播放。
1 系統的目的
本系統提供了一個視頻轉換,上傳,發布一體化的平臺,在這個平臺上,管理員在上傳完源視頻后,源視頻就會被自動轉換系統進行相應的分析與轉換,隨之會產生視頻縮略圖。之后轉換過后的視頻就會被視頻發布系統在網絡上進行發布。最后用戶就可以在手機或者是電腦上觀看瀏覽[2]。編碼,分辨率,幀數等屬性的制定其實是系統利用設備描述文件來制定的。多個目標文件可以同時輸出,自動地在許多不同的設備與其用途之間做調配,選擇最優的文件質量和文件尺寸。視頻還可以通過自動分割來滿足不同設備的不同需要,提升用戶的使用質量,在視頻中添加水印之后還能夠保護所有人的權益。
2 系統設計
2.1 功能方面的設計
在視頻的上傳,轉換與發布上,本系統為用戶提供的服務相當完整。FIP方式和Web方式是視頻上傳的兩種方式。FIP方式的上傳速度很快,且適合上傳大容量的視頻;Web方式上傳相對簡單方便一些,適合上傳的是單個的視頻文件。所謂視頻文件的轉換,就是把源視頻轉換成需要的其他格式的視頻。Web和WAP兩種發布方式既可以供用戶通過手機瀏覽,也可以在網上瀏覽。
2.2 性能方面的設計
該系統支持并發計算,在單個服務器上用戶可以并發多個請求。而且包含隊列的管理與防阻塞的機制。利用多臺服務器進行分布計算和并發式計算可以進行量視頻的轉換,也可以通過管理接口,包括性能,日志,負載報告等[3]。
3 系統的實現
系統邏輯結構圖如圖1所示。
圖1 系統整體結構
3.1 系統研發平臺
系統的研發是在Linux系統下進行的,采用[JSP+Tomeat]的架構來進行視頻的上傳和發布的。視頻的轉換采用Java作為開發語言,通過操作FFMPEG系統來實現。
3.2 視頻的上傳
視頻的上傳方式有兩種:FTP方式和Web方式:
FTP方式:適合于對大批量的視頻進行上傳。在視頻上傳的過程中,每一個視頻對應的有兩個文件,一個就是視頻文件其本身,而另外一個就是與之對應的相關屬性信息,有簡介,標題,標簽等。比如1.avi,1.txt就是一個視頻對應的兩個文件。
Web方式:主要適合于上傳單個視頻。在上傳系統中通過采用[spsmartupload]件,可以方便的對文件進行上傳。
3.3 數據庫
系統的后臺數據庫為Oracle 10G,主要儲存視頻的相關信息。包括有視頻的標簽、簡介、標題、格式、大小、時長、尺寸等。
3.4 視頻轉換
系統的核心就是視頻轉換。其主要功能就是把上傳的視頻轉換成需要的各種格式,如3GP格式、FLV格式等。轉換時主要就是運用的就是FFMPEGJ進行的。以下是視頻轉換的流程圖如圖2所示。
FFMPEG簡介:FFMPEG作為一個視頻,音頻轉換器,可支持絕大多數符合工業標準的編碼,還能夠從一種格式轉換成另外的一種格式[4],并能利用攝像頭捕獲到音頻,視頻等。用FFMPEG進行視頻轉換的前提就是對FFMPEG的下載,安裝,編譯要正確,FFMPEG的最新版本可以通過SVN方式進行下載,SVN要在LINUX系統下安裝,成功安裝后執行命令:
svn checkout svmsvamphyerhpqu ffmljghnmk ffmpcg
圖2 視頻轉換模塊流程
通過一定時間的下載,目錄下面就會產生一個名為ffmpeg的文件夾,這就是FFMPEG源文件。如果下載和安裝了以下文件,就會使ffmpeg能夠支持更多格式之間的轉換。以下文件也需要下載并安裝:[26204-510.zip],[26073-510.zip],[lame.tar.gz],[xvidcore-1.1.0.zip],[zlib-1.2.3.tar.gz],[libtheora.tar.gz],[libvorbis-1.1.1.tar.gz],[libogg-1.1.1.tar.gz],[faac-1.24.tar.gz],[faad2-2.0.tar.gz],[a52dec-0.7.4.tar],[all-20061022.tar]等文件,安裝好這些文件后就能夠進行FFPEG的編譯工作。3GP是絕大多數手機都支持的格式,而要想讓本系統支持3GP格式,編譯的時候也要加上[-enable-amr_nb-enable-amr_wb]參數,最后,完整的編譯命令為:
[./configure-enable-shared-enable-mp3lame-enable-libogg-enable-vorbis]
[enable-faad-enable-faac-enable-xvid-enable-a52][enable-amr_nb-fixed-enable-arm_wb-enable-amr_if2-enable-gpl-cpu=i686 make]
[make] [install]
通過以下測試可以檢測到安裝的是否成功,先上傳一個視頻文件,如test.avi,執行以下的命令:
[ffmpeg-itest.avi-acodecaac-ar8000-ac1-ab8-qscale5-s176*144-vcodech263-r10-g180test.3gp]
要是視頻能夠成功轉換,那就表明FFMPEG已經安裝成功了。下一步就可以根據具體的需要進行視頻轉換了。FFMPEG的命令如下:
[ffmpeg[[options][-iinput_file]]???{[options]output_file}???]
對于那些輸入的原始文件,可能需要格式選項。[ffmpeg]在缺省的情況下會盡量地進行無損轉換,輸出與輸入相同的音頻,視頻參數。為了使經過轉換的視頻質量盡最大可能的好,默認配置通常不會被采用,而是要根據視頻的不同,采用最佳的配置參數。
視頻轉換中,運用Java的防阻塞機制與多線程機制。首先由調度程序[JobQueue]從源文件目錄[Source_File]下轉移一個尚未轉換的視頻和對應屬性的文件到臨時文件夾[Temp_File]下,[JobQueue]把文件參數傳給轉換程序[Convert_Robot],由[Convert_Robot]來進行視頻的轉換。[Convert_Robot]首先利用FFMPEG命令讀取視頻的屬性信息,包括時長、格式、尺寸、幀速等參數,然后根據這些參數來進行視頻轉換。根據系統的需要,每個視頻會出現4種版本的視頻普通版3GP,清晰版3GP,NV格式的,快速版3GP,如此一來就可以滿足不同的用戶的不同需要。3GP格式的主要針對手機用戶,可以供他們下載到手機上觀看。而NV格式主要是為了供用戶在網上直接觀看視頻。對于那些過長的視頻,系統會進行自動地截取,來滿足用戶下載時在時間上的需求。為了保護版權所有人的權益,在視頻的轉換過程中可以加入水印。同時還截取了每個視頻的第一秒作為此視頻的縮略圖。視頻轉換完成之后,轉換成功的視頻會被放入Publish_File文件夾中。在Image文件夾下放入縮略圖,同時也把屬性文件中的簡介、視頻標題、標簽等信息儲存到Oracle數據庫里。要是視頻轉換發生了錯誤,錯誤的信息就會被記錄到日志文件中。同時,轉換系統還可以根據服務器的負載情況靈活地調整線程,爭取轉換視頻的效率最高[5]。
3.5 視頻發布
用戶可以在視頻發布模塊看到最后的轉換產品。為了便于用戶觀看視頻,視頻發布模塊提供了兩種方式:通過互聯網在線觀看和下載到手機上觀看。使用電腦觀看的用戶可以直接點擊Flash格式進行在線觀看,因為Flash格式的視頻完全不需要下載就可以直接觀看。對于手機用戶,可以在三種3GP格式中選出一種進行下載。與此同時,這兩種方式都有個自動的搜索入口,用戶可以進入搜索入口來搜索自己想要的視頻。這個搜索入口可以索引數據庫中的視頻信息,它采用的是一種比較先進的索引技術,即Lucene索引技術,以便用戶能夠方便而又快捷地搜索到自己所需要的視頻[6]。
4 結 語
生產效率高、配置簡單、容錯性強是本視頻轉換與發布的主要特點。線程數的控制可以通過配置文件來進行。轉換速度得到很大地提高,與此同時還有超時機制。經過測試,在一臺內存為1 GB,Pentimu 4,CPU 293 GHz的 PC上,一小時大約能夠轉換300個視頻,這樣的轉換速度非常地接近實時轉換。該系統還可以對視頻進行壓縮,且壓縮效率很高,用H.263的編碼標準,一個大小為20 MB的視頻轉換成3GP格式之后,在手機觀看質量不受影響的前提下,大約能夠壓縮到400 KB的大小,這樣很大程度地節約了網絡傳輸的時間,明顯提高了網絡傳輸的效率。該系統經過稍微的改變之后,能夠執行更為復雜的功能。現今越來越多的手機都能夠支持視頻播放,且用戶也越來越習慣于在手機上觀看視頻,因此上視頻的需求量將會越來越大,使用此系統的市場前景相當廣闊。
參考文獻
[1] 胡成,任平安,李文莉.基于Android系統的FFmpeg多媒體同步傳輸算法研究[J].計算機技術與發展,2011(10):85?87.
[2] 劉建敏,楊斌,王俊麗.嵌入式Linux下基于FFmPeg的視頻硬件編解碼[J].單片機與嵌入式系統應用,2011(6):28?31.
[3] 王瑩,李莉,王華.Symbian平臺下基于FFmpeg的H.264解碼器的移植[J].現代電子技術,2011,34(11):43?46.
[4] 何圓圓,何凱.基于FFmpeg的H.264視頻解碼器的研究與實現[J].電腦知識與技術,2012(35):67?69.
[5] 王洪波.搭建流媒體服務器[J].安徽電子信息職業技術學院學報,2005(6):95?96.
[6] 向偉昌.流媒體服務器性能測評系統的設計與實現[D].長沙:國防科學技術大學,2004.
FTP方式:適合于對大批量的視頻進行上傳。在視頻上傳的過程中,每一個視頻對應的有兩個文件,一個就是視頻文件其本身,而另外一個就是與之對應的相關屬性信息,有簡介,標題,標簽等。比如1.avi,1.txt就是一個視頻對應的兩個文件。
Web方式:主要適合于上傳單個視頻。在上傳系統中通過采用[spsmartupload]件,可以方便的對文件進行上傳。
3.3 數據庫
系統的后臺數據庫為Oracle 10G,主要儲存視頻的相關信息。包括有視頻的標簽、簡介、標題、格式、大小、時長、尺寸等。
3.4 視頻轉換
系統的核心就是視頻轉換。其主要功能就是把上傳的視頻轉換成需要的各種格式,如3GP格式、FLV格式等。轉換時主要就是運用的就是FFMPEGJ進行的。以下是視頻轉換的流程圖如圖2所示。
FFMPEG簡介:FFMPEG作為一個視頻,音頻轉換器,可支持絕大多數符合工業標準的編碼,還能夠從一種格式轉換成另外的一種格式[4],并能利用攝像頭捕獲到音頻,視頻等。用FFMPEG進行視頻轉換的前提就是對FFMPEG的下載,安裝,編譯要正確,FFMPEG的最新版本可以通過SVN方式進行下載,SVN要在LINUX系統下安裝,成功安裝后執行命令:
svn checkout svmsvamphyerhpqu ffmljghnmk ffmpcg
圖2 視頻轉換模塊流程
通過一定時間的下載,目錄下面就會產生一個名為ffmpeg的文件夾,這就是FFMPEG源文件。如果下載和安裝了以下文件,就會使ffmpeg能夠支持更多格式之間的轉換。以下文件也需要下載并安裝:[26204-510.zip],[26073-510.zip],[lame.tar.gz],[xvidcore-1.1.0.zip],[zlib-1.2.3.tar.gz],[libtheora.tar.gz],[libvorbis-1.1.1.tar.gz],[libogg-1.1.1.tar.gz],[faac-1.24.tar.gz],[faad2-2.0.tar.gz],[a52dec-0.7.4.tar],[all-20061022.tar]等文件,安裝好這些文件后就能夠進行FFPEG的編譯工作。3GP是絕大多數手機都支持的格式,而要想讓本系統支持3GP格式,編譯的時候也要加上[-enable-amr_nb-enable-amr_wb]參數,最后,完整的編譯命令為:
[./configure-enable-shared-enable-mp3lame-enable-libogg-enable-vorbis]
[enable-faad-enable-faac-enable-xvid-enable-a52][enable-amr_nb-fixed-enable-arm_wb-enable-amr_if2-enable-gpl-cpu=i686 make]
[make] [install]
通過以下測試可以檢測到安裝的是否成功,先上傳一個視頻文件,如test.avi,執行以下的命令:
[ffmpeg-itest.avi-acodecaac-ar8000-ac1-ab8-qscale5-s176*144-vcodech263-r10-g180test.3gp]
要是視頻能夠成功轉換,那就表明FFMPEG已經安裝成功了。下一步就可以根據具體的需要進行視頻轉換了。FFMPEG的命令如下:
[ffmpeg[[options][-iinput_file]]???{[options]output_file}???]
對于那些輸入的原始文件,可能需要格式選項。[ffmpeg]在缺省的情況下會盡量地進行無損轉換,輸出與輸入相同的音頻,視頻參數。為了使經過轉換的視頻質量盡最大可能的好,默認配置通常不會被采用,而是要根據視頻的不同,采用最佳的配置參數。
視頻轉換中,運用Java的防阻塞機制與多線程機制。首先由調度程序[JobQueue]從源文件目錄[Source_File]下轉移一個尚未轉換的視頻和對應屬性的文件到臨時文件夾[Temp_File]下,[JobQueue]把文件參數傳給轉換程序[Convert_Robot],由[Convert_Robot]來進行視頻的轉換。[Convert_Robot]首先利用FFMPEG命令讀取視頻的屬性信息,包括時長、格式、尺寸、幀速等參數,然后根據這些參數來進行視頻轉換。根據系統的需要,每個視頻會出現4種版本的視頻普通版3GP,清晰版3GP,NV格式的,快速版3GP,如此一來就可以滿足不同的用戶的不同需要。3GP格式的主要針對手機用戶,可以供他們下載到手機上觀看。而NV格式主要是為了供用戶在網上直接觀看視頻。對于那些過長的視頻,系統會進行自動地截取,來滿足用戶下載時在時間上的需求。為了保護版權所有人的權益,在視頻的轉換過程中可以加入水印。同時還截取了每個視頻的第一秒作為此視頻的縮略圖。視頻轉換完成之后,轉換成功的視頻會被放入Publish_File文件夾中。在Image文件夾下放入縮略圖,同時也把屬性文件中的簡介、視頻標題、標簽等信息儲存到Oracle數據庫里。要是視頻轉換發生了錯誤,錯誤的信息就會被記錄到日志文件中。同時,轉換系統還可以根據服務器的負載情況靈活地調整線程,爭取轉換視頻的效率最高[5]。
3.5 視頻發布
用戶可以在視頻發布模塊看到最后的轉換產品。為了便于用戶觀看視頻,視頻發布模塊提供了兩種方式:通過互聯網在線觀看和下載到手機上觀看。使用電腦觀看的用戶可以直接點擊Flash格式進行在線觀看,因為Flash格式的視頻完全不需要下載就可以直接觀看。對于手機用戶,可以在三種3GP格式中選出一種進行下載。與此同時,這兩種方式都有個自動的搜索入口,用戶可以進入搜索入口來搜索自己想要的視頻。這個搜索入口可以索引數據庫中的視頻信息,它采用的是一種比較先進的索引技術,即Lucene索引技術,以便用戶能夠方便而又快捷地搜索到自己所需要的視頻[6]。
4 結 語
生產效率高、配置簡單、容錯性強是本視頻轉換與發布的主要特點。線程數的控制可以通過配置文件來進行。轉換速度得到很大地提高,與此同時還有超時機制。經過測試,在一臺內存為1 GB,Pentimu 4,CPU 293 GHz的 PC上,一小時大約能夠轉換300個視頻,這樣的轉換速度非常地接近實時轉換。該系統還可以對視頻進行壓縮,且壓縮效率很高,用H.263的編碼標準,一個大小為20 MB的視頻轉換成3GP格式之后,在手機觀看質量不受影響的前提下,大約能夠壓縮到400 KB的大小,這樣很大程度地節約了網絡傳輸的時間,明顯提高了網絡傳輸的效率。該系統經過稍微的改變之后,能夠執行更為復雜的功能。現今越來越多的手機都能夠支持視頻播放,且用戶也越來越習慣于在手機上觀看視頻,因此上視頻的需求量將會越來越大,使用此系統的市場前景相當廣闊。
參考文獻
[1] 胡成,任平安,李文莉.基于Android系統的FFmpeg多媒體同步傳輸算法研究[J].計算機技術與發展,2011(10):85?87.
[2] 劉建敏,楊斌,王俊麗.嵌入式Linux下基于FFmPeg的視頻硬件編解碼[J].單片機與嵌入式系統應用,2011(6):28?31.
[3] 王瑩,李莉,王華.Symbian平臺下基于FFmpeg的H.264解碼器的移植[J].現代電子技術,2011,34(11):43?46.
[4] 何圓圓,何凱.基于FFmpeg的H.264視頻解碼器的研究與實現[J].電腦知識與技術,2012(35):67?69.
[5] 王洪波.搭建流媒體服務器[J].安徽電子信息職業技術學院學報,2005(6):95?96.
[6] 向偉昌.流媒體服務器性能測評系統的設計與實現[D].長沙:國防科學技術大學,2004.
FTP方式:適合于對大批量的視頻進行上傳。在視頻上傳的過程中,每一個視頻對應的有兩個文件,一個就是視頻文件其本身,而另外一個就是與之對應的相關屬性信息,有簡介,標題,標簽等。比如1.avi,1.txt就是一個視頻對應的兩個文件。
Web方式:主要適合于上傳單個視頻。在上傳系統中通過采用[spsmartupload]件,可以方便的對文件進行上傳。
3.3 數據庫
系統的后臺數據庫為Oracle 10G,主要儲存視頻的相關信息。包括有視頻的標簽、簡介、標題、格式、大小、時長、尺寸等。
3.4 視頻轉換
系統的核心就是視頻轉換。其主要功能就是把上傳的視頻轉換成需要的各種格式,如3GP格式、FLV格式等。轉換時主要就是運用的就是FFMPEGJ進行的。以下是視頻轉換的流程圖如圖2所示。
FFMPEG簡介:FFMPEG作為一個視頻,音頻轉換器,可支持絕大多數符合工業標準的編碼,還能夠從一種格式轉換成另外的一種格式[4],并能利用攝像頭捕獲到音頻,視頻等。用FFMPEG進行視頻轉換的前提就是對FFMPEG的下載,安裝,編譯要正確,FFMPEG的最新版本可以通過SVN方式進行下載,SVN要在LINUX系統下安裝,成功安裝后執行命令:
svn checkout svmsvamphyerhpqu ffmljghnmk ffmpcg
圖2 視頻轉換模塊流程
通過一定時間的下載,目錄下面就會產生一個名為ffmpeg的文件夾,這就是FFMPEG源文件。如果下載和安裝了以下文件,就會使ffmpeg能夠支持更多格式之間的轉換。以下文件也需要下載并安裝:[26204-510.zip],[26073-510.zip],[lame.tar.gz],[xvidcore-1.1.0.zip],[zlib-1.2.3.tar.gz],[libtheora.tar.gz],[libvorbis-1.1.1.tar.gz],[libogg-1.1.1.tar.gz],[faac-1.24.tar.gz],[faad2-2.0.tar.gz],[a52dec-0.7.4.tar],[all-20061022.tar]等文件,安裝好這些文件后就能夠進行FFPEG的編譯工作。3GP是絕大多數手機都支持的格式,而要想讓本系統支持3GP格式,編譯的時候也要加上[-enable-amr_nb-enable-amr_wb]參數,最后,完整的編譯命令為:
[./configure-enable-shared-enable-mp3lame-enable-libogg-enable-vorbis]
[enable-faad-enable-faac-enable-xvid-enable-a52][enable-amr_nb-fixed-enable-arm_wb-enable-amr_if2-enable-gpl-cpu=i686 make]
[make] [install]
通過以下測試可以檢測到安裝的是否成功,先上傳一個視頻文件,如test.avi,執行以下的命令:
[ffmpeg-itest.avi-acodecaac-ar8000-ac1-ab8-qscale5-s176*144-vcodech263-r10-g180test.3gp]
要是視頻能夠成功轉換,那就表明FFMPEG已經安裝成功了。下一步就可以根據具體的需要進行視頻轉換了。FFMPEG的命令如下:
[ffmpeg[[options][-iinput_file]]???{[options]output_file}???]
對于那些輸入的原始文件,可能需要格式選項。[ffmpeg]在缺省的情況下會盡量地進行無損轉換,輸出與輸入相同的音頻,視頻參數。為了使經過轉換的視頻質量盡最大可能的好,默認配置通常不會被采用,而是要根據視頻的不同,采用最佳的配置參數。
視頻轉換中,運用Java的防阻塞機制與多線程機制。首先由調度程序[JobQueue]從源文件目錄[Source_File]下轉移一個尚未轉換的視頻和對應屬性的文件到臨時文件夾[Temp_File]下,[JobQueue]把文件參數傳給轉換程序[Convert_Robot],由[Convert_Robot]來進行視頻的轉換。[Convert_Robot]首先利用FFMPEG命令讀取視頻的屬性信息,包括時長、格式、尺寸、幀速等參數,然后根據這些參數來進行視頻轉換。根據系統的需要,每個視頻會出現4種版本的視頻普通版3GP,清晰版3GP,NV格式的,快速版3GP,如此一來就可以滿足不同的用戶的不同需要。3GP格式的主要針對手機用戶,可以供他們下載到手機上觀看。而NV格式主要是為了供用戶在網上直接觀看視頻。對于那些過長的視頻,系統會進行自動地截取,來滿足用戶下載時在時間上的需求。為了保護版權所有人的權益,在視頻的轉換過程中可以加入水印。同時還截取了每個視頻的第一秒作為此視頻的縮略圖。視頻轉換完成之后,轉換成功的視頻會被放入Publish_File文件夾中。在Image文件夾下放入縮略圖,同時也把屬性文件中的簡介、視頻標題、標簽等信息儲存到Oracle數據庫里。要是視頻轉換發生了錯誤,錯誤的信息就會被記錄到日志文件中。同時,轉換系統還可以根據服務器的負載情況靈活地調整線程,爭取轉換視頻的效率最高[5]。
3.5 視頻發布
用戶可以在視頻發布模塊看到最后的轉換產品。為了便于用戶觀看視頻,視頻發布模塊提供了兩種方式:通過互聯網在線觀看和下載到手機上觀看。使用電腦觀看的用戶可以直接點擊Flash格式進行在線觀看,因為Flash格式的視頻完全不需要下載就可以直接觀看。對于手機用戶,可以在三種3GP格式中選出一種進行下載。與此同時,這兩種方式都有個自動的搜索入口,用戶可以進入搜索入口來搜索自己想要的視頻。這個搜索入口可以索引數據庫中的視頻信息,它采用的是一種比較先進的索引技術,即Lucene索引技術,以便用戶能夠方便而又快捷地搜索到自己所需要的視頻[6]。
4 結 語
生產效率高、配置簡單、容錯性強是本視頻轉換與發布的主要特點。線程數的控制可以通過配置文件來進行。轉換速度得到很大地提高,與此同時還有超時機制。經過測試,在一臺內存為1 GB,Pentimu 4,CPU 293 GHz的 PC上,一小時大約能夠轉換300個視頻,這樣的轉換速度非常地接近實時轉換。該系統還可以對視頻進行壓縮,且壓縮效率很高,用H.263的編碼標準,一個大小為20 MB的視頻轉換成3GP格式之后,在手機觀看質量不受影響的前提下,大約能夠壓縮到400 KB的大小,這樣很大程度地節約了網絡傳輸的時間,明顯提高了網絡傳輸的效率。該系統經過稍微的改變之后,能夠執行更為復雜的功能。現今越來越多的手機都能夠支持視頻播放,且用戶也越來越習慣于在手機上觀看視頻,因此上視頻的需求量將會越來越大,使用此系統的市場前景相當廣闊。
參考文獻
[1] 胡成,任平安,李文莉.基于Android系統的FFmpeg多媒體同步傳輸算法研究[J].計算機技術與發展,2011(10):85?87.
[2] 劉建敏,楊斌,王俊麗.嵌入式Linux下基于FFmPeg的視頻硬件編解碼[J].單片機與嵌入式系統應用,2011(6):28?31.
[3] 王瑩,李莉,王華.Symbian平臺下基于FFmpeg的H.264解碼器的移植[J].現代電子技術,2011,34(11):43?46.
[4] 何圓圓,何凱.基于FFmpeg的H.264視頻解碼器的研究與實現[J].電腦知識與技術,2012(35):67?69.
[5] 王洪波.搭建流媒體服務器[J].安徽電子信息職業技術學院學報,2005(6):95?96.
[6] 向偉昌.流媒體服務器性能測評系統的設計與實現[D].長沙:國防科學技術大學,2004.