頻、視頻的格式
開始學習之前,我們要下載些素材用來測試使用,地址如下:https://pan.baidu.com/s/1reRWno0ibYRcYXjw4MClqw
提取碼:td80
其中包括兩個視頻一個音頻和一個安裝程序。
學習如何在頁面中添加音頻、視頻之前應該了解一點基礎知識。
我們應該都有在互聯網上下載電影、視頻、音樂的經歷,大家會注意到,有的視頻文件名的后綴是.avi,有的視頻是.mp4,還有.mov的,據不完全統計,常見的各種視頻格式有十幾種之多。
常見的音頻的格式比起視頻來會顯得少一些,一般是.wav和.mp3格式。
為什么存儲相同的內容可以有這么多不同的格式呢?
格式產生的核心在于對音頻、視頻等多媒體文件進行的不同編碼方式。
那什么是編碼呢?
簡單來說我們可以把"編碼"這個詞分成兩個部分,第一個是"編",也就是"整理、組織"的意思,第二個是"碼",也就是我們平時所說的"數碼"。
首先說"碼",我們的計算機中的數據最終都是通過二進制的數字(0和1)來存儲或計算的,這些0或1就是數碼。無論代碼、程序、圖片、音樂、視頻、文字等的存儲與計算都不例外。不管多么復雜或簡單的文件,在計算機看來,都是一大堆0和1。
一個0或1被稱為1比特,圖片或視頻中的一個黑白像素通常是8比特(八位),如果一張1080乘720個像素的圖片所占內存的大小就是1080*720*8=6220800字節,約等于0,74mb。如果一個視頻每秒中有25幀,也就是一秒鐘在我們眼前閃過25張圖片(視頻播放實際上就是在我們眼前快速的更替圖片,這些圖片在大腦中會被自動連成動作,這也是小的時候在課本的角上畫好一套走路的小人的不同動作后,快速翻動書頁,畫面中的小人會走路的原因,大家可以自行百度"視覺暫留原理")。
一秒鐘25張1080乘720的圖片的視頻,一秒鐘就會占0.74*25=18.5mb的內存。如果是一分鐘呢,18.5*60=1110mb約等于1.08gb。這樣的數據量是不是很嚇人。
但事實上我們下載的1080*720的一小時三十分鐘左右的視頻的體積往往也沒有超過1gb,這又是為什么呢?
這就是"編"的功勞!對數碼進行整理和組織的主要目的是壓縮體積,壓縮數據體積既能節省磁盤又能方便傳播與攜帶,是信息技術的關鍵技術之一,壓縮的方法一般有兩類,一類叫做無損壓縮,也就是通過對這一大堆數碼進行一個特殊的組合使其占有更小的空間,一類叫做有損壓縮,是在無損壓縮的基礎上剔除掉人眼睛識別不到的冗余信息。具體的壓縮過程涉及到很多數學知識,這里大家簡單了解一下即可。
壓縮后的視頻或音頻文件最終通過播放器對該文件的壓縮算法進行逆向運算后,還原成計算機可以解讀的畫面和聲音再呈現給觀眾,這個過程叫做"解碼"。
通過"編"的方式壓縮文件體積,通過"解"的方式再還原出文件內容成了處理大規模數據的通用手法。
不同的編碼和解碼方式催生出不同的文件格式,這種情況下,瀏覽器在播放視頻的時候就要有應對不同格式的不同解碼方式,在15年以前,瀏覽器為了能夠播放不同格式的視頻,就要調用電腦中不同的播放器,這個過程的寫法非常麻煩。隨著技術不斷地整合,時至今日,在頁面中播放視頻不需要這么復雜的寫法了,但是因為每個瀏覽器都不是包打一切,因此,雖然不用指定播放器,但是也要預設不同格式的視頻來應對不同的瀏覽器。
因此,我們在這一部分的學習中除了講解如何向頁面添加不同格式的音視頻外還會告訴大家如何為音視頻轉換格式。
為頁面添加音頻、視頻
添加音頻使用<audio></audio>標簽,這個標簽被所有瀏覽器支持,是html5推薦的音頻導入標簽,但是遺憾的是在html4標準中是不被支持的或者說是非法的。
這里給大家簡要介紹一下html5和html4的區別。
簡單來說呢,一個html文件的第一條語句是<!DOCTYPE HTML>,它就是HTML5標準的文件。如果是html4,它的第一條聲明語句有三種寫法,像這樣
一:<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
二:<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
三:<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd">
版權聲明:本文為CSDN博主「痦子」的原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/yh1061632045/article/details/81518141
這讓我想到了孔乙己的"茴"字的多種寫法
是不是很麻煩,其實html5比html4更簡單,功能更強大,而且我們一直以html5的標準進行學習,所以大家不必糾結。
下面我們導入一個音頻試試吧。示例代碼如下:
<!DOCTYPE HTML>
<html>
<head>
<title>音視頻導入</title>
</head>
<body>
<audio controls="controls">
<source src="audio/千年的祈禱.mp3" type="audio/mp3" />
</audio>
</body>
</html>
頁面效果如下:
其中controls屬性就是用來顯示播放控制界面的,就是這個:(偷懶的話可以寫成"controls"就ok,不必加"="以及后面的內容了。)
如果以后您使用自己編寫的控制界面,就可以不添加這個屬性。
刪掉這個屬性后就是這樣:這樣為自定義的播放控制界面留出了位置。
<audio></audio>標簽夾著<source>標簽,一個<audio></audio>標簽中可以添加多個<source>用以支持不同的格式要求。示例代碼如下:(這段代碼來自w3school)
<audio controls="controls">
<source src="song.ogg" type="audio/ogg" />
<source src="song.mp3" type="audio/mpeg" />
Your browser does not support the audio element.<!--你的瀏覽器不支持這個音頻元素-->
</audio>
type屬性是告訴瀏覽器音樂文件的類型。
不同格式的文件的生成需要我們自己去做,這就涉及到如何給一個音頻文件進行格式轉化的問題。這個問題我們明天再說,今天先學習為頁面添加音頻和視頻。
下面我們來看一下視頻的導入方法,示例代碼如下:
<video controls>
<source src="video/阿塔麗.mp4" type="video/mp4" />
</video>
頁面效果如下:
我們可以通過設置height和width屬性來控制視頻的面積。實例代碼如下:
<video controls width="850" height="500" >
<source src="video/阿塔麗.mp4" type="video/mp4" />
</video>
頁面效果如下:
視頻畫面變小了,和視頻并排的是我們之前添加的音頻文件,由此可知,這兩個元素都是內聯元素。
今天的內容結束了,明天我們繼續學習格式轉換和為不同瀏覽器預設不同音視頻格式的方法。
如果您有任何疑問請給我留言,如有問題或錯誤請予以斧正!
HTML序章(學習目的、對象、基本概念)——零基礎自學網頁制作
HTML是什么?——零基礎自學網頁制作
第一個HTML頁面如何寫?——零基礎自學網頁制作
HTML頁面中head標簽有啥用?——零基礎自學網頁制作
初識meta標簽與SEO——零基礎自學網頁制作
HTML中的元素使用方法1——零基礎自學網頁制作
HTML中的元素使用方法2——零基礎自學網頁制作
HTML元素中的屬性1——零基礎自學網頁制作
HTML元素中的屬性2(路徑詳解)——零基礎自學網頁制作
使用HTML添加表格1(基本元素)——零基礎自學網頁制作
使用HTML添加表格2(表格頭部與腳部)——零基礎自學網頁制作
使用HTML添加表格3(間距與顏色)——零基礎自學網頁制作
使用HTML添加表格4(行顏色與表格嵌套)——零基礎自學網頁制作
16進制顏色表示與RGB色彩模型——零基礎自學網頁制作
HTML中的塊級元素與內聯元素——零基礎自學網頁制作
初識HTML中的<div>塊元素——零基礎自學網頁制作
在HTML頁面中嵌入其他頁面的方法——零基礎自學網頁制作
封閉在家學網頁制作!為頁面嵌入PDF文件——零基礎自學網頁制作
HTML表單元素初識1——零基礎自學網頁制作
HTML表單元素初識2——零基礎自學網頁制作
HTML表單3(下拉列表、多行文字輸入)——零基礎自學網頁制作
HTML表單4(form的action、method屬性)——零基礎自學網頁制作
HTML列表制作講解——零基礎自學網頁制作
為HTML頁面添加視頻、音頻的方法——零基礎自學網頁制作
音視頻格式轉換神器與html視頻元素加字幕——零基礎自學網頁制作
HTML中使用<a>標簽實現文本內鏈接——零基礎自學網頁制作
頻是網頁承載內容很重要的一個元素,也是必不可少的網頁表現形式(圖、文、表、視、音)之一。曾經網頁要想播放視頻、制作游戲,必須得用第三方插件flash。不僅編寫代碼要使用額外的語言,瀏覽器也必須得裝第三方插件,非常不方便。隨著html5標準逐漸普及,移動端、pc端開始拋棄flash,如今幾乎所有的瀏覽器都使用html5來制作視頻。
目標
flash是Adobe公司其中之一的產品。它發起于W3C與WHATWG的第五代web標準之爭,它撿了個大便宜,乘機定義網頁媒體標準。
W3C與WHATWG的第五代web標準之爭
flash填補了當時網頁只有文字和圖片的單調世界,將媒體(視頻、音頻、游戲)引入了網頁,將網頁帶進多彩的世界。
Flash能夠用僅僅十幾K到幾百K的體積,呈現出放大也不會失真的矢量彩色動圖,甚至還能夠做出足以令人沉迷一整天的Flash小游戲。
火柴人
Flash用第三方插件的身份,幾乎制霸了網頁媒體的標準,讓W3C尷尬不已,甚至從某種程度上說,讓真正的網頁標準推廣受阻。
2010年4月,蘋果CEO公開表示從此蘋果所有產品不再支持flash。flash從此慢慢喪失移動端的市場和地位。
喬布斯支持html5
2012年,安卓宣布不再支持Flash,從此flash徹底失去了移動端市場和地位。
2012年html5標準確立,html5在逐漸制霸移動端的地位時,也直接沖擊了flash僅剩的桌面市場,flash桌面市場的份額在逐步下降。
各大瀏覽器逐步默認禁用Flash,現2019年幾乎都全部禁用。
默認禁用Flash
Adobe將在2020年停止開發和更新flash。
2020年停止開發和更新flash
Flash以第三方插件的身份,做著平臺該做的事情,但沒有推動行業標準統一化,反而企圖私立標準。
隨著功能的增多,能解碼編碼H.264,能進行3D渲染,能播放7.1聲道環繞聲等,功能集于一身變得臃腫,效率變得低下。
Flash非常不安全。Flash能夠運行相當復雜的代碼,這讓Flash非常容易被滲透。加上Adobe在安全方面的不上心,這令Flash安全問題頻發。
Flash很不穩定。作為一個插件,它自身頻頻崩潰也就罷了,還經常拉著瀏覽器乃至操作系統一起殉情。
Flash加劇了手機的耗電量。
作用是在 HTML 頁面中嵌入視頻元素。Video定義視頻,比如電影片段或其他視頻流。
視頻播放
有四個是必須的屬性:src、controls、width、height屬性。
視頻播放代碼
<video> 元素支持三種視頻格式: MP4, WebM, 和 Ogg。
<source> 元素可以鏈接不同格式的視頻文件。瀏覽器將使用第一個可識別的格式。
支持多格式的視頻
video標簽體系
多站點都會使用到視頻. HTML5 提供了展示視頻的標準。
檢測您的瀏覽器是否支持 HTML5 視頻:
檢測
Web站點上的視頻
直到現在,仍然不存在一項旨在網頁上顯示視頻的標準。
今天,大多數視頻是通過插件(比如 Flash)來顯示的。然而,并非所有瀏覽器都擁有同樣的插件。
HTML5 規定了一種通過 video 元素來包含視頻的標準方法。
瀏覽器支持
Internet Explorer 9+, Firefox, Opera, Chrome, 和 Safari 支持 <video> 元素.
注意: Internet Explorer 8 或者更早的IE版本不支持 <video> 元素。
HTML5 (視頻)- 如何工作
如需在 HTML5 中顯示視頻,您所有需要的是:
實例
<video width="320" height="240" controls>
<source src="movie.mp4" type="video/mp4">
<source src="movie.ogg" type="video/ogg">
您的瀏覽器不支持Video標簽。
</video>
<video> 元素提供了 播放、暫停和音量控件來控制視頻。
同時<video> 元素元素也提供了 width 和 height 屬性控制視頻的尺寸.如果設置的高度和寬度,所需的視頻空間會在頁面加載時保留。。如果沒有設置這些屬性,瀏覽器不知道大小的視頻,瀏覽器就不能再加載時保留特定的空間,頁面就會根據原始視頻的大小而改變。
<video> 與</video> 標簽之間插入的內容是提供給不支持 video 元素的瀏覽器顯示的。
<video> 元素支持多個 <source> 元素. <source> 元素可以鏈接不同的視頻文件。瀏覽器將使用第一個可識別的格式:
視頻格式與瀏覽器的支持
當前, <video> 元素支持三種視頻格式: MP4, WebM, 和 Ogg:
瀏覽器 | MP4 | WebM | Ogg |
---|---|---|---|
Internet Explorer | YES | NO | NO |
Chrome | YES | YES | YES |
Firefox | YES | YES | YES |
Safari | YES | NO | NO |
Opera | YES (從 Opera 25 起) | YES | YES |
MP4 = 帶有 H.264 視頻編碼和 AAC 音頻編碼的 MPEG 4 文件
WebM = 帶有 VP8 視頻編碼和 Vorbis 音頻編碼的 WebM 文件
Ogg = 帶有 Theora 視頻編碼和 Vorbis 音頻編碼的 Ogg 文件
視頻格式
格式 | MIME-type |
---|---|
MP4 | video/mp4 |
WebM | video/webm |
Ogg | video/ogg |
HTML5 <video> - 使用 DOM 進行控制
HTML5 <video> 和 <audio> 元素同樣擁有方法、屬性和事件。
<video> 和 <audio>元素的方法、屬性和事件可以使用JavaScript進行控制.
其中的方法有用于播放、暫停以及加載等。其中的屬性(比如時長、音量等)可以被讀取或設置。其中的 DOM 事件能夠通知您,比方說,<video> 元素開始播放、已暫停,已停止,等等。
例中簡單的方法,向我們演示了如何使用 <video> 元素,讀取并設置屬性,以及如何調用方法。
實例 1
為視頻創建簡單的播放/暫停以及調整尺寸控件:
播放/暫停 放大 縮小 普通
上面的例子調用了兩個方法:play() 和 pause()。它同時使用了兩個屬性:paused 和 width。
HTML5 Video 標簽
標簽 | 描述 |
---|---|
<video> | 定義一個視頻 |
<source> | 定義多種媒體資源,比如 <video> 和<audio> |
<track> | 定義在媒體播放器文本軌跡 |
*請認真填寫需求信息,我們會在24小時內與您取得聯系。