16.18 rtmp
实时消息传递协议。
实时消息传递协议(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
(兼容; <libavformat版本>)。)
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/
16.19 rtmpe
加密的实时消息传递协议。
加密实时消息传递协议(RTMPE
)用于在标准加密原语内流式传输多媒体内容,包括Diffie-Hellman
密钥交换和HMACSHA256
,生成一对RC4
密钥。
16.20 rtmps
通过安全SSL
连接的实时消息传递协议。
实时消息传递协议(RTMPS
)用于跨加密连接流式传输多媒体内容。
16.21 rtmpt
通过HTTP
进行管道传输的实时消息传递协议。
通过HTTP(RTMPT)
管道传输的实时消息传递协议用于在HTTP
请求中流式传输多媒体内容以遍历防火墙。
16.22 rtmpte
通过HTTP
管道传输的加密实时消息传递协议。
通过HTTP
管道传输的加密实时消息传递协议(RTMPTE
)用于在HTTP
请求中流式传输多媒体内容以遍历防火墙。
16.23 rtmpts
通过HTTPS
进行管道传输的实时消息传递协议。
通过HTTPS(RTMPTS)
管道传输的实时消息传递协议用于在HTTPS
请求中流式传输多媒体内容以遍历防火墙。
16.24 libsmbclient
libsmbclient
允许用户操作CIFS/SMB
网络资源。
语法如下:
smb://[[domain:]u