2017-05-11 47 views
0

我使用發出RTMP流的第三方服務器,但是我沒有完全控制該服務器。如何判斷一個幀是否是RTMP流中的一個關鍵幀

但是,我仍然可以讓它發射一個rtmp流到我選擇的任何位置。

第三方告訴我他們發出的關鍵幀速率至少爲每秒1個。但我只想驗證自己

我試圖使用tcpdump來檢查我的傳入RTMP流。

但我不知道如何知道如果一個數據包包含關鍵幀?我如何知道關鍵幀到達服務器的頻率?

+0

查看flv標籤標題中的幀類型值。 – szatmary

+0

我該怎麼做? @szatmary。有我需要的工具嗎?我的服務器在aws上。我應該安裝什麼來收聽1935端口並檢查傳入流? – user1017674

+0

當你對這個問題進行了研究時,看到他們在你的環境中會有什麼樣的選擇? – szatmary

回答

-1

我能夠根據教程here設置nginx-rtmp服務器來反映第三方流。

然後使用ffprobe獲取關鍵幀。

./ffprobe -select_streams v -show_frames -show_entries frame=pict_type -of csv rtmp://<server>/live/<stream-name> | grep -n I 

該命令行將輸出一個索引,然後是一個包含關鍵字「I」的幀。根據wikipedia,「I」幀基本上是關鍵幀。

+0

這解決了手頭的問題。如果你們有更好的解決方案,請寫下來,而不是投下來。 – user1017674

相關問題