首先,java沒(méi)有直接解析視頻的類和方法,你要么自己去研究各種視頻格式的壓縮方式和算法,要么用別人的工具包。推薦ffmpeg,具體請(qǐng)百度這個(gè)玩意的java實(shí)現(xiàn)。最后,還是老老實(shí)實(shí)去寫(xiě)三大框架吧,這種解析視頻的什么的還是讓搞c++的去做吧。
創(chuàng)新互聯(lián)公司是一家專業(yè)提供廣昌企業(yè)網(wǎng)站建設(shè),專注與網(wǎng)站制作、成都網(wǎng)站制作、HTML5建站、小程序制作等業(yè)務(wù)。10年已為廣昌眾多企業(yè)、政府機(jī)構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專業(yè)網(wǎng)絡(luò)公司優(yōu)惠進(jìn)行中。
首先大部分視頻是壓縮流媒體,你得有相應(yīng)的解碼器。也就是解壓視頻數(shù)據(jù)的算法,上網(wǎng)搜搜也許能搜索到相關(guān)的java類庫(kù)。
然后你得建立自己一個(gè)“視頻流”,原理類似于字節(jié)流,字符流等java標(biāo)準(zhǔn)類庫(kù)里有的流。并編寫(xiě)相應(yīng)算法,形成流位置與視頻時(shí)間的映射,這樣通過(guò)時(shí)間段的截取就可以得到相應(yīng)的視頻片段。最后是對(duì)所截取的流進(jìn)行包裝,寫(xiě)入文件信息,并最終寫(xiě)入硬盤(pán)形成新的完整的視頻文件。
但要注意的是,因?yàn)橐曨l文件較大,一次性全部讀入內(nèi)存對(duì)性能影響較大。對(duì)流的讀取最好只取小片段,一點(diǎn)一點(diǎn)的處理。
這就是大概的原理,實(shí)現(xiàn)起來(lái)還是很有難度的,加油吧,網(wǎng)上資料很多,百度一下,找到它們
rmvb等視頻容器格式的文件頭部有播放必要的元信息。不該被簡(jiǎn)單截?cái)唷?/p>
需要用格式對(duì)應(yīng)的工具。