【全國(guó)】 集團(tuán)簡(jiǎn)介 關(guān)注我們
幫學(xué)院 商標(biāo)分類表-2024尼斯分類 知識(shí)產(chǎn)權(quán)交易

快幫集團(tuán)

解決html5網(wǎng)頁中video標(biāo)簽無法播放的方法

2019-03-21

為什么我錄制的MP4視頻在本地可以播放但是使用html5video多媒體播放標(biāo)簽不能正常播放只有一個(gè)進(jìn)度條而不顯示圖像?


為了避免大家遇到同樣的問題我在這里就給大家普及一下html5關(guān)于<video>標(biāo)簽的知識(shí)吧。

 

在使用html4協(xié)議做網(wǎng)站時(shí)我們想要在網(wǎng)頁上播放一個(gè)視頻要不使用flash去播放,要么就是嵌入式頁面來實(shí)現(xiàn),對(duì)于html5來說這兩種方法非常的不方便因?yàn)橐粋€(gè)牛逼哄哄的<video>出現(xiàn)了,這個(gè)標(biāo)簽的功能就是讓多媒體文件可以很方便的在網(wǎng)頁中播放。


html中播放一個(gè)視頻只需要一個(gè)標(biāo)簽:

 

    <video src="http://sp.ntaotu.com/localhost-wordpress-phpstudy.mp4" controls="controls" width="500" height="300"></video>

 

    代碼雖然少了很多,但是功能卻很健全,這就是html5的亮點(diǎn)之一吧!

 

關(guān)于<video>標(biāo)簽所支持的視頻格式和編碼:

 

    MP4 = MPEG 4文件使用 H264 視頻編解碼器和AAC音頻編解碼器

 

    WebM = WebM 文件使用 VP8 視頻編解碼器和 Vorbis 音頻編解碼器

 

    Ogg = Ogg 文件使用 Theora 視頻編解碼器和 Vorbis音頻編解碼器

 

通過上面的信息我們會(huì)發(fā)現(xiàn)只有h264編碼的MP4視頻(MPEG-LA公司)、VP8編碼的webm格式的視頻(Google公司)和Theora編碼的ogg格式的視頻(iTouch開發(fā))可以支持html5<video>標(biāo)簽。


如果瀏覽器不支持video標(biāo)簽怎么辦?

 

比如IE瀏覽器還有老版本的瀏覽器對(duì)html5的支持不太好,當(dāng)用戶用這些瀏覽器打開我們帶有視頻的網(wǎng)頁怎么辦呢?

 

我們可以把代碼這樣寫:

 

    <video src="http://sp.ntaotu.com/localhost-wordpress-phpstudy.mp4" controls="controls" width="500" height="300">您的瀏覽器不支持播放該視頻!</video>

 

這樣在不支持html5的瀏覽器中就會(huì)提示您的瀏覽器不支持播放該視頻!啦!


關(guān)于video標(biāo)簽的擴(kuò)展參數(shù)說明:

 

video 元素允許多個(gè) source 元素。source 元素可以鏈接不同的視頻文件。瀏覽器將使用第一個(gè)可識(shí)別的格式,這樣我們只要多準(zhǔn)備幾個(gè)不同格式的視頻就可以了。


用法:

 

1,  <video width="500" height="250" controls="controls">

 

2,  <source src="movie.ogg" type="video/ogg">

 

3 <source src="movie.mp4" type="video/mp4">

 

 4,您的瀏覽器不支持此種視頻格式。

 

 5, </video>

 

1,    autoplay :出現(xiàn)該屬性意味著視頻在就緒后將自動(dòng)播放,用法:autoplay="autoplay"

 

2,  controls :出現(xiàn)該屬性意味著向用戶顯示控件,如播放按鈕等,用法:controls="controls"

 

3,   height:設(shè)置高度      width:設(shè)置寬度

 

4,   loop:自動(dòng)重播,用法:loop="loop"

 

5  preload:視頻在頁面加載時(shí)進(jìn)行加載并預(yù)備播放,用法:preload="auto" - 當(dāng)頁面加載后載入整個(gè)視頻;preload="meta" - 當(dāng)頁面加載后只載入元數(shù)據(jù);preload="none" - 當(dāng)頁面加載后不載入視頻。注意:若使用了autoplay,則忽略preload

 

6,    src:要播放視頻的url

 

mp4網(wǎng)頁播放有聲音無圖像的解決辦法:

 

關(guān)于網(wǎng)頁播放mp4格式的視頻,找了一些插件,這里推薦一下video.js

 

官方網(wǎng)址:http://www.videojs.com/

 

github https://github.com/videojs/video.js/

 

demohttp://www.videojs.com/downloads/video-js-4.12.5.zip

 

使用方法:

 

    引入文件:指派flash播放的swf文件

 

    <link rel="stylesheet">

    <script src="http://example.com/path/to/video.js"></script>

    <script>

    videojs.options.flash.swf = "http://example.com/path/to/video-js.swf"

    </script>

 

    設(shè)置video參數(shù)(設(shè)置mp4視頻地址)

 

    <video id="example_video_1" class="video-js vjs-default-skin"

    controls preload="auto" width="640" height="264"

    poster="http://video-js.zencoder.com/oceans-clip.png"

    data-setup=‘{"example_option":true}‘>

    <source src="http://video-js.zencoder.com/oceans-clip.mp4" type=‘video/mp4‘ />

    <source src="http://video-js.zencoder.com/oceans-clip.webm" type=‘video/webm‘ />

    <source src="http://video-js.zencoder.com/oceans-clip.ogv" type=‘video/ogg‘ />

    <p class="vjs-no-js">To view this video please enable JavaScript, and consider upgrading to a web browser that <a target="_blank">supports HTML5 video</a></p>

    </video>


使用demo里面的mp4視頻源,播放一切正常,換上自己的mp4源發(fā)現(xiàn)只有聲音并沒有圖像。這讓我很為難。

 

想來想去這跟插件沒關(guān)系,跟瀏覽器沒有關(guān)系,跟自己視頻源的格式編碼有關(guān)系。

 

找了很多辦法,嘗試過swf播放,但是mp4轉(zhuǎn)碼成swf格式,失真太嚴(yán)重,導(dǎo)致視頻很模糊,質(zhì)量很糟糕。

 

下載了格式工廠,嘗試著轉(zhuǎn)換了很多格式,都不盡人意。

 

發(fā)現(xiàn)mp4的視頻編碼有三種:MPEG4(DivX),MPEG4(Xvid),AVC(H264),我使用格式工廠一個(gè)一個(gè)嘗試。

 

最終發(fā)現(xiàn)轉(zhuǎn)換成AVC(H264)編碼,完美解決問題。

 

總結(jié):網(wǎng)頁播放mp4視頻,出現(xiàn)有聲音無圖像問題,先使用格式工廠轉(zhuǎn)換mp4->mp4格式,輸出編碼選擇AVC(H264),然后在網(wǎng)頁中代碼調(diào)用,看是否解決問題。



TAG標(biāo)簽耗時(shí):0.006417989730835 秒

文章內(nèi)容來源于網(wǎng)絡(luò),侵刪

常見問題

京公網(wǎng)安備 11010802036823號(hào)

   

京ICP備16051929號(hào)

   

增值電信業(yè)務(wù)許可證編號(hào):京B2-20190686

   

專利代理機(jī)構(gòu)代碼:16087

   

人力資源服務(wù)許可證編號(hào):1101082019043

   

代理記賬許可證書編號(hào):DLJZ11010820210015

0