实时消息传递协议。
实时消息传递协议(RTMP
)用于跨TCP/IP
网络流式传输多媒体内容。
语法如下:
rtmp://[username:password@]server[:port][/app][/instance][/playpath]
参数如下:
username
可选类型的用户名(主要用于发布的时候使用)。
password
可选类型的密码(主要用于发布的时候使用)。
server
RTMP
服务器的地址。
port
要使用的TCP
端口号(默认为1935
)。
app
它是要访问的应用程序的名称。它通常对应于RTMP
服务器上安装应用程序的路径(例如/ ondemand /
,/ flash / live /
等)。您也可以通过rtmp_app
选项覆盖从URI
解析的值。
playpath
它是参考app
中指定的应用程序播放的资源的路径或名称,可以以mp4:
作为前缀。您也可以通过rtmp_playpath
选项覆盖从URI
解析的值。
listen
学习地址:音视频新手快速入门必备系列-FFmpeg+SDL播放器开发实现-学习视频教程-腾讯课堂
【文章福利】免费领取更多音视频学习资料包、大厂面试题、技术视频和学习路线图,资料包括(C/C++,Linux,FFmpeg webRTC rtmp hls rtsp ffplay srs 等等)有需要的可以点击1079654574加群领取哦~
充当服务器,侦听传入连接。
timeout
等待传入连接的最长时间。意思是倾听。
此外,可以通过命令行选项(或通过AVOptions
在代码中)设置以下参数:
`rtmp_app`
要在RTMP
服务器上连接的应用程序的名称。此选项会覆盖URI
中指定的参数。
rtmp_buffer
设置客户端缓冲时间(以毫秒为单位)。默认值为3000
。
rtmp_conn
从字符串解析的额外的任意AMF连接参数,例如,像B:1 S:authMe O:1 NN:code:1.23 NS:flag:ok O:0
。每个值都以一个表示类型的字符作为前缀,B
表示布尔值,N
表示数字,S
表示字符串,O
表示对象,Z
表示null
,后跟冒号。对于布尔值,数据必须分别为0
或1
表示FALSE
或TRUE
。同样,对于对象,数据必须分别为0
或1
才能结束或开始对象。可以通过在类型前加上N
并在值之前指定名称(即NB:myFlag:1
)来命名子对象中的数据项。可以多次使用该选项来构造任意AMF序列。
rtmp_flashver
用于运行SWF
播放器的Flash
插件的版本。默认值为LNX 9,0,124,2
。 (发布时,默认为FMLE/3.0
(兼容;
rtmp_flush_interval
在同一请求中刷新的数据包数(仅限RTMPT
)。默认值为10
。
rtmp_live
指定媒体是实时流。不能在直播中恢复或寻找。默认值为any
,这意味着订户首先尝试播放在播放规范中指定的直播流。如果找不到该名称的直播流,则播放录制的流。其他可能的值是实时和记录。
rtmp_pageurl
嵌入媒体的网页的URL
。默认情况下,不会发送任何值。
rtmp_playpath
要播放或发布的流标识符。此选项会覆盖URI
中指定的参数。
rtmp_subscribe
要订阅的直播流的名称。默认情况下,不会发送任何值。仅在指定选项或rtmp_live
设置为live
时才会发送。
rtmp_swfhash
解压缩的SWF
文件的SHA256
哈希值(32
字节)。
rtmp_swfsize
SWFVerification
所需的解压缩SWF
文件的大小。
rtmp_swfurl
媒体的SWF
播放器的URL
。默认情况下,不会发送任何值。
rtmp_swfverify
播放器swf
文件的URL
,自动计算散列/大小。
rtmp_tcurl
目标流的URL
。默认为proto://host[:port]/app
。
例如,使用来自RTMP
服务器myserver
的应用程序vod
中的ffplay
读取名为sample
的多媒体资源:
ffplay rtmp://myserver/vod/sample
要发布到受密码保护的服务器,请分别传递playpath
和app
名称:
ffmpeg -re -i <input> -f flv -rtmp_playpath some/long/path -rtmp_app long/app/name rtmp://username:password@myserver/
加密的实时消息传递协议。
加密实时消息传递协议(RTMPE
)用于在标准加密原语内流式传输多媒体内容,包括Diffie-Hellman
密钥交换和HMACSHA256
,生成一对RC4
密钥。
通过安全SSL
连接的实时消息传递协议。
实时消息传递协议(RTMPS
)用于跨加密连接流式传输多媒体内容。
通过HTTP
进行管道传输的实时消息传递协议。
通过HTTP(RTMPT)
管道传输的实时消息传递协议用于在HTTP
请求中流式传输多媒体内容以遍历防火墙。
通过HTTP
管道传输的加密实时消息传递协议。
通过HTTP
管道传输的加密实时消息传递协议(RTMPTE
)用于在HTTP
请求中流式传输多媒体内容以遍历防火墙。
通过HTTPS
进行管道传输的实时消息传递协议。
通过HTTPS(RTMPTS)
管道传输的实时消息传递协议用于在HTTPS
请求中流式传输多媒体内容以遍历防火墙。
libsmbclient
允许用户操作CIFS/SMB
网络资源。
语法如下:
smb://[[domain:]u