1. 程式人生 > >MimeType、碼流、位元速率、位元率、幀速率、解析度、高清概念理解

MimeType、碼流、位元速率、位元率、幀速率、解析度、高清概念理解

碼流 / 位元速率 / 位元率 / 幀速率 / 解析度 / 高清/MimeType

碼流 / 位元速率 

碼流(Data Rate)是指視訊檔案在單位時間內使用的資料流量,也叫位元速率或碼流率,通俗一點的理解就是取樣率,是視訊編碼中畫面質量控制中最重要的部分,一般我們用的單位是kb/s或者Mb/s。一般來說同樣解析度下,視訊檔案的碼流越大,壓縮比就越小,畫面質量就越高。碼流越大,說明單位時間內取樣率越大,資料流,精度就越高,處理出來的檔案就越接近原始檔案,影象質量越好,畫質越清晰,要求播放裝置的解碼能力也越高。

當然,碼流越大,檔案體積也越大,其計算公式是檔案體積=時間X位元速率/8。例如,網路上常見的一部90分鐘1Mbps碼流的720P RMVB檔案,其體積就=5400秒×1Mb/8=675MB。

通常來說,一個視訊檔案包括了畫面及聲音,例如一個RMVB的視訊檔案,裡面包含了視訊資訊和音訊資訊,音訊及視訊都有各自不同的取樣方式和位元率,也就是說,同一個視訊檔案音訊和視訊的位元率並不是一樣的。而我們所說的一個視訊檔案碼流率大小,一般是指視訊檔案中音訊及視訊資訊碼流率的總和。

以以國內最流行,大家最熟悉的RMVB視訊檔案為例,RMVB中的VB,指的是VBR,即Variable Bit Rate的縮寫,中文含義是可變位元率,它表示RMVB採用的是動態編碼的方式,把較高的取樣率用於複雜的動態畫面(歌舞、飛車、戰爭、動作等),而把較低的取樣率用於靜態畫面,合理利用資源,達到畫質與體積可兼得的效果。

位元速率和取樣率最根本的差別就是位元速率是針對原始檔來講的。

取樣率

取樣率(也稱為取樣速度或者取樣頻率)定義了每秒從連續訊號中提取並組成離散訊號的取樣個數,它用赫茲(Hz)來表示。取樣率是指將模擬訊號轉換成數字訊號時的取樣頻率,也就是單位時間內取樣多少點。一個取樣點資料有多少個位元。位元率是指每秒傳送的位元(bit)數。單位為 bps(Bit Per Second),位元率越高,傳送的資料越大,音質越好.位元率 =取樣率 x 採用位數 x聲道數.

取樣率類似於動態影像的幀數,比如電影的取樣率是24赫茲,PAL制式的取樣率是25赫茲,NTSC制式的取樣率是30赫茲。當我們把取樣到的一個個靜止畫面再以取樣率同樣的速度回放時,看到的就是連續的畫面。同樣的道理,把以44.1kHZ取樣率記錄的CD以同樣的速率播放時,就能聽到連續的聲音。顯然,這個取樣率越高,聽到的聲音和看到的影象就越連貫。當然,人的聽覺和視覺器官能分辨的取樣率是有限的,基本上高於44.1kHZ取樣的聲音,絕大部分人已經覺察不到其中的分別了。

而聲音的位數就相當於畫面的顏色數,表示每個取樣的資料量,當然資料量越大,回放的聲音越準確,不至於把開水壺的叫聲和火車的鳴笛混淆。同樣的道理,對於畫面來說就是更清晰和準確,不至於把血和西紅柿醬混淆。不過受人的器官的機能限制,16位的聲音和24位的畫面基本已經是普通人類的極限了,更高位數就只能靠儀器才能分辨出來了。比如電話就是3kHZ取樣的7位聲音,而CD是44.1kHZ取樣的16位聲音,所以CD就比電話更清楚。

當你理解了以上這兩個概念,位元率就很容易理解了。以電話為例,每秒3000次取樣,每個取樣是7位元,那麼電話的位元率是21000。 而CD是每秒 44100次取樣,兩個聲道,每個取樣是13位PCM編碼,所以CD的位元率是44100*2*13=1146600,也就是說CD每秒的資料量大約是 144KB,而一張CD的容量是74分等於4440秒,就是639360KB=640MB。

位元速率和取樣率最根本的差別就是位元速率是針對原始檔來講的。

位元率

位元率是指每秒傳送的位元(bit)數。單位為bps(Bit Per Second),位元率越高,傳送的資料越大。在視訊領域,位元率常翻譯為位元速率 !!!

位元率表示經過編碼(壓縮)後的音、視訊資料每秒鐘需要用多少個位元來表示,而位元就是二進位制裡面最小的單位,要麼是0,要麼是1。位元率與音、視訊壓縮的關係,簡單的說就是位元率越高,音、視訊的質量就越好,但編碼後的檔案就越大;如果位元率越少則情況剛好相反。

位元率是指將數字聲音、視訊由模擬格式轉化成數字格式的取樣率,取樣率越高,還原後的音質、畫質就越好。

常見編碼模式:

VBR(Variable Bitrate)動態位元率 也就是沒有固定的位元率,壓縮軟體在壓縮時根據音訊資料即時確定使用什麼位元率,這是以質量為前提兼顧檔案大小的方式,推薦編碼模式;

ABR(Average Bitrate)平均位元率 是VBR的一種插值引數。LAME針對CBR不佳的檔案體積比和VBR生成檔案大小不定的特點獨創了這種編碼模式。ABR在指定的檔案大小內,以每50幀(30幀約1秒)為一段,低頻和不敏感頻率使用相對低的流量,高頻和大動態表現時使用高流量,可以做為VBR和CBR的一種折衷選擇。

CBR(Constant Bitrate),常數位元率 指檔案從頭到尾都是一種位速率。相對於VBR和ABR來講,它壓縮出來的檔案體積很大,而且音質相對於VBR和ABR不會有明顯的提高。

幀速率

幀速率也稱為FPS(Frames PerSecond)的縮寫——幀/秒。是指每秒鐘重新整理的圖片的幀數,也可以理解為圖形處理器每秒鐘能夠重新整理幾次。越高的幀速率可以得到更流暢、更逼真的動畫。每秒鐘幀數(FPS)越多,所顯示的動作就會越流暢。

解析度

就是幀大小每一幀就是一副影象。

640*480解析度的視訊,建議視訊的碼速率設定在700以上,音訊取樣率44100就行了

一個音訊編位元速率為128Kbps,視訊編位元速率為800Kbps的檔案,其總編位元速率為928Kbps,意思是經過編碼後的資料每秒鐘需要用928K位元來表示。

計算輸出檔案大小公式:
(音訊編位元速率(KBit為單位)/8 +視訊編位元速率(KBit為單位)/8)×影片總長度(秒為單位)=檔案大小(MB為單位)

高清視訊

目前的720P以及1080P採用了很多種編碼,例如主流的MPEG2,VC-1以及H.264,還有Divx以及Xvid,至於封裝格式更多到令人髮指,ts、mkv、wmv以及藍光專用等等。

720和1080代表視訊流的解析度,前者1280*720,後者1920*1080,不同的編碼需要不同的系統資源,大概可以認為是H.264>VC-1>MPEG2。   

VC-1是最後被認可的高清編碼格式,不過因為有微軟的後臺,所以這種編碼格式不能小窺。相對於MPEG2,VC-1的壓縮比更高,但相對於H.264而言,編碼解碼的計算則要稍小一些,目前來看,VC-1可能是一個比較好的平衡,輔以微軟的支援,應該是一隻不可忽視的力量。一般來說,VC-1多為 “.wmv”字尾,但這都不是絕對的,具體的編碼格式還是要通過軟體來查詢。

總的來說,從壓縮比上來看,H.264的壓縮比率更高一些,也就是同樣的視訊,通過H.264編碼演算法壓出來的視訊容量要比VC-1的更小,但是VC-1 格式的視訊在解碼計算方面則更小一些,一般通過高效能的CPU就可以很流暢的觀看高清視訊。相信這也是目前NVIDIA Geforce 8系列顯示卡不能完全解碼VC-1視訊的主要原因。

PS&TS是兩種視訊或影片封裝格式,常用於高清片。副檔名分別為VOB/EVO和TS等;其檔案編碼一般用MPEG2/VC-1/H.264

高清,英文為“High Definition”,即指“高解析度”。 高清電視(HDTV),是由美國電影電視工程師協會確定的高清晰度電視標準格式。現在的大螢幕液晶電視機,一般都支援1080i和720P,而一些俗稱的“全高清”(Full HD),則是指支援1080P輸出的電視機。

目前的高清視訊編碼格式主要有H.264、VC-1、MPEG-2、MPEG-4、DivX、XviD、WMA-HD以及X264。事實上,現在網路上流傳的高清視訊主要以兩類檔案的方式存在:一類是經過MPEG-2標準壓縮,以tp和ts為字尾的視訊流檔案;一類是經過WMV-HD(Windows Media Video HighDefinition)標準壓縮過的wmv檔案,還有少數檔案字尾為avi或mpg,其性質與wmv是一樣的。真正效果好的高清視訊更多地以H.264與VC-1這兩種主流的編碼格式流傳。

一般來說,H.264格式以“.avi”、“.mkv”以及“.ts”封裝比較常見。

MimeType

MIME type,Multipurpose Internet Mail Extensions type,多用途網際網路郵件擴充套件型別。它是一個網際網路標準,它擴充套件了電子郵件標準,使其能夠支援非ASCII字元、二進位制格式附件等多種不同媒體格式的郵件訊息,以便讓郵件客戶程式能根據其型別進行正確處理。

後來MIME type被HTTP協議支援,它的意義就更為顯著了,它使得HTTP傳輸的不僅是普通的文字,而變得豐富多彩。在HTTP中,MIME Type型別被定義在Content-Type中,雖然換了個名字,但是大家還是習慣使用MIME type。(注意,瀏覽器不僅僅只能顯示html文件,其它一些媒體文件,比如圖片,flash等,瀏覽器都可以直接開啟;瀏覽器對html文件中各種媒體資源的請求,都要傳送http請求)

MIME Type是經由IETF組織協商,以RFC形式作為建議標準釋出在網上,通常只有一些在網際網路上獲得廣泛應用的格式才會獲得一個 MIME Type值,如果是某個客戶端自己定義的格式,一般只能以 application/x- 開頭。

MIME type值的格式為:[type]/[subtype],前者是資料大類別,後者定義具體的種類。

type有下面的形式:

Text:表示文字資訊,文字訊息可以是多種字符集和或者多種格式的;
Multipart:用於連線訊息體的多個部分構成一個訊息,這些部分可以是不同型別的資料;
Application:用於傳輸應用程式資料或者二進位制資料;
Message:用於包裝一個E-mail訊息;
Image:用於傳輸靜態圖片資料;
Audio:用於傳輸音訊或者音聲資料;
Video:用於傳輸動態影像資料,可以是與音訊編輯在一起的視訊資料格式。

subtype用於指定type的詳細形式:

為了確保這些值在一個有序而且公開的狀態下開發,MIME使用IANA(Internet Assigned Numbers Authority)作為中心的註冊機制來管理這些值。常用的subtype值如下所示:

text/plain(純文字)
text/html(HTML文件)
application/xhtml+xml(XHTML文件)
image/gif(GIF影象)
image/jpeg(JPEG影象)
image/png(PNG影象)
video/mpeg(MPEG動畫)
application/octet-stream(任意的二進位制資料)
application/pdf(PDF文件)
application/msword(Microsoft Word檔案)
application/vnd.wap.xhtml+xml (wap1.0+)
application/xhtml+xml (wap2.0+)
message/rfc822(RFC 822形式)
multipart/alternative(HTML郵件的HTML形式和純文字形式,相同內容使用不同形式表示)
application/x-www-form-urlencoded(使用HTTP的POST方法提交的表單)
multipart/form-data(同上,但主要用於表單提交時伴隨檔案上傳的場合)

此外,尚未被接受為正式資料型別的subtype,可以使用x-開始的獨立名稱(例如application/x-gzip)。MIME根據type制定了預設的subtype,當客戶端不能確定訊息的subtype的情況下,訊息被看作預設的subtype進行處理。Text預設是text/plain,Application預設是application/octet-stream而Multipart預設情況下被看作multipart/mixed。

相關推薦

MimeType位元速率位元速率解析度概念理解

碼流 / 位元速率 / 位元率 / 幀速率 / 解析度 / 高清/MimeType 碼流 / 位元速率  碼流(Data Rate)是指視訊檔案在單位時間內使用的資料流量,也叫位元速率或碼流率,通俗一點的理解就是取樣率,是視訊編碼中畫面質量控制中最重要的

視頻計算

0kb clas 比特 簡單 編解碼 ebo 情況 圖像 bit 轉:https://wenku.baidu.com/view/8b9a6f8a58f5f61fb73666bb.html 1080P 的理論速率支持情況 1 、首先計算 1080P (

視訊質量和大小-解析度200*200位元速率kb/sFPS,頻寬 / / 人數

  幾個對視訊的質量和大小影響最大的引數:幀率、位元速率和解析度。 public static final int DEFAULT_VIDEO_WIDTH = 640; public static final int DEFAULT_VIDEO_HEIGHT = 360; /

視訊格式基礎知識:讓你瞭解MKVMP4H.265位元速率\碼等等

你也可以檢視我的其他同類文章,也會讓你有一定的收貨! 1、封裝格式(MP4/MKV…) vs 媒體格式(H.264/FLAC/AAC…) MP4+MKV是你下載的視訊檔案最常見的種類。這些檔案其實類似一個包裹,它的字尾則是包裹的包裝方式。這些包裹裡

【mpeg】mpeg1mpeg2與mpeg4結構區別分析

Date: 2018.10.25 1、參考 2、前言     最近在學習和研究MPEG-2標準的過程中,發現MPEG-1、MPEG-2和MPEG-4標準中規定的碼流都是採用分層的資料結構,不同的層

從H264/H265中獲取寬

在做碼流分析時,影象解析度、幀率這類的基本資訊,當然不可少。本文介紹如何從NAL中計算到影象寬、高,還有解析度。於是H264和H265有相似性,就在一起寫了。 一、從碼流獲得寬、高 1、H264 寬高可從SPS欄位計算得到,公式如下: Width = (pic_width_in_mb

關於Darwin接入私有協議私有SDK的討論

關於Darwin接入私有協議、私有SDK碼流的討論         最近做到雲視訊/雲監控的專案,跟團隊夥伴討論到一個架構問題,就是將私有協議的碼流資料接入到Darwin,再通過Darwin對外提供高效的RTSP/RTP服務。說到私有協議接入Darwi

【H.264/AVC視訊編解碼技術詳解】十二解析H.264的巨集塊結構(上)

《H.264/AVC視訊編解碼技術詳解》視訊教程已經在“CSDN學院”上線,視訊中詳述了H.264的背景、標準協議和實現,並通過一個實戰工程的形式對H.264的標準進行解析和實現,歡迎觀看! “紙上得來終覺淺,絕知此事要躬行”,只有自己按照標準文件以程式碼

Java 字元字元位元組

字元編碼表 Ascii: 0-xxxxxxx正數 iso-8859-1: 拉丁碼錶1-xxxxxxx  負數。 GB2312: 簡體中文碼錶 GBK: 最常用的中文碼錶 String字串預設 GB18030: 最新的中文碼錶   unicode: 國際標準碼錶 char字元預

解析度位元速率三者之間的關係

幀率:FPS(每秒鐘要多少幀畫面);   以及Gop(表示多少秒一個I幀) 位元速率:編碼器每秒編出的資料大小,單位是kbps,比如800kbps代表編碼器每秒產生800kb(或100KB)的資料。 解析度:單位英寸中所包含的畫素點數; VGA:Video Graphic

解析度位元速率關係

幀率:FPS(每秒鐘要多少幀畫面);   以及Gop(表示多少秒一個I幀) 位元速率:編碼器每秒編出的資料大小,單位是kbps,比如800kbps代表編碼器每秒產生800kb(或100KB)的資料。 解析度:單位英寸中所包含的畫素點數; VG

在MP4檔案中提取H264的SPSPPS及

一、MP4封裝格式的基本概念 1  MP4封裝格式對應標準為 ISO/IEC 14496-12(資訊科技 視聽物件編碼的第12部分: ISO 基本媒體檔案格式/Information technology Coding of audio-visual objects Pa

視訊監控安防平臺-國標GB28181轉RTSP和RTMP推進行H5(RTMP/HLS)直播(支援GB28181-2016版本支援公網傳輸)

          視訊監控安防平臺-國標GB28181轉RTSP、RTMP和HLS管理平臺(支援GB28181-2016版本、支援公網碼流傳輸)       最近抽了點時間把國標GB28181轉RTSP、RTMP和HLS管理平臺做了簡單的整理,把相應的Demo也整理好了,

[ffmpeg]視訊視訊與視訊解析度相關知識

一、幀率、碼流與解析度   幀率概念   一幀就是一副靜止的畫面,連續的幀就形成動畫,如電檢視象等。我們通常說幀數,簡單地說,就是在1秒鐘時間裡傳輸的圖片的數,也可以理解為圖形 處理器每秒鐘能夠重新整理幾次,通常用fps(Frames Per Second)表示。每一幀

測試開發—

碼流(Data Rate)是指視訊檔案在單位時間內使用的資料流量,也叫位元速率,是視訊編碼中畫面質量控制中最重要的部分。同樣解析度下,視訊檔案的碼流越大,壓縮比就越小,畫面質量就越好。 轉碼是視訊轉碼技術將視訊訊號從一種格式轉換成另一種格式。它具有兩個面向不同領域的重要功能

Android使用VideoView播放網路rtsp視訊

為什麼要幹這個事情, 專案要求:手機客戶端能夠播放球機的實時錄影; 分析:錄影採用的是標準碼流,通過rtsp協議傳輸。 探索:上網一查,有幾個方案: 1 vlc for android, 下載了

輸出輸入同時打開,文本內容消失問題

stream 清空 string args lose cnblogs 選擇 put int 對某個文本文件同時打開輸出及輸入流時,如果你使用API不慎,會發現輸出流輸出為空,原因如下: public static void main(String[] args) {

並發緩存

mit 異步處理 返回 let ble off 等待 限流 builder 1.並發 使用CompletableFuture可以控制並發,並且等待所有異步處理完成後返回allOff; 2.限流 使用guava中的RateLimiter可以控制秒級限流。 3.緩存 使

java移動文件夾 慎用java file.renameTo(f)方法 java從一個目錄復制文件到另一個目錄下 java代完成刪除文件文件夾

不存在 art 我的電腦 lan nbsp 文件 刪除文件 csdn 結果 java移動文件夾(包含子文件和子文件夾): http://blog.csdn.net/yongh701/article/details/45070353 慎用java file.rename

Java學習筆記43(打印IO工具類簡單介紹)

println comm 學習筆記 dir puts str lose tof line 打印流: 有兩個類:PrintStream,PrintWriter類,兩個類的方法一致,區別在於構造器 PrintStream:構造方法:接收File類型,接收字符串文件名,接收字節輸