日本午夜片无码区在线观看,亚洲精品无码av人在线观看 ,老狼影院成年女人大片 http://www.qjsdgw.cn Tue, 24 May 2022 08:04:02 +0000 zh-Hans hourly 1 https://wordpress.org/?v=6.8.3 http://www.qjsdgw.cn/wp-content/uploads/2022/03/ico.png 加密 – V商人 http://www.qjsdgw.cn 32 32 視頻加密攝像頭設(shè)備密碼是多少(視頻加密怎么破解) http://www.qjsdgw.cn/3442.html Tue, 24 May 2022 08:03:19 +0000 http://www.qjsdgw.cn/?p=3442 查看原文:玩轉(zhuǎn)視頻加密技術(shù)

點(diǎn)擊關(guān)注“八戒技術(shù)團(tuán)隊”,閱讀更多技術(shù)干貨

視頻目前在互聯(lián)網(wǎng)上非?;鸨?,因為視頻比文字更能清晰的表達(dá)創(chuàng)作的內(nèi)容,大家每天都可能在刷抖音、B站的視頻。作為開發(fā)人員,不管是否從事音視頻開發(fā),都應(yīng)該了解一下相關(guān)的技術(shù)。

一、基礎(chǔ)概念

首先給大家介紹視頻的三個基礎(chǔ)概念:

1.幀數(shù)

在一秒內(nèi)播放的幀數(shù)就是每秒幀數(shù)率。

視頻標(biāo)準(zhǔn)幀率:24幀

2.分辨率

視頻圖像在一個單位尺寸內(nèi)的精密度。

常見分辨率:1280*720

3.碼率

數(shù)據(jù)傳輸時單位時間傳送的數(shù)據(jù)位數(shù),單位:kbps。

碼率和質(zhì)量成正比,但是文件體積也和碼率成正比。

二、視頻格式

視頻格式實質(zhì)是視頻編碼方式,可以大致分為兩種大類:

一、適合本地播放的本地影像視頻(從網(wǎng)上下載的視頻如:MP4)

如上圖,這是一個常見的MP4格式視頻,有很多視頻的基礎(chǔ)信息。MP4、AVI、MKV等都是本地視頻文件的后綴,是一種包含視頻各種信息的封裝格式,可以理解為一種打包,把所有的視頻數(shù)據(jù)和音軌封裝在一起。

二、適合在網(wǎng)絡(luò)中播放的網(wǎng)絡(luò)流媒體影像視頻(如B站上的視頻)

【視頻協(xié)議】是針對網(wǎng)絡(luò)流媒體而言的,也就是只有在有網(wǎng)絡(luò)時通過瀏覽器或者移動端APP才能看到的視頻,目前常見的協(xié)議有RTSP、RTMP、HLS、HTTP等。

一般來講,視頻流從加載到準(zhǔn)備播放是需要經(jīng)過解協(xié)議、解封裝、解編碼這樣的過程,其中協(xié)議指的就是流媒體協(xié)議;封裝指的是視頻的封裝格式;而編碼又分為視頻編碼和音頻編碼。

如果平臺上的視頻出于對版權(quán)的考慮,要進(jìn)行加密,一般是怎么處理的呢?

三、視頻BLOB加密

這種加密是在前端比較常見的一種加密方式,我們以B站上的一個視頻為例:

打開瀏覽器按下F12,可以看到視頻的資源地址是一串以 blob 開頭的地址,這跟我們常見的地址有些不一樣,而且如果你直接打開這個地址是無效的。

BLOB,它的全稱為big binary large object,譯為二進(jìn)制大對象。一般來說,首先由后端,比如 JAVA 將視頻轉(zhuǎn)換為blog對象傳給前端,前端在拿到blog對象后,再通過URL.createObjectURL生成臨時地址,賦值給video標(biāo)簽的src屬性,就可以實現(xiàn)這個效果了。前端的大致代碼如下:

四、視頻切片加密

我們知道看視頻的話是需要很大的流量的,對于絕大多數(shù)用戶來說,他們不一定會把視頻看完,如果是加載一個小視頻,那還沒有什么大問題,但如果是加載一個大視頻的話,這就會浪費(fèi)大量的流量,并且加載過程會持續(xù)占用帶寬。這個時候我們會用到視頻分片處理。

試想一下,如果我們把視頻切成一段一段的,每次只加載一段,看完了再加載一段,這樣能有效的節(jié)省資源。還是以B站的一個視頻為例,在F12中的Network里可以看到,網(wǎng)站一直在一段一段的請求視頻流的數(shù)據(jù)。(PS:這個m4s是HTML的一種格式)

切片加密原理:將視頻從MP4文件切片成多個ts文件,并使用AES-128對每一片視頻進(jìn)行加密,最后生成m3u8文件。這里我們需要用到ffmpeg。

1.生成公有key

openssl rand 16 > encrypt.key

2.生成私有key(16進(jìn)制)

openssl rand -hex 16

3.按照下面格式新建一個encrypt.keyinfo的文件

Key URI # enc.key的路徑,使用http形式

Path to key file # enc.key文件

Private key # 上面生成的16進(jìn)制的私有key

例如:

http://192.168.1.111:8090/encrypt.key

/home/Admin/encrypt.key

8b4c39c498949536f8d2af1f6fec7d39

4.用 ffmpeg 開始分片并加密

五、防盜鏈Referer

通過對視頻資源設(shè)置防盜鏈Referer,可以屏蔽非白名單內(nèi)的視頻資源下載。例如思博網(wǎng)的視頻我們都設(shè)置了防盜鏈:

HTTP referer 是 header 上的一個屬性。當(dāng)瀏覽器向服務(wù)器發(fā)起請求時,一般會帶上Referer,告訴服務(wù)器我是從哪個頁面鏈接過來的。打個比方,我們在后臺上傳一個視頻到七牛云,七牛云高級配置里有一個域名防盜鏈選項,我們可以在這里設(shè)置白名單和黑名單。

另外,七牛云還提供了私有空間,私有空間內(nèi)的文件對象都要獲得擁有者的授權(quán)才能進(jìn)行訪問,并且可以設(shè)置鏈接的有效時間,超過時長后自動失效(視頻會有緩存,清空緩存之前視頻仍然有效)。私有空間的特點(diǎn)是安全性更高,需要加token訪問,資源鏈接有時效性。

除了以上幾種策略外,還有視頻播放器加密、跑馬燈防盜錄等等。但是即使做了加密處理,也阻止不了錄屏。完全杜絕視頻泄露是很難的,或者我們可以采取其他方式加大盜用的成本。

目前市面上大致的視頻加密就是這幾種,當(dāng)然我們可以多個方案一起使用,使視頻加密的安全性更高。

希望以上內(nèi)容能對有需要的人有所幫助

歡迎大家一起探討交流

]]>