RecordRTC錄製的視頻對比以及h26四轉爲mpeg-4

使用RecordRTC官網的Demo,錄製同樣爲30s的視頻,相同的運動畫面,採用不同編碼方式,每個視頻錄製兩遍,對比視頻體積。

使用RecordRTC錄製視頻時支持的格式:

vp8,vp9,mkv,h26四,使用whammy編碼

通過mimeType參數設定,具體參數對應格式可以參考RecordRTC官網

經whammy編碼器輸出的視頻文件無法在edge中使用<video>標籤播放,也無法通過videojs播放 ,無法在potplayer之中打開,甚至無法通過hankbrake識別,原因可能是代碼過於老舊,應避免使用。

對比結果:

default    3.03m      3.23m

h26四     3.05m   3.11m

mkv    3.10m   3.13m

vp八   9.25m    9.46m

vp9   7.53m     7.03m

whammy   5.04m   8.13m

在potplayer之中打開之後發現h26四/mkv/default顯示的都是h26四格式,區別可能就是封裝格式不同,default爲webm擴展名,h26四爲mp4,mkv爲mkv。

vp8和vp9的擴展名都是mp4,potplayer之中打開則分別顯示編碼方案爲vp8和vp9。

 

進行對比時使用的軟件或庫的版本號:

edge 版本 115.0.1901.203 (正式版本) (六十4 位)

Video.js 8.5.2    videojs/video.js GitHub

RecordRTC 5.6.2  muaz-khan/RecordRTC GitHub

potplayer 230707(1.7.21953)

 

有些瀏覽器支持mimeType = “video/mpeg”,但是edge不支持。mimeType = “video/webm”時,文檔裏寫的是默認使用vp8編碼,測試之後發現使用的是h26四編碼.

vp8和vp9在potplayer播放時有控制條,但時間顯示有問題,其他視頻在potplayer之中播放沒有控制條。

輸出的所有視頻,win10自帶媒體播放器都無法播放,且無法顯示縮略圖.

使用ffmpeg轉碼成mpeg-4看下面的代碼,演示了怎樣通過攝像頭錄像並保存爲mpeg編碼的mp4.

這樣轉碼之後的mp4,可以在媒體播放器中播放並有縮略圖,但是瀏覽器不支持(無法通過edge和videojs播放)

muaz-khan/Ffmpeg.js GitHub

該項目使用ffmpeg-asm.js轉碼,但這個文件很大,有18m,需要先下載下來再解碼,而且下載鏈接還失效了.

可以將該項目下載到本地,然後開啓一個本地server,類似http://localhost:5173/ 這樣,將ffmpeg-asm.js放在服務根目錄,再修改workerPath爲http://localhost:5173/ffmpeg_asm.js

這樣就可以正常使用了,而且下載ffmpeg-asm.js的速度更快,不過這樣操作之後merging-wav-and-webm-into-mp4.html這個demo依然不可用.

而且這樣轉碼,時間比較長,轉碼之後的mp4也比h26si體積更大.僅供參考

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章