欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費電子書(shū)等14項超值服

開(kāi)通VIP
讓Chrome的HTML5 video/audio tag支持更多種音視頻格式
隨著(zhù)HTML5的發(fā)展,今后會(huì )有越來(lái)越多的應用程序基于HTML5開(kāi)發(fā),多媒體應用程序也不例外,HTML5新增加的video/audio tag提供了在網(wǎng)頁(yè)中直接播放音視頻的能力而無(wú)需借助任何插件,因此可以用HTML5開(kāi)發(fā)一個(gè)媒體播放器,網(wǎng)上也已經(jīng)出現了不少HTML5播放器例如jPlayer。但目前各家瀏覽器支持的HTML5音視頻格式種類(lèi)很有限,比如IE9只支持H.264,Firefox只支持VP8和Theora。Google Chrome算是支持格式最全的,支持的視頻格式包括H.264、VP8、Theora,音頻包括Vorbis、MP3、AAC、WAV。這些格式對于播放網(wǎng)絡(luò )在線(xiàn)音視頻(不算flash)基本上足夠了,但如果我們想播放本地音視頻就會(huì )遇到很多不支持的格式,比如在中國很流行的rmvb視頻,高清影片最常見(jiàn)的mkv、avi格式,這些格式目前所有瀏覽器都不支持,僅僅從這一點(diǎn)來(lái)看,目前基于HTML5的播放器還不可能代替象QQ影音、射手播放器這樣的傳統播放器。

有沒(méi)有可能自己給瀏覽器增加支持更多的音視頻格式?分析Google開(kāi)源瀏覽器Chromium后得知它的音視頻解碼是由FFmpeg提供的(代碼在third_party\ffmpeg\),Chrome也是這樣,所以完全可以給Chrome增加支持更多種類(lèi)的音視頻格式。


Chrome中的媒體播放架構如下圖所示:






其中Pipeline是Google給Chrome開(kāi)發(fā)的媒體框架引擎,HTML5 video/audio tag就是由這個(gè)引擎實(shí)現媒體播放的,FFmpeg在其中提供demuxer和decoder,因此要增加支持音視頻格式主要修改FFmpeg就可以了。


從Chromium的源碼third_party\ffmpeg\chromium\config\Chrome\linux\ia32\config.h可以得知Chrome采用的FFmpeg的配置選項,在原有的配置選項后面添加如下選項:


  1. --enable-decoder='rv10,rv20,rv30,rv40,cook,h263,h263i,mpeg4,msmpeg4v1,msmpeg4v2,msmpeg4v3,amrnb,amrwb,ac3,flv' --enable-demuxer='rm,mpegvideo,avi,avisynth,h263,aac,amr,ac3,flv,mpegts,mpegtsraw' --enable-parser='mpegvideo,rv30,rv40,h263,mpeg4video,ac3'
復制代碼


用新的配置選項重新配置和編譯FFmpeg,用生成的3個(gè)動(dòng)態(tài)鏈接庫avcodec-54.dll、avformat-54.dll、avutil-51.dll替換掉Chrome里面原來(lái)的,要注意用來(lái)編譯FFmpeg的Chromium源碼的版本要跟Chrome差不多,相差太大的話(huà)替換庫后可能會(huì )造成Chrome無(wú)法正常運行。在Windows上編譯FFmpeg的方法參見(jiàn)本人的另一篇文檔《在Windows上編譯Chromium中的FFmpeg》。


這樣修改FFmpeg后在Chrome中用HTML5 video/audio tag就可以播放更多格式的音視頻了,大部分常見(jiàn)的mkv、avi、flv、mov、amr都可以播放了。但是rmvb仍然無(wú)法播放,用Visual Studio 2010跟蹤后找到了原因,原來(lái)常見(jiàn)的rmvb電影視頻編碼是RV40,音頻編碼是COOK,這兩種codec類(lèi)型在Chrome中都未被定義,在解析rmvb的時(shí)候會(huì )認為是未知的codec類(lèi)型(kUnknownVideoCodec和kUnknownAudioCodec),為此需要修改media\base\video_decoder_config.h和media\base\audio_decoder_config.h分別在里面的枚舉類(lèi)型VideoCodec和AudioCodec中增添這兩種格式,然后還要修改media\ffmpeg\ffmpeg_common.cc,具體修改方法就不贅述了,一看代碼就知道。這樣修改以后Chrome的媒體引擎就可以識別RV40和COOK這兩種格式了,常見(jiàn)的rmvb電影也可以播放了。


可見(jiàn)要讓Chrome能播放更多格式的音視頻其實(shí)不難,當然目前只是第一步,還有不少問(wèn)題,比如播放rmvb電影時(shí)一拖動(dòng)進(jìn)度條屏幕顯示就亂了,要想把兼容性和穩定性做好就要下更多功夫了。

本站僅提供存儲服務(wù),所有內容均由用戶(hù)發(fā)布,如發(fā)現有害或侵權內容,請點(diǎn)擊舉報。
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
視音頻封裝格式
視頻編解碼技術(shù)VP8
三,FFmpeg 命令學(xué)習
rmvb格式怎么轉換mkv?快捷視頻轉換
ffmpeg 安裝,轉視頻格式為m3u8,壓縮視頻
使用ffmpeg可以生成視頻截圖
更多類(lèi)似文章 >>
生活服務(wù)
分享 收藏 導長(cháng)圖 關(guān)注 下載文章
綁定賬號成功
后續可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服

欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久