rtmpdump命令列詳解

2021-10-10 03:22:32 字數 3765 閱讀 5597

退出狀態

環境變數

​ rtmpdump是乙個命令列工具,它可以接收通過rtmp協議傳輸的流**內容,並轉存下來。

​ 支援rtmp以及其變種協議,也支援安全加密鏈路以及加密的會話。

​ 這些選項用於定義如何連線**伺服器。

–rtmp -rurl

​ 指定伺服器以及**內容的url。

–host -nhostname

​ 指定伺服器的主機名,這個引數優先順序更高,會覆蓋rtmp url中的主機名。

–port -cport

​ 指定伺服器的埠號,這個引數優先順序更高,會覆蓋rtmp url中的埠號。

–protocol -lnumber

​ 指定伺服器的協議,這個引數優先順序更高,會覆蓋rtmp url中的協議。

​ 可使用的值以及其含義如下:

​ 0 = rtmp

​ 1 = rtmpt

​ 2 = rtmpe

​ 3 = rtmpte

​ 4 = rtmps

​ 5 = rtmpts

–socks -shost:port

​ 指定要使用的socks4**位址。

​ 這些選項用於指定rtmp連線中傳送的請求資料報中的內容。如果請求資料報中沒有提供正確的值,**伺服器可能會拒絕連線請求。

–tcurl -turl

–pageurl -purl

​ 嵌入網頁的**的url。預設情況下不傳送任何值。

–swfurl -surl

–flashver -fversion

–auth -ustring

​ 驗證字串,它會追加到connect message的末尾。使用這個選項,實際上將會追加乙個布林值true然後才是這個驗證字串。這個選項只有某些特殊的伺服器需要,而且已經被廢棄。現在我們使用**–conn -c**選項來替換它。

–conn -ctype:data

​ 追加在connect message末尾的任意amf資料。type的取值為:b表示boolean,n表示number,s表示string,o表示object,z表示null。對於boolean值來說,data的取值必須為:0,1,false,true。同樣地,對於object,data必須使用0表示乙個物件的結束,1表示乙個物件的開始。我們可以命名子物件中的資料項,這是通過在type前加上乙個』n』,然後在value之前指定名稱來完成的。例如:nb:myflag:1。這個選項可以多次使用,這樣就可以構造出任意的amf序列,例如:

−c b:1 −c s:authme −c o:1 −c nn:code:1.23 −c ns:flag:ok −c o:0
​ rtmp傳送connect message來連線伺服器,以下選項在連線成功後起作用。

–playpath -ypath

​ 指定要請求的rtmp伺服器上**流的路徑,這個引數優先順序更高,會覆蓋rtmp url中的playpath部分。有時候,rtmpdump不能從rtmp url中自動解析出正確的playpath,這時就需要我們使用這個選項明確指定它。

–playlist -y

–live -v

​ 指出當前的**流是實時流。在實時流上不能進行resume和seek操作。

–subscribe -dstream

​ 要訂閱的實時流或直播流的名稱。預設為playpath。

–resume -e

–skip -knum

​ 當resume流程中查詢最後乙個關鍵幀時跳過的關鍵幀的數量。如果常規的resume失敗時,這個設定可能會有用。預設為0。

–start -anum

​ 從流的num秒處開始傳輸。本選項對實時流無效。

–stop -bnum

​ 在流的num秒處停止傳輸。

-buffer -bnum

​ 設定緩衝時間為num毫秒。預設為36000000。

–timeout -mnum

​ 中斷時間,當我們在一段時間內沒有收到伺服器的任何資料,我們就認為與伺服器的連線斷開了,這個選項用於指定中斷的時間。預設為120。

​ 這些選型用於處理來自伺服器的額外的驗證請求。

–token -tkey

​ securetoken response中要使用的key。當伺服器需要乙個securetoken驗證時使用。

-jtv -jjson

​ 被 legacy justin.tv 伺服器使用的json token。呼叫netstream.authenticate.ushertoken。

–swfhash -whexstring

​ 壓縮後的swf檔案的sha256 hash值。如果伺服器使用swf驗證,那麼可能需要使用這個選型,另外請檢視下面的**–swfvfy選項。請注意,它的值為16進製制字串值。–swfsize**選項總是和這個選項一起配合使用。

–swfsize -xnum

​ 壓縮後的swf檔案的大小。如果伺服器使用swf驗證,那麼可能需要使用這個選型,另外請檢視下面的**–swfvfy選項。–swfhash**選項總是和這個選項一起配合使用。

–swfvfy -wurl

–swfage -xdays

​ 指定快取的swf資訊的有效天數,超過這個天數後,將重新檢查。當指定為0時表示每次都需要檢測swf url。注意,如果檢查顯示swf檔案具有與以前相同的修改時間戳,則不會再次檢索該檔案。

–flv -ooutput

​ 指定輸出檔名稱。如果名稱為 - 或者不指定,流會寫到 stdout。

–hashes -#

​ 不使用預設的位元組計數,而是使用#來顯示流的進度,每個#表示1%進度。

–quiet -q

​ 禁止所有的命令輸出,即將log level設定為rtmp_logcrit。

–verbose -v

​ 詳細的命令輸出,即將log level設定為rtmp_logdebug。

–debug -z

​ 全部的命令輸出,即將log level設定為rtmp_logcrit。此時輸出非常冗長,包括所有message資料報的16進製表示。

–help -

​ 顯示rtmpdump的使用用例幫助文件。

​ 0:命令列執行成功

​ 1:不可恢復的錯誤

​ home:其中必須要包含 .swfinfo 檔案的路徑,其中包含swf驗證資訊的快取。

GCC 命令列詳解

1。gcc包含的c c 編譯器 gcc,cc,c g gcc和cc是一樣的,c 和g 是一樣的,沒有看太明白前面這半句是什 麼意思 一般c程式就用gcc編譯,c 程式就用g 編譯 2。gcc的基本用法 gcc test.c這樣將編譯出乙個名為a.out的程式 gcc test.c o test這樣將...

Gcc命令列詳解

gcc命令列詳解 1 gcc包含的c c 編譯器 gcc cc c g gcc和cc是一樣的,c 和g 是一樣的,一般c程式就用gcc編譯,c 程式就用g 編譯 2 gcc的基本用法 gcc test.c這樣將編譯出乙個名為a.out的程式 gcc test.c o test這樣將編譯出乙個名為te...

GCC 命令列詳解

1。gcc包含的c c 編譯器 gcc,cc,c g gcc和cc是一樣的,c 和g 是一樣的,沒有看太明白前面這半句是什 麼意思 一般c程式就用gcc編譯,c 程式就用g 編譯 2。gcc的基本用法 gcc test.c這樣將編譯出乙個名為a.out的程式 gcc test.c o test這樣將...