名稱
librtmp − rtmpdump real-time messaging protocol api庫
rtmpdump rtmp(librtmp, -lrtmp)簡介
#include描述
實時流協議(real-timemessaging protocol,rtmp)是用於網際網路上傳輸視音訊資料的網路協議。本api提供了支援rtmp, rtmpt,rtmpe, rtmp rtmps以及以上幾種協議的變種(rtmpte, rtmpts)協議所需的大部分客戶端功能以及少量的伺服器功能。儘管adobe公司已經公布了rtmp協議規範(rtmp specification),但是本工程並不是通過adobe的協議規範而是通過逆向工程的方式完成的。因此,它的執行方式可能和公布的協議規範有所偏離,但是一般情況下它和adobe的客戶端的執行方式是一模一樣的。選項rtmpdump 軟體包含乙個基本的客戶端:rtmpdump,一些示例伺服器和乙個用來提供對rtmp協議進行支援的庫(librtmp)。本頁面對librtmp的函式進行乙個概述。 這些函式可以在 -lrtmp 庫中找到。其他還有很多函式,但是還沒有為這些函式寫文件。
基本的操作如下文所述。
rtmp_alloc() :用於建立乙個rtmp會話的控制代碼。
rtmp_init():初始化控制代碼。
rtmp_setupurl():設定會話的引數。
rtmp_connect():建立rtmp鏈結中的網路連線(netconnection)。
rtmp_connectstream():建立rtmp鏈結中的網路流(netstream)。
rtmp_read():讀取rtmp流的內容。
客戶端可以在呼叫rtmp_connect()之前呼叫rtmp_enablewrite(),然後在會話開始之後呼叫rtmp_write()。
當rtmp_read()返回0 位元組的時候,代表流已經讀取完畢,而後可以呼叫rtmp_close()
rtmp_free():用於清理會話。
所有的資料都使用 flv 格式進行傳輸。乙個基本的會話需要乙個rtmp url。rtmp url 格式如下所示:
支援普通的,隧道的,以及加密的會話。
其他附加的選項可以在url的後面新增以空格為間隔符的「key=value」形式的字串。
網路(network)引數例子這些選項定義了如何連線乙個流**伺服器。
socks=host:port
使用指定
socks4
**。
連線(connection)引數
這些選項定義了rtmp連線(connect)請求訊息的內容。如果沒有提供正確的值,流**伺服器會拒絕連線請求。
name
tcurl=url
pageurl=url
流**所在的網頁的url。預設情況下沒有被傳送的價值。
swfurl=url
flashver=version
conn=type:data
任意amf資料追加到connect,型別說明,
b 布林型
n 數字
s 字串
o 物件
z 空對於布林型必須是0或1作為false或true,
對於物件資料必須以0或1分別作為結束和開始的標制,子物件中資料項前加字首型別n,並指定值名稱,例如:
-c b:1 -c s:authme -c o:1 -c nn:code:1.23-c ns:flag:ok -c o:0
會話(session)引數
這些選項在連線成功後生效。
playpath=path
覆蓋rtmp url解析的playpath,rtmpdump有時不能正確解析,通過該選項明確。
playlist=0|1
live=0|1
指定**是實時流。在實時流中沒有恢復和搜尋。
subscribe=path
訂閱的實時流名稱。預設playpath。
start=num
開始到流的秒數(num),實時流無效。
stop=num
停止到流的秒數(num)。
buffer=num
設定緩衝時間,單位毫秒。 預設值36000000。
timeout=num
num秒後沒有收到任何資料會話超時,預設值120。
安全(security)引數
這些選項處理額外的身份驗證,來自伺服器的請求。
token=key
輸入安全令牌響應,如果伺服器需要使用安全令牌驗證。
jtv=json
json令牌用於傳統justin.tv伺服器 ,呼叫netstream.authenticate.ushertoken。
swfvfy=0|1
swfage=days
指定使用快取的swf資訊天數,然後重新檢查,使用0為經常檢查,如果檢查顯示swf具有相同的修改時間戳,它不會被再次檢索。
rtmp_setupurl()使用的乙個例子字串:參見
rtmpdump(1),rtmpgw(8)作者
andrej stepanchuk, howard chu,the flvstreamer team翻譯的有的地方還不是很通順,以後再改進
libRTMP使用說明
名稱 librtmp rtmpdump real time messaging protocol api 庫 rtmpdump rtmp librtmp,lrtmp 簡介 include 描述 實時流協議 real timemessaging protocol,rtmp 是用於網際網路上傳輸視音訊資...
libRTMP使用說明
名稱 librtmp rtmpdump real time messaging protocol api 庫 rtmpdump rtmp librtmp,lrtmp 簡介 include 描述 實時流協議 real timemessaging protocol,rtmp 是用於網際網路上傳輸視音訊資...
libRTMP使用說明
名稱 librtmp rtmpdump real time messaging protocol api 庫 rtmpdump rtmp librtmp,lrtmp 簡介 include 描述 實時流協議 real timemessaging protocol,rtmp 是用於網際網路上傳輸視音訊資...