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:]user

本文详细介绍了FFmpeg中与RTMP相关的协议,包括rtmp、rtmpe、rtmps、rtmpt、rtmpte、rtmpts等变种,以及它们在音视频流传输中的应用和配置选项。此外,还提到了其他相关协议如rtsp、sctp、srt等,为读者理解FFmpeg中的网络协议提供了全面的指导。
最低0.47元/天 解锁文章
626

被折叠的 条评论
为什么被折叠?



