• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      互聯(lián)網(wǎng)存檔中的視頻采集研究

      2021-05-23 12:23:26楊云鵬
      新世紀(jì)圖書館 2021年3期
      關(guān)鍵詞:網(wǎng)絡(luò)視頻流媒體

      摘 要 隨著互聯(lián)網(wǎng)的快速發(fā)展和網(wǎng)絡(luò)帶寬的逐年增加,網(wǎng)絡(luò)上視頻內(nèi)容逐漸增多,更多的內(nèi)容從純文本網(wǎng)頁發(fā)布變?yōu)槲谋炯右曨l發(fā)布。但是,互聯(lián)網(wǎng)存檔很難采集到網(wǎng)絡(luò)視頻,這些視頻通常使用非標(biāo)準(zhǔn)工具和協(xié)議。本文提供了該領(lǐng)域采集技術(shù)的概述?;趲啄瓴杉W(wǎng)絡(luò)視頻內(nèi)容的經(jīng)驗(yàn),本文提供了HTTP協(xié)議和RTMP協(xié)議視頻采集的示例,闡述了采集網(wǎng)絡(luò)視頻內(nèi)容的問題和解決方案。本文還提出了一種外部下載器作為視頻采集模塊,用于擴(kuò)展網(wǎng)絡(luò)視頻內(nèi)容采集。

      關(guān)鍵詞 互聯(lián)網(wǎng)存檔 網(wǎng)絡(luò)視頻 流媒體 視頻采集

      分類號(hào) G250

      DOI 10.16810/j.cnki.1672-514X.2021.03.04

      Research on Video Collection in Internet Archiving: Taking National Library of China as an Example

      Yang Yunpeng

      Abstract With the rapid development of the Internet and the increase in network bandwidth year by year, video content on the Internet has gradually increased, and more content has changed from publishing plain text web pages to publishing text plus video. However, it is difficult for Internet archives to capture network videos, which usually use non-standard tools and protocols. This article provides an overview of acquisition techniques in this field. Based on years of experience in collecting network video content, this article provides examples of HTTP protocol and RTMP protocol video capture to illustrate the problems and solutions of collecting network video content. This article also proposes an external downloader for video capture module, which is used to expand network video content capture.

      Keywords Internet archive. Web video. Streaming media. Video capture.

      0 引言

      視頻已成為當(dāng)今網(wǎng)絡(luò)的重要組成部分。視頻為了免于被盜版,一般都會(huì)采取加密傳輸?shù)姆椒?,免于用戶直接訪問視頻源文件。這就使得Web檔案管理員收集視頻內(nèi)容的任務(wù)變得更加困難,需要開發(fā)特定的方法和工具[1-2]。

      本文的目的是討論在網(wǎng)絡(luò)上視頻采集的難點(diǎn)。根據(jù)過去幾年在國(guó)家圖書館網(wǎng)絡(luò)采集中獲得的經(jīng)驗(yàn),我們將視頻采集中所遇到的問題分為兩個(gè)主要類別,并使用一些典型的例子說明了幾種技術(shù)解決方案。第一類使用標(biāo)準(zhǔn)HTTP協(xié)議傳遞視頻內(nèi)容的網(wǎng)站,其難點(diǎn)在于使用混淆視頻文件鏈接的技術(shù)(例如:2或3跳躍重定向)。第二類問題是使用HTTP以外的傳輸協(xié)議的網(wǎng)站,從互聯(lián)網(wǎng)上當(dāng)前使用的各種流協(xié)議中,我們選擇了最新且困難的RTMP流協(xié)議作為示例。值得注意的是,用于在網(wǎng)絡(luò)上保存視頻的技術(shù)發(fā)展得非???,這里介紹的案例很可能在細(xì)節(jié)上迅速發(fā)生變化,我們的工具需要不斷改進(jìn)和更新。但是,其蘊(yùn)含的原理,將幫助我們不斷優(yōu)化采集方法。

      在本文的第二部分中,我們提出了一種體系結(jié)構(gòu)設(shè)計(jì)以解決該問題,即將視頻解耦下載下來,從而實(shí)現(xiàn)快速適應(yīng)性和可伸縮性。這種設(shè)計(jì)原理更易于集成和更新,在可擴(kuò)展性和靈活性方面都得到了很大的提升,進(jìn)一步提高了效率。同時(shí),與采集器同步工作為錯(cuò)誤處理和流程管理提供了更好的支持。

      1 視頻采集方法

      1.1 HTTP協(xié)議視頻網(wǎng)站采集策略

      每個(gè)視頻均由散列標(biāo)識(shí)符唯一標(biāo)識(shí),并且通??梢栽贖TML頁面中使用URL進(jìn)行訪問,該URL類似于http://www.*.com/uniqueID,采集網(wǎng)站視頻時(shí)最困難的是訪問視頻的機(jī)制不斷更新[3],需要不斷努力隱藏視頻文件的直接URL。使用經(jīng)典的采集方法,爬蟲必須遵循5個(gè)不同的直接鏈接或重定向步驟,才能實(shí)際訪問視頻內(nèi)容。表1總結(jié)了中間URL的一般模式。

      知道了視頻標(biāo)識(shí)符(foobar)和網(wǎng)站頁面的URL(序號(hào)1),采集程序首先發(fā)現(xiàn)頁面中使用的Flash播放器的URL(序號(hào)2)。從傳遞給播放器的參數(shù)列表中,采集程序可以標(biāo)識(shí)出請(qǐng)求視頻內(nèi)容時(shí)要使用的HTMI查詢(序號(hào)3)。在真正獲取視頻文件的URL(序號(hào)5)之前,采集程序必須提供包含編碼令牌的中間重定向(序號(hào)4),例如主機(jī)的IP地址和請(qǐng)求的時(shí)間戳。視頻的URL(序號(hào)5)集成在Flash參數(shù)中,該Flash參數(shù)在加載頁面(序號(hào)1)時(shí)動(dòng)態(tài)生成。采集程序主要問題在于正確識(shí)別此URL,因?yàn)樗煌霓D(zhuǎn)義字符,并且與Flash對(duì)象解釋的其他參數(shù)混合在一起。例如,在當(dāng)前視頻網(wǎng)站頁面中,“flashvars”參數(shù)的字符串長(zhǎng)度為6374個(gè)字符,而要匹配的URL包含392個(gè)字符。在對(duì)頁面(序號(hào)1)進(jìn)行分析時(shí),還可以在生成Flash參數(shù)的JavaScript片段中標(biāo)識(shí)視頻的URL(序號(hào)5)。在網(wǎng)站頁面中,要解析文本行包含的“PLAYER_CONFIG”字符串,其后是隨機(jī)排列的URL列表。在兩個(gè)(“|”)字符之間,可以根據(jù)IP地址和時(shí)間戳提取視頻的URL,該URL已經(jīng)包括計(jì)算出的令牌。

      可以看到,獲取視頻文件的路徑是曲折的,視頻資源的URL因?yàn)楸恢囟ㄏ蚝吞砑优R時(shí)令牌而混淆。在采集參數(shù)方面,這可以將采集程序修改為5級(jí)深度抓取視頻網(wǎng)站。此外,序號(hào)2,序號(hào)4和序號(hào)5中的URL指向不同的子域,因此需要將它們顯式添加到采集的范圍內(nèi)。

      重定向生成的URL還存在一個(gè)問題,就是存檔重放工具訪問的問題。即使每個(gè)視頻文件在網(wǎng)站上都得到了唯一標(biāo)識(shí),但是每次下載時(shí)會(huì)由于時(shí)間戳而動(dòng)態(tài)生成不同的URL。因此,需要在URL索引中添加顯式引用,以保持原始頁面(在序號(hào)1中)和視頻文件的URL(在序號(hào)5中)之間的聯(lián)系。

      在實(shí)踐中,有兩種方法可以在HTTP協(xié)議的視頻網(wǎng)站上進(jìn)行視頻存檔:在線視頻采集技術(shù)和離線下載視頻技術(shù)。在線采集視頻技術(shù)采集過程中,視頻文件是在爬網(wǎng)時(shí)使用Heritrix軟件的附加處理器進(jìn)行下載。例如,由亞當(dāng)·泰勒編寫的beanShell腳本會(huì)將所有中間URL(序號(hào)2~5)注入邊界,因?yàn)橹虚g躍點(diǎn)通常不在當(dāng)前爬網(wǎng)范圍內(nèi)。視頻文件將直接添加到采集程序的WARC文件中。離線方法首先根據(jù)網(wǎng)站頁面的URL下載視頻文件,然后在后期進(jìn)行加工處理。它使用由里卡多·加西亞·岡薩雷斯開發(fā)的外部下載器,該下載器采集視頻內(nèi)容并將其轉(zhuǎn)儲(chǔ)為flv文件,然后使用WARC Tools工具將flv文件打包到不同的WARC文件中。兩種方法都需要視頻的原始URL(如出現(xiàn)在網(wǎng)頁中)和文件名或指向視頻內(nèi)容的URL新生成鏈接。

      在線采集方法的優(yōu)點(diǎn)在于,視頻文件的下載是由采集程序自身完成的,并且不需要其他外部工具監(jiān)視和同步。此外,在與網(wǎng)站服務(wù)器進(jìn)行對(duì)話之后,所有HTTP標(biāo)頭都存儲(chǔ)在存檔中。這種方法的缺點(diǎn)是視頻內(nèi)容的最終URI(如序號(hào)5)不再包含視頻的原始標(biāo)識(shí)符(如序號(hào)1),回溯視頻標(biāo)識(shí)符變得難以管理,歸檔文件也被所有重定向URL污染(它們不再是有效的URL,因?yàn)橄螺d令牌的有效性受到限制)。離線方法在監(jiān)視和管理外部下載程序(例如錯(cuò)誤處理)方面提供了更大的靈活性。視頻文件保留其原始標(biāo)識(shí)符的名稱,并且重定向URL不存儲(chǔ)在存檔中。由于外部下載程序不保留服務(wù)器響應(yīng),因此需要在每個(gè)存儲(chǔ)flv文件的WARC文件中插入一個(gè)“假”HTTP頭。

      1.2RTMP協(xié)議視頻網(wǎng)站采集策略

      1.2.1 網(wǎng)絡(luò)視頻流協(xié)議概述

      與互聯(lián)網(wǎng)工程任務(wù)組(IETF)標(biāo)準(zhǔn)相對(duì)應(yīng)的流技術(shù)允許服務(wù)器控制傳輸,并進(jìn)行了嚴(yán)格的優(yōu)化以保持實(shí)時(shí)運(yùn)行。客戶不必下載潛在的巨大文件,這種方法特別適合現(xiàn)場(chǎng)直播。實(shí)際上,流傳輸通常使用兩種類型的實(shí)時(shí)流協(xié)議:實(shí)時(shí)傳輸協(xié)議(RTP)[rfc3550]發(fā)送媒體數(shù)據(jù)包,以及實(shí)時(shí)流協(xié)議(RTSP)[rfc2326]作為控制信息。RTP使用潛在的有損UDP,該UDP不會(huì)嘗試重新傳輸丟失的數(shù)據(jù)包,因此系統(tǒng)被設(shè)計(jì)為可以承受傳輸期間數(shù)據(jù)包的丟失。這意味著客戶端要能夠很好地處理只獲取到部分視頻幀或音頻樣本數(shù)據(jù)的情況。這比基于TCP/IP的方法更好,后者可以進(jìn)行不確定的重試次數(shù)(從而花費(fèi)不確定的時(shí)間)來獲取丟失的數(shù)據(jù)包。

      實(shí)時(shí)流協(xié)議(RTSP)是一種網(wǎng)絡(luò)控制協(xié)議,用于娛樂和通信系統(tǒng),以控制流媒體服務(wù)器。該協(xié)議用于建立和控制兩端之間的媒體會(huì)話。媒體服務(wù)器的客戶端發(fā)出類似于VCR的命令,例如播放和暫停,以便于實(shí)時(shí)控制服務(wù)端的媒體文件的播放[4-5]。

      RTSP協(xié)議與HTTP相似,但是RTSP添加了新的請(qǐng)求。HTTP是無狀態(tài)的,而RTSP是有狀態(tài)的協(xié)議。會(huì)話標(biāo)識(shí)符用于在需要時(shí)跟蹤會(huì)話,因此,不需要永久的TCP連接。RTSP消息從客戶端發(fā)送到服務(wù)器,只有少數(shù)情況下會(huì)從服務(wù)器發(fā)送到客戶端。

      多媒體消息服務(wù)(MMS)是用于發(fā)送帶有多媒體對(duì)象(圖像,音頻,視頻,富文本)消息的電信標(biāo)準(zhǔn)。MMS是SMS標(biāo)準(zhǔn)的擴(kuò)展,允許更長(zhǎng)的消息長(zhǎng)度,并使用WAP顯示內(nèi)容。MMS消息的發(fā)送方式幾乎與SMS相同,但是首先要將所有多媒體內(nèi)容進(jìn)行編碼,然后以類似于發(fā)送MIME電子郵件的方式將其插入文本消息中。

      實(shí)時(shí)消息協(xié)議(RTMP)是Adobe Systems開發(fā)的一種專有協(xié)議,用于在Flash播放器和服務(wù)器之間通過互聯(lián)網(wǎng)傳輸音頻、視頻和數(shù)據(jù)[6]。為了保證視頻和音頻流的平穩(wěn)傳遞,同時(shí)保留傳輸更大信息塊的能力,該協(xié)議可以將視頻和數(shù)據(jù)拆分為片段。首先所用片段的大小可以在客戶端和服務(wù)器之間動(dòng)態(tài)協(xié)商,如果需要,甚至可以完全禁用它們。然后,來自不同流的片段可以在單個(gè)連接上交錯(cuò)和多路復(fù)用。Adobe于2009年6月15日開放了RTMP協(xié)議的規(guī)范,但該規(guī)范似乎省略了協(xié)議實(shí)現(xiàn)的許多細(xì)節(jié)。

      1.2.2 采集RTMP網(wǎng)絡(luò)視頻

      根據(jù)國(guó)家圖書館采集程序?qū)σ曨l采集的研究,本節(jié)將介紹基于RTMP協(xié)議進(jìn)行視頻網(wǎng)站采集的一些技術(shù)細(xì)節(jié)。

      (1)視頻頁面布局。顯示視頻的Web頁面的結(jié)構(gòu)與HTTP協(xié)議網(wǎng)站的相同。HTML頁面包含一個(gè)主視頻面板,其中包括原始視頻播放器。每個(gè)HTML頁面的內(nèi)容由服務(wù)器動(dòng)態(tài)生成,并存儲(chǔ)在特定的HTML元素中[7-8]。將Flash Player嵌入到元素中,并從Web服務(wù)器加載。播放器所需的所有參數(shù)均由JavaScript函數(shù)(創(chuàng)建視頻播放器)準(zhǔn)備,并傳遞給Flash對(duì)象(使用flashvars參數(shù))。從這一點(diǎn)開始,與流服務(wù)器的整個(gè)對(duì)話將直接由Flash Player處理。

      (2)下載流媒體視頻。從爬蟲的角度來看,視頻文件的URL清晰地寫在了JavaScript片段內(nèi),這代表了一種有利的情況,因?yàn)镴avaScript提取器能夠識(shí)別和提取視頻文件的URL。但是,此URL并不是采集程序的有效URL,因?yàn)樗恢С諬TTP/HTTPS以外的協(xié)議方案。因此,RTMP URL將在采集的錯(cuò)誤日志中報(bào)告為無效URL。為了有效地下載視頻文件(rtmp://…/foobar-video.flv),將RTMP URL從錯(cuò)誤日志中過濾掉,并傳遞給外部下載器(即FLVStreamer),RTMP下載器需要先將視頻內(nèi)容轉(zhuǎn)儲(chǔ)到flv文件中,然后再將其打包存儲(chǔ)到WARC文件中。

      (3)訪問存檔中的視頻內(nèi)容。從訪問的角度來看,實(shí)時(shí)網(wǎng)頁和已存檔網(wǎng)頁之間的根本區(qū)別在于用于將視頻內(nèi)容交付給播放器的傳輸協(xié)議。在存檔的基礎(chǔ)架構(gòu)上部署流服務(wù)器需要大量的工作,這是一個(gè)開發(fā)和維護(hù)成本昂貴的解決方案。它還需要針對(duì)不同的協(xié)議運(yùn)行不同的服務(wù)器。為了實(shí)現(xiàn)通用,我們通過HTTP協(xié)議對(duì)存檔視頻內(nèi)容進(jìn)行訪問,并且flv文件與HTML頁面及其他資源一起直接從WARC文件提取出來。流媒體的特定功能已丟失(例如快進(jìn)或增量下載),但是可以確保對(duì)視頻內(nèi)容的基本訪問,并且可以適應(yīng)不同的情況而不需要額外的工作。

      對(duì)于大型視頻來說,用純HTTP代替流媒體的一個(gè)重要缺點(diǎn)變得顯而易見。如果未進(jìn)行任何改編,播放器需要在開始播放視頻之前加載整個(gè)flv文件。我們已調(diào)整了訪問工具,通過增量地從存檔中加載視頻文件的塊來緩解此問題。塊的大小是優(yōu)化的關(guān)鍵,但是在更快地訪問視頻和緩沖方法的復(fù)雜性之間需要權(quán)衡取舍。

      在訪問時(shí),要進(jìn)行的主要調(diào)整是更換原始Flash Player。由于已存檔的視頻文件不再流媒體傳輸,因此頁面上的原始播放器無法在存檔的版本上使用,HTML容器需要相應(yīng)地更新。

      與實(shí)時(shí)頁面相比,在存檔版本中,用包含存檔特定播放器的特定元素替換

      清原| 扬州市| 从江县| 临安市| 上蔡县| 灵川县| 略阳县| 宁化县| 湟中县| 六安市| 德州市| 色达县| 舒兰市| 崇明县| 大同市| 长乐市| 萍乡市| 双城市| 田阳县| 武隆县| 陆丰市| 都江堰市| 太仆寺旗| 轮台县| 兴隆县| 哈密市| 邵东县| 台东县| 延寿县| 宁陵县| 康乐县| 陵水| 长岭县| 聂荣县| 突泉县| 安徽省| 岳阳县| 图木舒克市| 广饶县| 安阳市| 临颍县|