ffmpeg針對rtmp協議的參數
參數 | 類型 | 說明 |
---|---|---|
rtmp_app | 字符串 | RTMP 流發佈點,又稱 APP |
rtmp_buffer | 整數 | 客戶端 buffer 大小(單位:毫秒),默認爲 3 秒 |
rtmp_conn | 字符串 | 在 RTMP 的 Connect 命令中增加自定義 AMF 數據 |
rtmp_flashver | 字符串 | 設置模擬的 flashplugin 的版本號 |
rtmp_live | 整數 | 指定 RTMP 流媒體播放類型,具體如下: any:直播或點播隨意 live:直播 recorded:點播 |
rtmp_pageurl | 字符串 | RTMP 在 Connect 命令中設置的 PageURL 字段,其爲播放時所在的 Web 頁面 URL |
rtmp_playpath | 字符串 | RTMP 流播放的 Stream 地址,或者稱爲密鑰,或者稱爲發佈流 |
rtmp_subscribe | 字符串 | 直播流名稱,默認設置爲 rtmp_playpath 的值 |
rtmp_swfhash | 二進制數據 | 解壓 swf 文件後的 SHA256 的 hash 值 |
rtmp_swfsize | 整數 | swf 文件解壓後的大小,用於 swf 認證 |
rtmp_swfurl | 字符串 | RTMP 的 Connect 命令中設置的 swfURL 播放器的 URL |
rtmp_swfverify | 字符串 | 設置 swf 認證時 swf 文件的 URL 地址 |
rtmp_tcurl | 字符串 | RTMP 的 Connect 命令中設置的 tcURL 目標發佈點地址,一般形如 rtmp://xxx.xxx.xxx/app |
rtmp_listen | 整數 | 開啓 RTMP 服務時所監聽的端口 |
listen | 整數 | 與 rtmp_listen 相同 |
timeout | 整數 | 監聽 rtmp 端口時設置的超時時間,以秒爲單位 |
ffmpeg使用示例
推流
使用rtmp_app、rtmp_playpath參數示例:
ffmpeg -re -i test.mp4 -c copy -f flv -rtmp_app live -rtmp_playpath steam rtmp://live.pingos.io
等價於
ffmpeg -re -i test.mp4 -c copy -f flv rtmp://live.pingos.io/live/stream
看出使用技巧了嗎,其他參數的值也可以用同樣的方式指定,是不是很簡單!
給rtmp地址添加參數
一般的推流和拉流地址長這樣,rtmp://xxx.xxx.xxx.xxx/app/streamname
但是很多時候我們需要服務器做一些權限驗證,就要求rtmp連接時攜帶token,我們就可以通過以下兩種方式將token帶給服務器。
ffmpeg -re -i test.mp4 -c copy -f flv -rtmp_app live -rtmp_playpath "steam?token=xxx" rtmp://live.pingos.io
ffmpeg -re -i test.mp4 -c copy -f flv "rtmp://live.pingos.io/live/stream?token=xxx"
QQ交流羣:697773082
QQ交流羣:697773082