1. 程式人生 > >[H264編解碼引數] SEI

[H264編解碼引數] SEI

SEI

補充增強資訊單元 :

SEI 屬於 [RTP header] + 單一NAL單元模式 ,所以RTP包結構如下

 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|V=2|P|X|  CC   |M|     PT      |       sequence number         |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                           timestamp                           |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|           synchronization source (SSRC) identifier            |
+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+
|            contributing source (CSRC) identifiers             |
|                             ....                              |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|F|NRI|  type   |                                               |
+-+-+-+-+-+-+-+-+                                               |
|                                                               |
|               Bytes 2..n of a Single NAL unit                 |
|                                                               |
|                               +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                               :...OPTIONAL RTP padding        |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

先看 抓到的 dump

0000   80 60 e2 1f ff 6d 85 0f c6 0a 3f ef 06 05 ff ff   .`â.ÿm..Æ.?ï..ÿÿ
0010   ff 14 dc 45 e9 bd e6 d9 48 b7 96 2c d8 20 d9 23   ÿ.ÜEé½æÙH·.,Ø Ù#
0020   ee ef 78 32 36 34 20 2d 20 63 6f 72 65 20 31 34   îïx264 - core 14
0030   32 20 72 32 34 33 31 20 61 63 37 36 34 34 30 20   2 r2431 ac76440 
0040   2d 20 48 2e 32 36 34 2f 4d 50 45 47 2d 34 20 41   - H.264/MPEG-4 A
0050   56 43 20 63 6f 64 65 63 20 2d ...

在上面12個byte是 [RTP Header] 對應的碼流 和PPS \SPS一樣的RTP Header

80 60 e2 1f 
ff 6d 85 0f 
c6 0a 3f ef 
====>轉化 二進位制
1000 0000 0110 0000 1110 0010 0001 1111 v=2 p=0 x=0 CC=0 M=0 PT=96 SN=57887 
1111 1111 0110 1101 1000 0101 0000 1111 timestamp 
1100 0110 0000 1010 0011 1111 1110 1111 ssrc 

對應wireshark 解析

Real-Time Transport Protocol
    10.. .... = Version: RFC 1889 Version (2)
    ..0. .... = Padding: False
    ...0 .... = Extension: False
    .... 0000 = Contributing source identifiers count: 0
    0... .... = Marker: False
    Payload type: DynamicRTP-Type-96 (96)
    Sequence number: 57887
    Timestamp: 4285367567
    Synchronization Source identifier: 0xc60a3fef (3322560495)

根據單一NAL單元模式 判斷 前1byte 是[NALU Header]

0000   06 05 ff ff ff 14 dc 45 e9 bd e6 d9 48 b7 96 2c   ..ÿÿÿ.ÜEé½æÙH·.,
0010   d8 20 d9 23 ee ef 78 32 36 34 20 2d 20 63 6f 72   Ø Ù#îïx264 - cor
0020   65 20 31 34 32 20 72 32 34 33 31 20 61 63 37 36   e 142 r2431 ac76
0030   34 34 30 20 2d 20 48 2e 32 36 34 2f 4d 50 45 47   440 - H.264/MPEG
0040   2d 34 20 41 56 43 20 63 ....

===>  轉化 第一個位元組06
0000 0110  F=0 NRI=00 說明幀不重要 type=6 說明是SEI   

wireshark 解析

NAL unit header or first byte of the payload
    0... .... = F bit: No bit errors or other syntax violations
    .00. .... = Nal_ref_idc (NRI): 0
    ...0 0110 = Type: NAL unit - Supplemental enhancement information (SEI) (6)

剩下的就看下H264 NAL Unit Payload NALU的負載

沒有完全解析出來,又是不重要的部分.

相關推薦

[H264解碼引數] SEI

SEI 補充增強資訊單元 : SEI 屬於 [RTP header] + 單一NAL單元模式 ,所以RTP包結構如下 0 1 2 3 0 1 2 3

[H264解碼引數] SPS

#前言 RTP完整流程 已經 解釋了協議 所以要涉及具體的log分析 分為: SPS \ PPS\I幀\非I幀\FU-A SPS 序列引數集合 SPS 屬於 [RTP header] + 單一NAL單元模式 ,所以RTP包結構如下 0

H264 解碼協議詳解

1.、什麼是 H264? H264 是 MPEG-4 標準所定義的最新編碼格式,同時也是技術含量最高、代表最新技術水平的視訊編碼格式之一,標準寫法應該是H.264 H264 視訊格式是經過有失真壓縮的,但在技術上儘可能做的降低儲存體積下獲得較好影象質量和低頻寬影象快速傳輸。

WEBRTC 支援H264解碼

 WEBRTC視訊編解碼支援H264 VP8 VP9 但是預設是VP8 ,根據SDP描述協商 WEBRTC H264編碼採用OPENH264 解碼採用FFMPEG 一 讓WEBRTC支援H264編碼 1. 修改配置支援H264編碼  webrtc/build/commo

關於視訊H264解碼的應用實現

專案要用到視訊編解碼,最近半個月都在搞,說實話真是走了很多彎路,浪費了很多時間。將自己的最終成果記錄於此,期望會給其他人提供些許幫助。   參考教程: 整體過程流程如下: 顯而易見,整個過程分為三個部分:採集、

讓WebRTC支援H264解碼

https://blog.csdn.net/foruok/article/details/69525039 最近實驗了下如何讓WebRTC支援H264編碼,記錄下,供有需要的人蔘考。 說明一下,我是在 Ubuntu Server 14.04 下編譯的 WebRTC ,使用 native(C+

x264 ffmpeg解碼引數筆記

X264 ffmpeg 1、位元速率: 碼流(Data Rate),是指視訊檔案在單位時間內使用的資料流量 三種可選的位元速率控制方法(bitrate, CQP,CRF), 選擇的順序是 bitrate > QP > CRF QP是固定量化引

H264/AVC 視訊解碼一些基本知識

本篇對學習H264常見的知識點做個備註。 1.H264編碼位元速率設定 對視訊進行編碼時,位元速率和視訊質量是一對矛盾的話題。一般位元速率越大,視訊丟棄冗餘資訊就越少,視訊質量就越高。但是位元速率達到一定程度,視訊質量人類無法識別,所以每種解析度都有一個閾值,編碼時按照閾值即可。一

h264視訊解碼

KevinLib開發類庫說明本類庫為快速發視訊系統必備參考之一,實現介面簡單,開放原始碼,可以無限制的重複使用 開發工具 VC++7.0 實現了視訊採集,音訊採集,壓縮解壓編碼:H264,MPEG4,WMV9,DIVX,XVID等 另外類庫裡有一些檔案操作類,介面十分簡單,十分鐘就可以建

【VP9】libvpx在Windows和Linux平臺下的編譯和vp9解碼器的命令列引數

=================================================================== 參考:https://www.cnblogs.com/endv/p/6866947.html      &

【H.264/AVC視訊解碼技術詳解】 九、序列引數集Sequence Paramater Set(SPS)解析

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

spring mvc自定義過濾器filter實現對請求引數解碼的程式碼

百度,google了半天即使再萬能的stackoverflow上也沒有得到解答,今天偶然間發現springmvc註解@RequestParam不是通過HttpServletRequest.java的getParameter(String name)方法得到的引數值,而

H264視訊傳輸、解碼----RTSP協議

RTSP(Real Time Streaming Protocol), 實時流傳輸協議, 它是TCP/IP協議體系中的一個應用層協議 它是對流媒體進行控制 的網路控制協議,可以對流媒體提供諸如播放、暫停、快進、停止等操作,它負責定義具體的控制訊息、操作方法

JS中URL引數解碼

HTML中的$("form").serialize()函式,在submit按鈕點選時,將form表單中含有name的input整理成一個“name=aaa&pass=bbb”這樣的字串,使用g

各種音視訊解碼學習詳解 h264 ,mpeg4 ,aac 等所有音視訊格式

媒體業務是網路的主要業務之間。尤其移動網際網路業務的興起,在運營商和應用開發商中,媒體業務份量極重,其中媒體的編解碼服務涉及需求分析、應用開發、釋放license收費等等。最近因為專案的關係,需要理清媒體的codec,比較搞的是,在豆丁網上看運營商的規範 標準,同一運營商同樣的業務在不同文件中不同的要

各種音視訊解碼學習——————詳解 h264 ,mpeg4 ,aac 等所有音視訊格式

媒體業務是網路的主要業務之間。尤其移動網際網路業務的興起,在運營商和應用開發商中,媒體業務份量極重,其中媒體的編解碼服務涉及需求分析、應用開發、釋放license收費等等。最近因為專案的關係,需要理清媒體的codec,比較搞的是,在豆丁網上看運營商的規範 標準,同一運

IP通信中音頻解碼技術與抗丟包技術概要

自適應 b+ 極致 較高的 嵌入式 根據 電子 dshow 部分 此文較長,建議收藏起來看。 一、一個典型的IP通信模型 二、Server2Server技術分類 Server2Server這塊也是一個專門的領域,這裏只簡單分個類。 1、同一國家相同運營商之間:

HDBn解碼原理 n階高密度雙極性碼

規則 如果 span 不變 自己 這就是 color 密度 一個 /*------------------------------------------------------------------ HDB3 編碼解碼原理     // 轉載 ----------

關於Tomcat上請求的解碼問題

tomcat 編碼最近翻閱《深入分析 Java Web 技術內幕》(作者:許令波),關於Tomcat上Web請求的編解碼問題,少了一個小點,可能影響了部分讀者的理解,我特意查證了一下,特總結如下:1. 請求的PathInfo部分用Tomcat的Connector元素的URIEncoding屬性指定的編碼來解碼

FFMPEG實現H264解碼(從源代碼角度)

分配內存 cpp ide ram 變換 tools sign coder clip 農歷2014年底了,將前段時間工作中研究的FFMPEG解碼H264流程在此做一下整理,也算作年終技術總結了! H264解碼原理: H264的原理參考另一篇博文 http://blog.c