Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Contribute to GitLab
Sign in / Register
Toggle navigation
F
ffmpeg.wasm-core
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Linshizhi
ffmpeg.wasm-core
Commits
889509d2
Commit
889509d2
authored
Nov 29, 2013
by
Stefano Sabatini
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
doc/ffserver: add "Detailed description" chapter
Also move FFM section up in the file, and rename it.
parent
0bacc320
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
108 additions
and
13 deletions
+108
-13
ffserver.texi
doc/ffserver.texi
+108
-13
No files found.
doc/ffserver.texi
View file @
889509d2
...
...
@@ -42,6 +42,114 @@ For each feed you can have different output streams in various
formats, each one specified by a @code
{
<Stream>
}
section in the
configuration file.
@chapter Detailed description
@command
{
ffserver
}
works by forwarding streams encoded by
@command
{
ffmpeg
}
, or pre-recorded streams which are read from disk.
Precisely, @command
{
ffserver
}
acts as an HTTP server, accepting POST
requests from @command
{
ffmpeg
}
to acquire the stream to publish, and
serving HTTP clients GET requests with the stream media content.
A feed is an @ref
{
FFM
}
stream created by @command
{
ffmpeg
}
, and sent to
a port where @command
{
ffserver
}
is listening.
Each feed is identified by a unique name, corresponding to the name
of the resource published on @command
{
ffserver
}
, and is configured by
a dedicated @code
{
Feed
}
section in the configuration file.
The feed publish URL is given by:
@example
http://@var
{
ffserver
_
ip
_
address
}
:@var
{
http
_
port
}
/@var
{
feed
_
name
}
@end example
where @var
{
ffserver
_
ip
_
address
}
is the IP address of the machine where
@command
{
ffserver
}
is installed, @var
{
http
_
port
}
is the port number of
the HTTP server (configured through the @option
{
Port
}
option), and
@var
{
feed
_
name
}
is the name of the corresponding feed defined in the
configuration file.
Each feed is associated to a file which is stored on disk. This stored
file is used to allow to send pre-recorded data to a player as fast as
possible when new content is added in real-time to the stream.
A "live-stream" or "stream" is a resource published by
@command
{
ffserver
}
, and made accessible through the HTTP protocol to
clients.
A stream can be connected to a feed, or to a file. In the first case,
the published stream is forwarded from the corresponding feed
generated by a running instance of @command
{
ffmpeg
}
, in the second
case the stream is read from a pre-recorded file.
Each stream is identified by a unique name, corresponding to the name
of the resource served by @command
{
ffserver
}
, and is configured by
a dedicated @code
{
Stream
}
section in the configuration file.
The stream access URL is given by:
@example
http://@var
{
ffserver
_
ip
_
address
}
:@var
{
http
_
port
}
/@var
{
stream
_
name
}
[@var
{
options
}
]
@end example
@var
{
stream
_
name
}
is the name of the corresponding stream defined in
the configuration file. @var
{
options
}
is a list of options specified
after the URL which affects how the stream is served by
@command
{
ffserver
}
.
In case the stream is associated to a feed, the encoding parameters
must be configured in the stream configuration. They are sent to
@command
{
ffmpeg
}
when setting up the encoding. This allows
@command
{
ffserver
}
to define the encoding parameters used by
the @command
{
ffmpeg
}
encoders.
The @command
{
ffmpeg
}
@option
{
override
_
ffserver
}
commandline option
allows to override the encoding parameters set by the server.
Multiple streams can be connected to the same feed.
For example, you can have a situation described by the following
graph:
@example
_________
__________
| | | |
ffmpeg 1 -----| feed 1 |-----| stream 1 |
\
|
_________
|
\
|
__________
|
\ \
\ \
__________
\ \
| |
\ \|
stream 2 |
\
|
__________
|
\
\
_________
__________
\
| | | |
\|
feed 2 |-----| stream 3 |
|
_________
| |
__________
|
_________
__________
| | | |
ffmpeg 2 -----| feed 3 |-----| stream 4 |
|
_________
| |
__________
|
_________
__________
| | | |
| file 1 |-----| stream 5 |
|
_________
| |
__________
|
@end example
@anchor
{
FFM
}
@section FFM, FFM2 formats
FFM and FFM2 are formats used by ffserver. They allow storing a wide variety of
video and audio streams and encoding options, and can store a moving time segment
of an infinite movie or a whole movie.
FFM is version specific, and there is limited compatibility of FFM files
generated by one version of ffmpeg/ffserver and another version of
ffmpeg/ffserver. It may work but it is not guaranteed to work.
FFM2 is extensible while maintaining compatibility and should work between
differing versions of tools. FFM2 is the default.
@section Status stream
@command
{
ffserver
}
supports an HTTP interface which exposes the
...
...
@@ -165,19 +273,6 @@ You use this by adding the ?date= to the end of the URL for the stream.
For example: @samp
{
http://localhost:8080/test.asf?date=2002-07-26T23:05:00
}
.
@c man end
@section What is FFM, FFM2
FFM and FFM2 are formats used by ffserver. They allow storing a wide variety of
video and audio streams and encoding options, and can store a moving time segment
of an infinite movie or a whole movie.
FFM is version specific, and there is limited compatibility of FFM files
generated by one version of ffmpeg/ffserver and another version of
ffmpeg/ffserver. It may work but it is not guaranteed to work.
FFM2 is extensible while maintaining compatibility and should work between
differing versions of tools. FFM2 is the default.
@chapter Options
@c man begin OPTIONS
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment