音視頻同步系列文章之------時間戳與時間尺度(time scale)

根據一些文章我自己推敲了一下幾個概念如下:

???采樣頻率是每秒鐘抽取聲波幅度樣本的次數。8000
???幀率是每秒顯示幀數。?????????????????????20
??
???時間戳單位:時間戳計算的單位不為秒之類的單位,而是由采樣頻率所代替的單位,這樣做的目的就是為了是時間戳單位更為精準。比如說一個音頻的采樣頻率為8000HZ,那么我們可以把時間戳單位設為1/8000。
????時間戳增量:相鄰兩個RTP包之間的時間差(以時間戳單位為基準)。
?
????如何設定時間戳之間的增量呢?
?????按照剛才時間戳單位來看,1秒鐘按照時間戳單位就是8000,那么一秒鐘如果可以播放20幀,也就是發送20幀(幀率),那么可以求出相鄰兩幀之間的時間差,也就是時間戳增量,那么顯而易見是用8000/20,那么這個時間戳增量就為400.
?
???音頻如果采用頻率是8000HZ 那么時間戳單位就是1/8000 ,時間戳單位就是1/8000 這個1 就是指1s,說白了就是每個聲波幅度樣本的時間間隔是 1/8000s。

??? 幀率是 20那么時間戳增量就是 8000/20=400(現在每秒采樣的聲音樣本數是8000個,每秒播放20幀那么每幀包含的聲音樣本就是400個)時間戳增量就是400,如果換做系統時間?就是 400*(1/8000)?? 每幀間隔1/20s
????網上大多數列舉的一個例子是:例如MPEG,每幀20ms,采樣頻率8000Hz,設定時間戳單位1/8000,而每個包之間就是160的增量
???這里又該如何理解呢?可以輕易地看出增量是直接8000與20ms相乘的結果,我們可以知道這里兩幀之間的時間為20ms,也就是0.02s,這個單位是以秒來衡量的,那么我們要用時間戳單位來表示那么就是8000*0.02=160.所以時間戳增量為160.

????還有一點為什么一般都用90000作為視頻采樣頻率呢?
???????

???90k是用于視頻同步的時間尺度(TimeScale),就是每秒90k個時鐘tick。為什么采用90k呢?目前視頻的幀速率主要有25fps、29.97fps、30fps等,而90k剛好是它們的倍數,所以就采用了90k。

?

本文來自CSDN博客,轉載請標明出處:http://blog.csdn.net/markman101/archive/2010/04/12/5477316.aspx


本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/254292.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/254292.shtml
英文地址,請注明出處:http://en.pswp.cn/news/254292.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

30秒無需編碼完成一個REST API服務

JSON Server 30秒內無需編碼快速完成一個模擬的REST API服務。 這個服務主要是給那些需要快速的模擬原型后端接口的前端人員使用的 GitHub:github.com/typicode/js… 安裝 $ npm install -g json-server 復制代碼Example 新建一個 db.json 文件 {"posts":…

namespace-C#命名空間

博主寫作不容易,孩子需要您鼓勵 萬水千山總是情 , 先點個贊行不行 C#程序是利用命名空間組織起來的。命名空間既做程序的內部組織系統,又用做外部組織系統。就像一個國家為了便于管理,分成多個省份一樣。 聲明命名空間 命名空間是.NET …

NKU 專題一 題解

A - Flip Game 總的情況數只有2^16次方種&#xff0c;顯然直接bfs就可以了 1 #include<iostream>2 #include<queue>3 #include<cstring>4 using namespace std;5 int W,B,start;6 bool have[1000000];7 struct plot{8 int n,step;9 }; 10 void input(int…

僵尸進程(轉)

前面的文章中&#xff0c;我們已經了解了父進程和子進 程的概念&#xff0c;并已經掌握了系統調用exit的用法&#xff0c;但可能很少有人意識到&#xff0c;在一個進程調用了exit之后&#xff0c;該進程并非馬上就消失掉&#xff0c;而是留下一個稱為僵尸進 程&#xff08;zomb…

ComblockEngine 引擎實踐

comblockEngine 參考資料 官方網址 學習備注 熟悉內容 1.python 的字符串操作 2.flags 屬性的作用域 flags等 問題每天 1 1.基本數據類型 基本類型 2.數據庫表的操作 操作1 3.屬性的定義在.def中。self.出來之后&#xff0c;在繼承多個類的時候會不會重復。應該是子類的屬性覆蓋…

王陽明詩歌集

此心光明&#xff0c;夫復何求。&#xff08;王陽明死前對弟子的遺言&#xff09; 0. 非常少年、非常父子 山近月遠覺月小&#xff0c;便道此山大于月。若人有眼大如天&#xff0c;當見山高月更闊。—— 《蔽月山房》&#xff0c;作于12歲&#xff1b;1. 中秋 吾心自有光明月&a…

子承父業-C#繼承

文章目錄繼承的定義和使用實例繼承的特性繼承的可傳遞性繼承的單一性繼承中的訪問修飾符base和this關鍵字basethis實例博主寫作不容易&#xff0c;孩子需要您鼓勵 萬水千山總是情 , 先點個贊行不行 繼承是軟件復用的一種形式。使用繼承可以復用現在類的數據和行為&#xff…

MAVEN創建并打包web項目

maven項目是由一個maven project和多個maven module組成的&#xff0c;以下簡介一下maven webapp的創建和打包&#xff0c;前提是你已經安裝配置好maven了。打開eclipse。依照例如以下操作&#xff1a; 我們首先當然要先創建一個project。如上圖選擇。 如今maven project已經創…

GNU gcc的編譯工具用法(轉)

對大多數不從事Linux平臺C語言開發的人來說&#xff0c;GNU gcc的一套工具和Linux平臺的共享庫的使用還是十分陌生的&#xff0c;其實我也不太熟悉&#xff0c;姑且寫點基礎知識&#xff0c;權當做備忘吧。 一、GNU gcc的編譯工具用法 我們先來寫一個簡單的C程序&#xff1a;…

學界 | CVPR 2018頒布五大獎項,何愷明獲年輕學者獎

年度計算機視覺和模式識別盛會CVPR&#xff08;Conference on Computer Vision and Pattern Recognition&#xff09;在美國鹽湖城開幕啦&#xff01; 據統計&#xff0c;本屆大會有超過3309篇大會論文投稿&#xff0c;接收979篇論文。 面對如此多的論文評審任務&#xff0c;CV…

virtual、override-蝌蚪和青蛙-C#多態

文章目錄多態的概念多態的實現方法重載、重寫、隱藏重載重寫隱藏博主寫作不容易&#xff0c;孩子需要您鼓勵 萬水千山總是情 , 先點個贊行不行 多態的概念 什么是多態&#xff1f; 多態一次最早用于生物學&#xff0c;指同一種族的生物具有不同的特性。比如青蛙小時候是蝌…

jvm--3.內存管理

5.JVM內存管理 JAVA虛擬機在執行java程序的過程中&#xff0c;會把它管理的內存分成若干個不同的數據區域。 ------------------------------------------------------------------------------------— | 運行時數據區 | | ----------- -------- ----------------- | | | 方法…

[BZOJ2458][BeiJing2011]最小三角形

題目描述 Description Xaviera現在遇到了一個有趣的問題。平面上有N個點&#xff0c;Xaviera想找出周長最小的三角形。由于點非常多&#xff0c;分布也非常亂&#xff0c;所以Xaviera想請你來解決這個問題。為了減小問題的難度&#xff0c;這里的三角形也包括共線的三點。 輸…

Makefile中的變量

Makefile中的變量 2007-11-03 12:03Makefile中變量有以下幾個特征&#xff1a; 1. Makefile中變量和函數的展開&#xff08;除規則命令行中的變量和函數以外&#xff09;&#xff0c;是在make讀取makefile文件時進行的&#xff0c;這里的變量包括了使用“”定義和使用指示符“d…

小技巧集錦

2019獨角獸企業重金招聘Python工程師標準>>> jackson JsonDeserialize 使用方法&#xff1a; 實現方法注解寫在set方法上。 public class CustomJsonDateDeserializer extends JsonDeserializer<Date> {private SimpleDateFormat datetimeFormat new SimpleD…

interface-C#接口-統一的標準

文章目錄接口的定義接口的實現實例1實例2接口的繼承博主寫作不容易&#xff0c;孩子需要您鼓勵 萬水千山總是情 , 先點個贊行不行 接口是面向對象編程的一個重要技術&#xff0c;在C#中負責實現多重繼承。一個接口定義一個協定&#xff0c;實現接口類或結構體必須遵守其協定…

JMeter入門(1):JMeter總體介紹及組件介紹

一、JMeter概述 JMeter就是一個測試工具&#xff0c;相比于LoadRunner等測試工具&#xff0c;此工具免費&#xff0c;且比較好用&#xff0c;但是前提當然是安裝Java環境&#xff1b;JMeter可以做(1)壓力測試及性能測試&#xff1b;(2)數據庫測試&#xff1b;(3)Java程序的測試…

二層交換機、三層交換機和路由器的基本工作原理和三者之間的主要區別

二層交換機:二層交換技術是發展比較成熟&#xff0c;二層交換機屬數據鏈路層設備&#xff0c;可以識別數據包中的MAC地址信息&#xff0c;根據MAC地址進行轉發&#xff0c;并將這些MAC地址與對應的端口記錄在自己內部的一個地址表中。 具體如下&#xff1a; &#xff08;1&…

Unity3D:視物有點眩暈的原因

設置Main Camera 的 Field of View 為100&#xff0c;看物體總覺得很不舒服。 設置為 60 就正常了。 根本原因&#xff0c;有待于分析 轉載于:https://www.cnblogs.com/makebetter/p/7063694.html

使用jQuery清空file文件域的解決方案

使用jQuery清空file文件域的解決方案 var file $("#file") file.after(file.clone().val("")); file.remove();