音視頻的基礎知識 視頻播放器原理/封裝格式/視頻音頻編碼數據/視頻像素數據/音頻采樣數據

參考鏈接

  • FFMpeg視頻播放器的制作-雷霄驊(去除電流音版本)_嗶哩嗶哩_bilibili

視頻播放器原理

  • 播放視頻文件的流程

  • ?YUV是一張屏幕中像素點的數值

?

封裝格式

  • MP4 RMVB TS FLV AVI
  • 將視頻和音頻碼流按照一定的格式存儲在一個文件中
  • 封裝格式分析工具:Elecard Format Analyzer

?

  • 數字電視支持的格式 MPEG2-TS
  • 數據大小固定,每個都是188Byte
  • 單個數據包損壞不會影響其余數據包?

?

  • FLV包含Header頭文件,一旦損壞,無法播放數據?

視頻編碼數據

  • H.264 MPEG2 VC-1
  • 將視頻像素數據(RGB,YUV等)壓縮成視頻碼流,從而降低視頻的數據量
  • 視頻編碼分析工具 Elecard Stream Eye

?

  • ?I幀 :紅色的幀? 將圖片作為數據直接壓縮,不依賴
  • P幀 :藍色的幀? 依賴前面的I幀,存儲與I幀不同的地方
  • B幀 :綠色的幀? 依賴左右的視頻幀,參考的東西更多

音頻編碼數據

  • AAC? MP3? AC-3?
  • 將音頻采樣數據(PCM等)壓縮成音頻碼流,從而降低音頻的數據量
  • WAV格式的數據是未經壓縮的音頻數據

?

?

視頻像素數據

  • 解碼之后的數據,送到顯卡進行數據顯示
  • YUV420P RGB
  • 視頻像素數據的作用:保存了屏幕每個像素點的像素值
  • 格式:常見的像素數據格式有RGB24、RGB32、YUV420P、YUV422P和YUV444P等
  • YUV是基于RGB進行轉換
    • Y? ? ?亮度
    • UV? ?色調和飽和度
  • 壓縮編碼中一般使用的是YUV格式的像素數據,最為常見的是YUV420P
  • 特點
    • 視頻像素數據體積很大,一般情況下1小時高清視頻的RGB24格式的數據體積為:
    • 3600*25*1920*1080*3=559.9GByte
    • 這里假定幀率為25Hz,取樣精度8bit
  • YUV格式像素數據查看工具 YUV Player

?

音頻采樣數據

  • PCM
  • 音頻采樣數據的作用:保存了音頻中每個采樣點的數值
  • 特點:音頻采樣數據體積很大,一般情況下一首4分鐘的PCM格式的歌曲體積為
    • 4*60*44100*2*2=42.3MByte
    • 第一個2表示聲道
    • 第二個2表示字節 8*2=16
  • PS:這里假定采樣率為44100Hz,采樣精度為16bit
  • 音頻采樣數據查看工具:Adobe Audition

?

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

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

相關文章

科立捷7代寫頻軟件_天大廈大“兩碩士論文雷同”通報,代寫買賣論文

澎湃新聞記者 薛莎莎天津大學、廈門大學7月10日晚就“兩碩士論文雷同”一事,分別發出調查處理通報。通報稱,涉事兩名學生存在由他人代寫、買賣論文的學術作假的行為,均撤銷其所獲碩士學位,收回、注銷碩士學位證書。澎湃新聞注意到…

FFMpeg命令行基礎

參考鏈接 FFMpeg視頻播放器的制作-雷霄驊(去除電流音版本)_嗶哩嗶哩_bilibili音視頻處理 ffmpeg初級開發 命令行工具-實用命令_MY CUP OF TEA的博客-CSDN博客 介紹 FFMpeg是視頻播放和轉碼的內核 使用 win中ffmpeg.exe用于視頻轉碼簡單命令&#xff1…

悲觀鎖和樂觀鎖_面試必備之樂觀鎖與悲觀鎖

何謂悲觀鎖與樂觀鎖樂觀鎖對應于生活中樂觀的人總是想著事情往好的方向發展,悲觀鎖對應于生活中悲觀的人總是想著事情往壞的方向發展。這兩種人各有優缺點,不能不以場景而定說一種人好于另外一種人。大家可以點擊加群【JAVA架構知識學習討論群】47398464…

Microsoft Visual Studio2019環境下搭建FFmpeg開發環境

參考鏈接 《基于 FFmpeg SDL 的視頻播放器的制作》課程的視頻_雷霄驊的博客-CSDN博客_雷霄驊ffmpeg視頻教程小學期課程資料 - 基于FFmpegSDL的視頻播放器的制作.zip_免費高速下載|百度網盤-分享無限制輔助參考鏈接使用VS2019創建項目,添加文件和庫地址_MY CUP OF …

vue process.env獲取不到_從文檔開始,重學vue(下)源碼級別

此篇文章主要是從應用及源碼層面講解vue部分常用api,閱讀起來可能略有難度,新手可以看《從文檔開始,重學vue(上)》示例代碼均在vue-cli3中完成Vue.extend()可以使用 extend 創建一個子類,該方法通常用于構建全局組件,如彈框組件等,下面我們就用它來制作個全局alert組件吧首先我…

Microsoft Visual Studio2019環境下搭建SDL開發環境

參考鏈接 《基于 FFmpeg SDL 的視頻播放器的制作》課程的視頻_雷霄驊的博客-CSDN博客_雷霄驊ffmpeg視頻教程小學期課程資料 - 基于FFmpegSDL的視頻播放器的制作.zip_免費高速下載|百度網盤-分享無限制輔助參考鏈接VS自動鏈接到Windows上隨vcpkg安裝的SDL2庫 | 碼農俱樂部 - G…

不關注公眾號可以獲取openid嗎_微信公眾號粉絲遷移

目錄 [toc] 微信公眾號遷移 正常的公眾號遷移直接通過微信操作就可以,如下圖。但是因為udb數據里面存的是遷移前公眾號的openid以及unionid,需要自行獲取新舊openid以及unionid。 舊的用戶信息要在遷移之前獲取,第三步點擊同意之后就公眾號的接口就調不通…

建筑專業規范大全 2020版_房屋建筑工程現行規范標準目錄匯編(2020版)—建筑電氣...

房屋建筑工程現行規范標準目錄匯編(2020版)建筑電氣規范編號規范名稱GB 50034-2013建筑照明設計標準GB 50052-2009供配電系統設計規范GB 50053-201320kV及以下變電所設計規范GB 50057-2010建筑物防雷設計規范GB 50147-2010電氣裝置安裝工程 高壓電器施工及驗收規范GB 50148-201…

基于Microsoft Visual Studio2019環境編寫ffmpeg視頻解碼代碼

舊代碼 舊代碼使用了很多過時的API,這些API使用后,vs會報編譯器警告 (級別 3) C4996的錯誤即 函數被聲明為已否決 報 C4996的錯誤 // test_ffmpeg.cpp : 此文件包含 "main" 函數。程序執行將在此處開始并結束。 // #define SDL_MAIN_HANDLED …

16進制轉double dotnet_終于把計算機進制弄明白了!

And theres one thing that I need from you我只需要你為我做一-件事Can you come through, through待在我的身邊就好Through, yeah你可以撫慰一切不滿And theres one thing that I need from you你可以過來Can you come through?待在我的身邊嗎-comethruJeremy Zucker進制進制…

FFmpeg源代碼簡單分析-架構圖-解碼

參考鏈接 FFmpeg源代碼結構圖 - 解碼_雷霄驊的博客-CSDN博客_ffmpeg雷霄驊函數背景色 函數在圖中以方框的形式表現出來。不同的背景色標志了該函數不同的作用: 粉紅色背景函數:FFmpeg的API函數。白色背景的函數:FFmpeg的內部函數。黃色背景…

JUnit單元測試筆記

#01 JUnit簡介 1.在項目工程中的Library,add 一個JUnit的Jar包,按需要添加JUnit 3 或 JUnit 4(分為被測試類與測試類較佳)。 2.單元測試是由程序員完成的。 3.Java 5 之前的版本只能 用JUnit 4前的版本(因為JUnit 4用到Java 5的…

jqery獲取每個月天數_三年級《年、月、日》單元重要知識點整理匯總,以及難點題型解析...

昨天給大家分享了《計算經過的時間》問題,今天給大家分享的是《年、月、日》單元中重要的幾個知識點,以及難點題型解析。知識點1 感知年、月、日一、結合生活實際,看看下面事情需要經過多少時間。跑完100米大約需要經過十幾(秒)。2.打一場籃球…

FFmpeg源代碼簡單分析-架構圖-編碼

參考鏈接 FFmpeg源代碼結構圖 - 編碼_雷霄驊的博客-CSDN博客_ffmpeg 源碼函數背景色 函數在圖中以方框的形式表現出來。不同的背景色標志了該函數不同的作用: 粉紅色背景函數:FFmpeg的API函數。白色背景的函數:FFmpeg的內部函數。黃色背景的…

為革命,保護視力——為Eclipse更換暗黑皮膚及編輯頁面的字體顏色主題

1.在Eclipse中的菜單欄的Help -> Eclipse Market 的 Search欄中輸入 Eclipse Moonrise UI Theme ,之后自己執生啦(確保上網配置正確)。 2.與上面操作類似,輸入 Eclipse Color Theme,選擇安裝。 3.選擇菜單欄的Win…

python函數可以作為容器對象嗎_正確理解Python函數是第一類對象

正確理解 Python函數,能夠幫助我們更好地理解 Python 裝飾器、匿名函數(lambda)、函數式編程等高階技術。函數(Function)作為程序語言中不可或缺的一部分,太稀松平常了。但函數作為第一類對象(First-Class Object)卻是 Python 函數的一大特性。那到底什么…

FFmpeg源代碼簡單分析-通用- av_register_all()

參考鏈接 ffmpeg 源代碼簡單分析 : av_register_all()_雷霄驊的博客-CSDN博客_av_register_all()從學齡前開始解讀FFMPEG代碼 之 avcodec_register_all函數_zzyincsdn的博客-CSDN博客

@suppressWarnings(unchecked)及其相關屬性在Java中意思

首先suppressWarnings("unchecked")是JDK1.5中新加入的Annotation語法,用來壓制警告信息的。 編寫代碼時,有時會提示一些警告(例如:使用已經廢棄的類,沒有加入泛型等),如果不想讓程序…

FFmpeg源代碼簡單分析-通用-avcodec_register_all()

參考鏈接 ffmpeg 源代碼簡單分析 : avcodec_register_all()_雷霄驊的博客-CSDN博客

pythonsklearn乳腺癌數據集_Python的Sklearn庫中的數據集

一、Sklearn介紹scikit-learn是Python語言開發的機器學習庫,一般簡稱為sklearn,目前算是通用機器學習算法庫中實現得比較完善的庫了。其完善之處不僅在于實現的算法多,還包括大量詳盡的文檔和示例。其文檔寫得通俗易懂,完全可以當…