16.11 http
HTTP
(超文本传输协议)。
该协议接受以下选项:
seekable
控制连接的可寻找性。如果设置为1
,则资源应该是可搜索的,如果设置为0
,则认为不可搜索,如果设置为-1
,如果它是可搜索的,它将尝试自动检测。默认值为-1
。
chunked_post
如果设置为1
,则对帖子使用chunked Transfer-Encoding
,默认值为1
。
content_type
为POST
消息或侦听模式设置特定内容类型。
HTTP_PROXY
设置HTTP
代理以通过例如管道传输http://example.com:1234
headers
设置自定义HTTP
标头,可以覆盖内置的默认标头。该值必须是编码标头的字符串。
multiple_requests
如果设置为1
,则使用持久连接,默认值为0
。
post_data
设置自定义HTTP
发布数据。
referer
设置Referer
标头。在HTTP
请求中包含Referer:URL
标头。
user_agent
覆盖User-Agent
标头。如果未指定,协议将使用描述libavformat
构建的字符串。 (Lavf / <version>”`)
user-agent
这是一个已弃用的选项,您可以使用user_agent
代替它。
timeout
设置基础低级操作使用的套接字I/O
操作的超时(以微秒为单位)。默认情况下,它设置为-1
,这意味着未指定超时。
reconnect_at_eof
如果设置,则将eof
视为错误并导致重新连接,这对于实时/无限流非常有用。
reconnect_streamed
如果设置,则甚至流式/非可搜索流将在错误时重新连接。
reconnect_delay_max
设置放弃重新连接的最大延迟(以秒为单位)
MIME_TYPE
导出MIME
类型。
http_version
导出HTTP
响应版本号。通常为1.0
或1.1
。
icy
如果设置为1
,则从服务器请求ICY(SHOUTcast)
元数据。如果服务器支持此功能,则应用程序必须通过读取icy_metadata_headers
和icy_metadata_packet
选项来检索元数据。默认值为1
。
icy_metadata_headers
如果服务器支持ICY
元数据,则它包含ICY
特定的HTTP
回复标头,由换行符分隔。
icy_metadata_packet
如果服务器支持ICY
元数据,并且icy
设置为1
,则它包含服务器发送的最后一个非空元数据包。应该对对流中间元数据更新感兴趣的应用程序定期轮询它。
cookies
设置将在以后的请求中发送的cookie
。每个cookie
的格式与Set-Cookie HTTP
响应字段的值相同。多个cookie
可以由换行符分隔。
offset
设置初始字节偏移量。
end_offset
尝试将请求限制为此偏移量之前的字节。
method
当用作客户端选项时,它为请求设置HTTP
方法。
当用作服务器选项时,它设置将从客户端预期的HTTP
方法。如果预期和接收的HTTP
方法不匹配,则客户端将收到错误请求响应。取消设置时,不会立即检查HTTP
方法。这将在未来被自动检测取代。
listen
如果设置为1
则启用实验性HTTP
服务器。这可用于在用作输出选项时发送数据,或在用作输入选项时使用HTTP POST
从客户端读取数据。如果设置为2
,则启用实验性多客户端HTTP
服务器。这在ffmpeg.c
中尚未实现,因此不能用作命令行选项。
# Server side (sending):
ffmpeg -i somefile.ogg -c copy -listen 1 -f ogg http://server:port
# Client side (receiving):
ffmpeg -i http://server:port -c copy somefile.ogg
# Client can also be done with wget:
wget http://server:port -O somefile.ogg
# Server side (receiving):
ffmpeg -listen 1 -i http://server:port -c copy somefile.ogg
# Client side (sending):
ffmpeg -i somefile.ogg -chunked_post 0 -c copy -f ogg http://server:port
# Client can also be done with wget:
wget --post-file=somefile.ogg http://server:port