頻、視頻的格式
開始學(xué)習(xí)之前,我們要下載些素材用來測試使用,地址如下:https://pan.baidu.com/s/1reRWno0ibYRcYXjw4MClqw
提取碼:td80
其中包括兩個視頻一個音頻和一個安裝程序。
學(xué)習(xí)如何在頁面中添加音頻、視頻之前應(yīng)該了解一點基礎(chǔ)知識。
我們應(yīng)該都有在互聯(lián)網(wǎng)上下載電影、視頻、音樂的經(jīng)歷,大家會注意到,有的視頻文件名的后綴是.avi,有的視頻是.mp4,還有.mov的,據(jù)不完全統(tǒng)計,常見的各種視頻格式有十幾種之多。
常見的音頻的格式比起視頻來會顯得少一些,一般是.wav和.mp3格式。
為什么存儲相同的內(nèi)容可以有這么多不同的格式呢?
格式產(chǎn)生的核心在于對音頻、視頻等多媒體文件進(jìn)行的不同編碼方式。
那什么是編碼呢?
簡單來說我們可以把"編碼"這個詞分成兩個部分,第一個是"編",也就是"整理、組織"的意思,第二個是"碼",也就是我們平時所說的"數(shù)碼"。
首先說"碼",我們的計算機中的數(shù)據(jù)最終都是通過二進(jìn)制的數(shù)字(0和1)來存儲或計算的,這些0或1就是數(shù)碼。無論代碼、程序、圖片、音樂、視頻、文字等的存儲與計算都不例外。不管多么復(fù)雜或簡單的文件,在計算機看來,都是一大堆0和1。
一個0或1被稱為1比特,圖片或視頻中的一個黑白像素通常是8比特(八位),如果一張1080乘720個像素的圖片所占內(nèi)存的大小就是1080*720*8=6220800字節(jié),約等于0,74mb。如果一個視頻每秒中有25幀,也就是一秒鐘在我們眼前閃過25張圖片(視頻播放實際上就是在我們眼前快速的更替圖片,這些圖片在大腦中會被自動連成動作,這也是小的時候在課本的角上畫好一套走路的小人的不同動作后,快速翻動書頁,畫面中的小人會走路的原因,大家可以自行百度"視覺暫留原理")。
一秒鐘25張1080乘720的圖片的視頻,一秒鐘就會占0.74*25=18.5mb的內(nèi)存。如果是一分鐘呢,18.5*60=1110mb約等于1.08gb。這樣的數(shù)據(jù)量是不是很嚇人。
但事實上我們下載的1080*720的一小時三十分鐘左右的視頻的體積往往也沒有超過1gb,這又是為什么呢?
這就是"編"的功勞!對數(shù)碼進(jìn)行整理和組織的主要目的是壓縮體積,壓縮數(shù)據(jù)體積既能節(jié)省磁盤又能方便傳播與攜帶,是信息技術(shù)的關(guān)鍵技術(shù)之一,壓縮的方法一般有兩類,一類叫做無損壓縮,也就是通過對這一大堆數(shù)碼進(jìn)行一個特殊的組合使其占有更小的空間,一類叫做有損壓縮,是在無損壓縮的基礎(chǔ)上剔除掉人眼睛識別不到的冗余信息。具體的壓縮過程涉及到很多數(shù)學(xué)知識,這里大家簡單了解一下即可。
壓縮后的視頻或音頻文件最終通過播放器對該文件的壓縮算法進(jìn)行逆向運算后,還原成計算機可以解讀的畫面和聲音再呈現(xiàn)給觀眾,這個過程叫做"解碼"。
通過"編"的方式壓縮文件體積,通過"解"的方式再還原出文件內(nèi)容成了處理大規(guī)模數(shù)據(jù)的通用手法。
不同的編碼和解碼方式催生出不同的文件格式,這種情況下,瀏覽器在播放視頻的時候就要有應(yīng)對不同格式的不同解碼方式,在15年以前,瀏覽器為了能夠播放不同格式的視頻,就要調(diào)用電腦中不同的播放器,這個過程的寫法非常麻煩。隨著技術(shù)不斷地整合,時至今日,在頁面中播放視頻不需要這么復(fù)雜的寫法了,但是因為每個瀏覽器都不是包打一切,因此,雖然不用指定播放器,但是也要預(yù)設(shè)不同格式的視頻來應(yīng)對不同的瀏覽器。
因此,我們在這一部分的學(xué)習(xí)中除了講解如何向頁面添加不同格式的音視頻外還會告訴大家如何為音視頻轉(zhuǎn)換格式。
為頁面添加音頻、視頻
添加音頻使用<audio></audio>標(biāo)簽,這個標(biāo)簽被所有瀏覽器支持,是html5推薦的音頻導(dǎo)入標(biāo)簽,但是遺憾的是在html4標(biāo)準(zhǔn)中是不被支持的或者說是非法的。
這里給大家簡要介紹一下html5和html4的區(qū)別。
簡單來說呢,一個html文件的第一條語句是<!DOCTYPE HTML>,它就是HTML5標(biāo)準(zhǔn)的文件。如果是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">
版權(quán)聲明:本文為CSDN博主「痦子」的原創(chuàng)文章,遵循 CC 4.0 BY-SA 版權(quán)協(xié)議,轉(zhuǎn)載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/yh1061632045/article/details/81518141
這讓我想到了孔乙己的"茴"字的多種寫法
是不是很麻煩,其實html5比html4更簡單,功能更強大,而且我們一直以html5的標(biāo)準(zhǔn)進(jìn)行學(xué)習(xí),所以大家不必糾結(jié)。
下面我們導(dǎo)入一個音頻試試吧。示例代碼如下:
<!DOCTYPE HTML>
<html>
<head>
<title>音視頻導(dǎo)入</title>
</head>
<body>
<audio controls="controls">
<source src="audio/千年的祈禱.mp3" type="audio/mp3" />
</audio>
</body>
</html>
頁面效果如下:
其中controls屬性就是用來顯示播放控制界面的,就是這個:(偷懶的話可以寫成"controls"就ok,不必加"="以及后面的內(nèi)容了。)
如果以后您使用自己編寫的控制界面,就可以不添加這個屬性。
刪掉這個屬性后就是這樣:這樣為自定義的播放控制界面留出了位置。
<audio></audio>標(biāo)簽夾著<source>標(biāo)簽,一個<audio></audio>標(biāo)簽中可以添加多個<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屬性是告訴瀏覽器音樂文件的類型。
不同格式的文件的生成需要我們自己去做,這就涉及到如何給一個音頻文件進(jìn)行格式轉(zhuǎn)化的問題。這個問題我們明天再說,今天先學(xué)習(xí)為頁面添加音頻和視頻。
下面我們來看一下視頻的導(dǎo)入方法,示例代碼如下:
<video controls>
<source src="video/阿塔麗.mp4" type="video/mp4" />
</video>
頁面效果如下:
我們可以通過設(shè)置height和width屬性來控制視頻的面積。實例代碼如下:
<video controls width="850" height="500" >
<source src="video/阿塔麗.mp4" type="video/mp4" />
</video>
頁面效果如下:
視頻畫面變小了,和視頻并排的是我們之前添加的音頻文件,由此可知,這兩個元素都是內(nèi)聯(lián)元素。
今天的內(nèi)容結(jié)束了,明天我們繼續(xù)學(xué)習(xí)格式轉(zhuǎn)換和為不同瀏覽器預(yù)設(shè)不同音視頻格式的方法。
如果您有任何疑問請給我留言,如有問題或錯誤請予以斧正!
HTML序章(學(xué)習(xí)目的、對象、基本概念)——零基礎(chǔ)自學(xué)網(wǎng)頁制作
HTML是什么?——零基礎(chǔ)自學(xué)網(wǎng)頁制作
第一個HTML頁面如何寫?——零基礎(chǔ)自學(xué)網(wǎng)頁制作
HTML頁面中head標(biāo)簽有啥用?——零基礎(chǔ)自學(xué)網(wǎng)頁制作
初識meta標(biāo)簽與SEO——零基礎(chǔ)自學(xué)網(wǎng)頁制作
HTML中的元素使用方法1——零基礎(chǔ)自學(xué)網(wǎng)頁制作
HTML中的元素使用方法2——零基礎(chǔ)自學(xué)網(wǎng)頁制作
HTML元素中的屬性1——零基礎(chǔ)自學(xué)網(wǎng)頁制作
HTML元素中的屬性2(路徑詳解)——零基礎(chǔ)自學(xué)網(wǎng)頁制作
使用HTML添加表格1(基本元素)——零基礎(chǔ)自學(xué)網(wǎng)頁制作
使用HTML添加表格2(表格頭部與腳部)——零基礎(chǔ)自學(xué)網(wǎng)頁制作
使用HTML添加表格3(間距與顏色)——零基礎(chǔ)自學(xué)網(wǎng)頁制作
使用HTML添加表格4(行顏色與表格嵌套)——零基礎(chǔ)自學(xué)網(wǎng)頁制作
16進(jìn)制顏色表示與RGB色彩模型——零基礎(chǔ)自學(xué)網(wǎng)頁制作
HTML中的塊級元素與內(nèi)聯(lián)元素——零基礎(chǔ)自學(xué)網(wǎng)頁制作
初識HTML中的<div>塊元素——零基礎(chǔ)自學(xué)網(wǎng)頁制作
在HTML頁面中嵌入其他頁面的方法——零基礎(chǔ)自學(xué)網(wǎng)頁制作
封閉在家學(xué)網(wǎng)頁制作!為頁面嵌入PDF文件——零基礎(chǔ)自學(xué)網(wǎng)頁制作
HTML表單元素初識1——零基礎(chǔ)自學(xué)網(wǎng)頁制作
HTML表單元素初識2——零基礎(chǔ)自學(xué)網(wǎng)頁制作
HTML表單3(下拉列表、多行文字輸入)——零基礎(chǔ)自學(xué)網(wǎng)頁制作
HTML表單4(form的action、method屬性)——零基礎(chǔ)自學(xué)網(wǎng)頁制作
HTML列表制作講解——零基礎(chǔ)自學(xué)網(wǎng)頁制作
為HTML頁面添加視頻、音頻的方法——零基礎(chǔ)自學(xué)網(wǎng)頁制作
音視頻格式轉(zhuǎn)換神器與html視頻元素加字幕——零基礎(chǔ)自學(xué)網(wǎng)頁制作
HTML中使用<a>標(biāo)簽實現(xiàn)文本內(nèi)鏈接——零基礎(chǔ)自學(xué)網(wǎng)頁制作
emo:
```html
<!DOCTYPE html>
<html>
<head>
<title>HTML5 Video(視頻):在網(wǎng)頁中播放視頻的簡單方法</title>
</head>
<body>
<h1>HTML5 Video(視頻):在網(wǎng)頁中播放視頻的簡單方法</h1>
<p>下面是一個使用HTML5 Video標(biāo)簽在網(wǎng)頁中播放視頻的示例:</p>
<video width="400" controls>
<source src="video.mp4" type="video/mp4">
<source src="video.webm" type="video/webm">
Your browser does not support the video tag.
</video>
<p>上述代碼將呈現(xiàn)出一個帶有控制條的視頻播放器,并在其中播放指定的視頻文件。視頻文件可以是MP4格式(<code>.mp4</code>)或WebM格式(<code>.webm</code>)。</p>
<p>在上述代碼中,我們使用了HTML5的Video標(biāo)簽來嵌入視頻。通過設(shè)置<code>width</code>屬性,我們可以指定視頻播放器的寬度。通過設(shè)置<code>controls</code>屬性,我們可以啟用控制條,讓用戶可以控制視頻的播放和暫停。</p>
<p>在<code>video</code>標(biāo)簽內(nèi)部,我們使用了<code>source</code>標(biāo)簽來指定視頻文件的URL和類型。在示例中,我們提供了兩個不同格式的視頻文件,以便在不同瀏覽器中兼容播放。</p>
<p>如果用戶的瀏覽器不支持HTML5 Video標(biāo)簽或指定的視頻文件格式,則會顯示<code>Your browser does not support the video tag.</code>的提示信息。</p>
<p>通過使用HTML5 Video功能,我們可以在網(wǎng)頁中方便地播放視頻,為用戶提供更加豐富和多樣化的內(nèi)容。視頻可以應(yīng)用于各種場景,如教育、娛樂、廣告等。</p>
</body>
</html>
```
以上是一篇使用HTML5 Video標(biāo)簽在網(wǎng)頁中播放視頻的文章,其中包含了示例代碼和一些相關(guān)說明。通過使用HTML5的Video標(biāo)簽,我們可以在網(wǎng)頁中方便地嵌入和播放視頻。在示例中,我們使用了兩種不同格式的視頻文件,以便在不同瀏覽器中兼容播放。通過設(shè)置Video標(biāo)簽的屬性,如寬度和控制條,我們可以定制視頻播放器的外觀和功能。通過使用HTML5 Video功能,我們可以為用戶提供更加豐富和多樣化的內(nèi)容,如教育、娛樂、廣告等。請注意,在使用視頻功能時,需要確保視頻文件的合法性和版權(quán)問題。
我是永不低頭的熊,喜歡美食、健身,當(dāng)然也喜歡寫代碼,每天不定時更新各類編程相關(guān)的文章,希望你在碼農(nóng)這條路上不再孤單!
天給大家推薦一個超強大的html5含彈幕視頻播放器插件DPlayer。
dplayer 一款開源的高質(zhì)量H5視頻播放器,Star高達(dá)9.5K+。作者是一名大四95后小鮮肉。支持發(fā)布彈幕、Bilibili視頻及實時視頻(HLS M3U8 FLV)等格式。
安裝
$ npm install dplayer --save
也可以使用cdn引入,dplayer目前最新版本1.26.0
https://www.bootcdn.cn/dplayer/
我們先嘗試初始化一個最簡單的 DPlayer
加載播放器文件:
<div id="dplayer"></div>
<script src="DPlayer.min.js"></script>
使用模塊管理器
import DPlayer from 'dplayer';
const dp = new DPlayer(options);
使用js初始化
const dp = new DPlayer({
container: document.getElementById('dplayer'),
video: {
url: 'demo.mp4',
},
});
DPlayer 有豐富的參數(shù)可以自定義你的播放器實例,詳細(xì)配置如下:
const dp = new DPlayer({
container: document.getElementById('dplayer'),
autoplay: false,
theme: '#FADFA3',
loop: true,
lang: 'zh-cn',
screenshot: true,
hotkey: true,
preload: 'auto',
logo: 'logo.png',
volume: 0.7,
mutex: true,
video: {
url: 'dplayer.mp4',
pic: 'dplayer.png',
thumbnails: 'thumbnails.jpg',
type: 'auto',
},
subtitle: {
url: 'dplayer.vtt',
type: 'webvtt',
fontSize: '25px',
bottom: '10%',
color: '#b7daff',
},
danmaku: {
id: '9E2E3368B56CDBB4',
api: 'https://api.prprpr.me/dplayer/',
token: 'tokendemo',
maximum: 1000,
addition: ['https://api.prprpr.me/dplayer/v3/bilibili?aid=4157142'],
user: 'DIYgod',
bottom: '15%',
unlimited: true,
},
contextmenu: [
{
text: 'custom1',
link: 'https://github.com/DIYgod/DPlayer',
},
{
text: 'custom2',
click: (player) => {
console.log(player);
},
},
],
highlight: [
{
time: 20,
text: '這是第 20 秒',
},
{
time: 120,
text: '這是 2 分鐘',
},
],
});
清晰度切換
在 video.quality 里設(shè)置不同清晰度的視頻鏈接和類型,video.defaultQuality 設(shè)置默認(rèn)清晰度
const dp = new DPlayer({
container: document.getElementById('dplayer'),
video: {
quality: [
{
name: 'HD',
url: 'demo.m3u8',
type: 'hls',
},
{
name: 'SD',
url: 'demo.mp4',
type: 'normal',
},
],
defaultQuality: 0,
pic: 'demo.png',
thumbnails: 'thumbnails.jpg',
},
});
HLS支持
需要在 DPlayer.min.js 前面加載 hls.js
<div id="dplayer"></div>
<script src="hls.min.js"></script>
<script src="DPlayer.min.js"></script>
const dp = new DPlayer({
container: document.getElementById('dplayer'),
video: {
url: 'demo.m3u8',
type: 'hls',
},
pluginOptions: {
hls: {
// hls config
},
},
});
console.log(dp.plugins.hls); // Hls 實例
提供豐富的文檔支持及示例演示
附上項目文檔及地址
# 文檔地址
http://dplayer.js.org/zh/
# 倉庫地址
https://github.com/MoePlayer/DPlayer
另外,DPlayer系列播放器還包含Vue和React版本。
https://dplayer.netlify.app/
https://github.com/MoePlayer/react-dplayer
好了,就分享到這里。感興趣的同學(xué)可以去看下哈!如果小伙伴們有其它優(yōu)秀的H5播放器,歡迎一起交流討論。
*請認(rèn)真填寫需求信息,我們會在24小時內(nèi)與您取得聯(lián)系。