現(xiàn)今短視頻、小視頻的應(yīng)用隨處可見,用戶量也在持續(xù)上漲,作為一個測試人員,我們要保障視頻播放應(yīng)用的質(zhì)量就必須了解視頻相關(guān)技術(shù),需要對視頻相關(guān)知識有更全面的認(rèn)知。本文主要給大家介紹一些視頻的相關(guān)知識。
視頻性能測試點:
- 首幀響應(yīng)時間:從點擊播放按鈕到出現(xiàn)第一幀畫面所需要的時間1. 播放流暢度:幀率可以體現(xiàn)播放的流暢度,幀率越大畫面越流暢1. 播放成功率:視頻正常播放在總播放視頻中的占比1. 功耗:即持續(xù)播放視頻電量的消耗情況1. 內(nèi)存:視頻在播放過程中內(nèi)存的占用情況,一般我們都會追求低內(nèi)存1. Cpu指標(biāo):視頻播放過程中的cpu占用情況,cpu占用過高會引發(fā)功耗過高的情況1. 播放穩(wěn)定性:長時間播放視頻的播放質(zhì)量
下面是一些關(guān)于視頻的基礎(chǔ)知識和相關(guān)工具,為我們測試了解視頻和獲取一些性能指標(biāo)提供幫助。
一、視頻播放器
視頻播放器原理流程圖:
解協(xié)議:將流媒體協(xié)議的數(shù)據(jù)解析為標(biāo)準(zhǔn)的相應(yīng)的封裝格式數(shù)據(jù)。(本地播放不需要解協(xié)議)視頻在網(wǎng)絡(luò)傳播時常采用各種傳輸協(xié)議,如http,rtmp等。這些協(xié)議在傳輸視頻數(shù)據(jù)時,也會傳輸一些信令數(shù)據(jù),這些信令數(shù)據(jù)包括對播放的控制(播放,暫停,停止),或者對網(wǎng)絡(luò)狀態(tài)的描述等。解協(xié)議的過程中會去除掉信令數(shù)據(jù)而只保留視音頻數(shù)據(jù)。
解封裝:將輸入的封裝格式數(shù)據(jù),分離成音頻流壓縮編碼數(shù)據(jù)和視頻流編碼數(shù)據(jù)。封裝格式種類很多,例如MP4,MKV,RMVB,TS,FLV,AVI等等,它的作用就是將已經(jīng)壓縮編碼的視頻數(shù)據(jù)和音頻數(shù)據(jù)按照一定的格式放到一起。例如,F(xiàn)LV格式的數(shù)據(jù),經(jīng)過解封裝操作后,輸出H.264編碼的視頻碼流和AAC編碼的音頻碼流。
解碼:將視頻、音頻壓縮編碼數(shù)據(jù),解碼成未壓縮的視頻、音頻數(shù)據(jù)。頻的壓縮編碼標(biāo)準(zhǔn)包含AAC,MP3,AC-3等等,視頻的壓縮編碼標(biāo)準(zhǔn)則包含H.265、H.264,MPEG2,VC-1等等。
視音頻同步:根據(jù)解封裝模塊處理過程中獲取到的參數(shù)信息,同步解碼出來的視頻和音頻數(shù)據(jù),將視頻頻數(shù)據(jù)發(fā)送顯卡,音頻發(fā)送至聲卡。
二、視頻編碼
視頻編碼的主要作用是將視頻像素數(shù)據(jù)壓縮成為視頻碼流,從而降低視頻數(shù)據(jù)量。視頻如果不經(jīng)過壓縮一般體積就會過大。高效率的視頻編碼在同等碼率下,可以獲得更高的視頻質(zhì)量。
碼流:碼流(Data Rate)是指視頻文件在單位時間內(nèi)使用的數(shù)據(jù)流量,也叫碼率,是視頻編碼中畫面質(zhì)量控制中最重要的部分。同樣分辨率下,視頻文件的碼流越大,壓縮比就越小,畫面質(zhì)量就越好。
常見編碼方案:H.265、H264、MPEG4、MPEG2
三、視頻幀率
視頻幀率(Frame rate)是用于測量顯示幀數(shù)的量度。所謂的測量單位為每秒顯示幀數(shù)(Frames per Second,簡:FPS)或“赫茲”(Hz)。此詞多用于影視制作和電子游戲。由于人類眼睛的特殊生理結(jié)構(gòu),如果所看畫面之幀率高于16的時候,就會認(rèn)為是連貫的,此現(xiàn)象稱之為視覺停留。這也就是為什么電影膠片是一格一格拍攝出來,然后快速播放的。而對游戲,一般來說,第一人稱射擊游戲比較注重FPS的高低,如果FPS<30的話,游戲會顯得不連貫。所以有一句有趣的話:“FPS(指FPS游戲)重在FPS(指幀率)。每秒的幀數(shù)(fps)或者說幀率表示圖形處理器處理場時每秒鐘能夠更新的次數(shù)。高的幀率可以得到更流暢、更逼真的動畫。
四、ffmpeg
FFmpeg是一套可以用來記錄、轉(zhuǎn)換數(shù)字音頻、視頻,并能將其轉(zhuǎn)化為流的開源計算機程序,現(xiàn)如今很多播放器是以ffmpeg為內(nèi)核的。
FFmpeg項目由以下幾部分組成:
1.FFmpeg視頻文件轉(zhuǎn)換命令行工具,也支持經(jīng)過實時電視卡抓取和編碼成視頻文件;
2.ffserver基于HTTP、RTSP用于實時廣播的多媒體服務(wù)器.也支持時間平移;
3.ffplay用 SDL和FFmpeg庫開發(fā)的一個簡單的媒體播放器;
4.libavcodec一個包含了所有FFmpeg音視頻編解碼器的庫。為了保證最優(yōu)性能和高可復(fù)用性,大多數(shù)編解碼器從頭開發(fā)的;
5.libavformat一個包含了所有的普通音視格式的解析器和產(chǎn)生器的庫。
基本功能:
1、視頻采集
2、視頻格式轉(zhuǎn)換
3、視頻抓圖
4、向視頻加水印
5、錄制屏幕
視頻播放中的響應(yīng)時間是一個很重要的測試指標(biāo),響應(yīng)時間又分為,首幀響應(yīng)時間、拖動響應(yīng)時間兩種。響應(yīng)時間測試設(shè)計需要確定起始點和響應(yīng)點,我們可以通過ffmpeg來獲取視頻的首幀圖片作為響應(yīng)基準(zhǔn)。
五、視頻分析工具–Mediainfo
Mediainfo是一款常用的視頻分析軟件,軟件能夠檢測視頻文件的格式、畫面比例、碼率、音頻流、聲道等一系列視頻參數(shù)信息,并支持用戶以表格、樹狀圖、文本、XML、MPEG-7等格式進(jìn)行預(yù)覽與導(dǎo)出,而且支持用戶批量操作,為用戶提供完善的檢測方案。我們可通過此軟件,獲取我們需要的視頻數(shù)據(jù)(關(guān)于Mediainfo詳細(xì)使用網(wǎng)上有較多資料,在此不做過多贅述)。
好了,這篇文章的內(nèi)容發(fā)貨聯(lián)盟就和大家分享到這里,如果大家網(wǎng)絡(luò)推廣引流創(chuàng)業(yè)感興趣,可以添加微信:80709525 備注:發(fā)貨聯(lián)盟引流學(xué)習(xí); 我拉你進(jìn)直播課程學(xué)習(xí)群,每周135晚上都是有實戰(zhàn)干貨的推廣引流技術(shù)課程免費分享!