FFplay文档解读-12-协议二

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

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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,后跟冒号。对于布尔值,数据必须分别为01表示FALSETRUE。同样,对于对象,数据必须分别为01才能结束或开始对象。可以通过在类型前加上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

要发布到受密码保护的服务器,请分别传递playpathapp名称:

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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值