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
4d58e4cb
Commit
4d58e4cb
authored
Jul 26, 2011
by
Anton Khirnov
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Rename ffserver to avserver.
parent
9e12f0bf
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
16 changed files
with
102 additions
and
102 deletions
+102
-102
.gitignore
.gitignore
+1
-1
Changelog
Changelog
+1
-1
Makefile
Makefile
+3
-3
avserver.c
avserver.c
+32
-32
configure
configure
+10
-10
avplay.texi
doc/avplay.texi
+1
-1
avprobe.texi
doc/avprobe.texi
+1
-1
avserver.conf
doc/avserver.conf
+7
-7
avserver.texi
doc/avserver.texi
+30
-30
ffmpeg.texi
doc/ffmpeg.texi
+3
-3
general.texi
doc/general.texi
+1
-1
ffmpeg.c
ffmpeg.c
+4
-4
ffm.h
libavformat/ffm.h
+1
-1
ffmdec.c
libavformat/ffmdec.c
+4
-4
ffmenc.c
libavformat/ffmenc.c
+2
-2
mpjpeg.c
libavformat/mpjpeg.c
+1
-1
No files found.
.gitignore
View file @
4d58e4cb
...
@@ -14,7 +14,7 @@ doxy
...
@@ -14,7 +14,7 @@ doxy
ffmpeg
ffmpeg
avplay
avplay
avprobe
avprobe
ff
server
av
server
libavcodec/*_tablegen
libavcodec/*_tablegen
libavcodec/*_tables.c
libavcodec/*_tables.c
libavcodec/*_tables.h
libavcodec/*_tables.h
...
...
Changelog
View file @
4d58e4cb
...
@@ -5,7 +5,7 @@ releases are sorted from youngest to oldest.
...
@@ -5,7 +5,7 @@ releases are sorted from youngest to oldest.
version <next>:
version <next>:
- BWF muxer
- BWF muxer
- Flash Screen Video 2 decoder
- Flash Screen Video 2 decoder
- ffplay/ffprobe
renamed to avplay/avprobe
- ffplay/ffprobe
/ffserver renamed to avplay/avprobe/avserver
version 0.7:
version 0.7:
...
...
Makefile
View file @
4d58e4cb
...
@@ -55,7 +55,7 @@ COMPILE_S = $(call COMPILE,AS)
...
@@ -55,7 +55,7 @@ COMPILE_S = $(call COMPILE,AS)
PROGS-$(CONFIG_FFMPEG)
+=
ffmpeg
PROGS-$(CONFIG_FFMPEG)
+=
ffmpeg
PROGS-$(CONFIG_AVPLAY)
+=
avplay
PROGS-$(CONFIG_AVPLAY)
+=
avplay
PROGS-$(CONFIG_AVPROBE)
+=
avprobe
PROGS-$(CONFIG_AVPROBE)
+=
avprobe
PROGS-$(CONFIG_
FFSERVER)
+=
ff
server
PROGS-$(CONFIG_
AVSERVER)
+=
av
server
PROGS
:=
$
(
PROGS-yes:%
=
%
$(EXESUF)
)
PROGS
:=
$
(
PROGS-yes:%
=
%
$(EXESUF)
)
OBJS
=
$
(
PROGS-yes:%
=
%.o
)
cmdutils.o
OBJS
=
$
(
PROGS-yes:%
=
%.o
)
cmdutils.o
...
@@ -64,7 +64,7 @@ HOSTPROGS := $(TESTTOOLS:%=tests/%)
...
@@ -64,7 +64,7 @@ HOSTPROGS := $(TESTTOOLS:%=tests/%)
TOOLS
=
qt-faststart trasher
TOOLS
=
qt-faststart trasher
TOOLS-$(CONFIG_ZLIB)
+=
cws2fws
TOOLS-$(CONFIG_ZLIB)
+=
cws2fws
BASENAMES
=
ffmpeg avplay avprobe
ff
server
BASENAMES
=
ffmpeg avplay avprobe
av
server
ALLPROGS
=
$
(
BASENAMES:%
=
%
$(EXESUF)
)
ALLPROGS
=
$
(
BASENAMES:%
=
%
$(EXESUF)
)
ALLMANPAGES
=
$
(
BASENAMES:%
=
%.1
)
ALLMANPAGES
=
$
(
BASENAMES:%
=
%.1
)
...
@@ -118,7 +118,7 @@ $(foreach D,$(FFLIBS),$(eval $(call DOSUBDIR,lib$(D))))
...
@@ -118,7 +118,7 @@ $(foreach D,$(FFLIBS),$(eval $(call DOSUBDIR,lib$(D))))
avplay.o
:
CFLAGS += $(SDL_CFLAGS)
avplay.o
:
CFLAGS += $(SDL_CFLAGS)
avplay$(EXESUF)
:
FF_EXTRALIBS += $(SDL_LIBS)
avplay$(EXESUF)
:
FF_EXTRALIBS += $(SDL_LIBS)
ffserver$(EXESUF)
:
LDFLAGS += $(FF
SERVERLDFLAGS)
avserver$(EXESUF)
:
LDFLAGS += $(AV
SERVERLDFLAGS)
$(PROGS)
:
%$(EXESUF): %.o cmdutils.o $(FF_DEP_LIBS)
$(PROGS)
:
%$(EXESUF): %.o cmdutils.o $(FF_DEP_LIBS)
$(LD)
$(LDFLAGS)
-o
$@
$<
cmdutils.o
$(FF_EXTRALIBS)
$(LD)
$(LDFLAGS)
-o
$@
$<
cmdutils.o
$(FF_EXTRALIBS)
...
...
ff
server.c
→
av
server.c
View file @
4d58e4cb
This diff is collapsed.
Click to expand it.
configure
View file @
4d58e4cb
...
@@ -83,7 +83,7 @@ Configuration options:
...
@@ -83,7 +83,7 @@ Configuration options:
--disable-ffmpeg disable ffmpeg build
--disable-ffmpeg disable ffmpeg build
--disable-avplay disable avplay build
--disable-avplay disable avplay build
--disable-avprobe disable avprobe build
--disable-avprobe disable avprobe build
--disable-
ffserver disable ff
server build
--disable-
avserver disable av
server build
--disable-avdevice disable libavdevice build
--disable-avdevice disable libavdevice build
--disable-avcodec disable libavcodec build
--disable-avcodec disable libavcodec build
--disable-avformat disable libavformat build
--disable-avformat disable libavformat build
...
@@ -915,7 +915,7 @@ CONFIG_LIST="
...
@@ -915,7 +915,7 @@ CONFIG_LIST="
ffmpeg
ffmpeg
avplay
avplay
avprobe
avprobe
ff
server
av
server
fft
fft
frei0r
frei0r
golomb
golomb
...
@@ -1492,8 +1492,8 @@ ffmpeg_select="buffer_filter"
...
@@ -1492,8 +1492,8 @@ ffmpeg_select="buffer_filter"
avplay_deps
=
"avcodec avformat swscale sdl"
avplay_deps
=
"avcodec avformat swscale sdl"
avplay_select
=
"rdft"
avplay_select
=
"rdft"
avprobe_deps
=
"avcodec avformat"
avprobe_deps
=
"avcodec avformat"
ff
server_deps
=
"avformat ffm_muxer fork rtp_protocol rtsp_demuxer"
av
server_deps
=
"avformat ffm_muxer fork rtp_protocol rtsp_demuxer"
ff
server_extralibs
=
'$ldl'
av
server_extralibs
=
'$ldl'
doc_deps
=
"texi2html"
doc_deps
=
"texi2html"
...
@@ -1637,7 +1637,7 @@ enable fastdiv
...
@@ -1637,7 +1637,7 @@ enable fastdiv
enable
ffmpeg
enable
ffmpeg
enable
avplay
enable
avplay
enable
avprobe
enable
avprobe
enable
ff
server
enable
av
server
enable
network
enable
network
enable
optimizations
enable
optimizations
enable
postproc
enable
postproc
...
@@ -1648,7 +1648,7 @@ enable swscale_alpha
...
@@ -1648,7 +1648,7 @@ enable swscale_alpha
# build settings
# build settings
SHFLAGS
=
'-shared -Wl,-soname,$$(@F)'
SHFLAGS
=
'-shared -Wl,-soname,$$(@F)'
FF
SERVERLDFLAGS
=
-Wl
,-E
AV
SERVERLDFLAGS
=
-Wl
,-E
LIBPREF
=
"lib"
LIBPREF
=
"lib"
LIBSUF
=
".a"
LIBSUF
=
".a"
FULLNAME
=
'$(NAME)$(BUILDSUF)'
FULLNAME
=
'$(NAME)$(BUILDSUF)'
...
@@ -2355,7 +2355,7 @@ case $target_os in
...
@@ -2355,7 +2355,7 @@ case $target_os in
host_libs
=
host_libs
=
;;
;;
sunos
)
sunos
)
FF
SERVERLDFLAGS
=
""
AV
SERVERLDFLAGS
=
""
SHFLAGS
=
'-shared -Wl,-h,$$(@F)'
SHFLAGS
=
'-shared -Wl,-h,$$(@F)'
enabled x86
&&
SHFLAGS
=
"-mimpure-text
$SHFLAGS
"
enabled x86
&&
SHFLAGS
=
"-mimpure-text
$SHFLAGS
"
network_extralibs
=
"-lsocket -lnsl"
network_extralibs
=
"-lsocket -lnsl"
...
@@ -2400,7 +2400,7 @@ case $target_os in
...
@@ -2400,7 +2400,7 @@ case $target_os in
SLIBSUF
=
".dylib"
SLIBSUF
=
".dylib"
SLIBNAME_WITH_VERSION
=
'$(SLIBPREF)$(FULLNAME).$(LIBVERSION)$(SLIBSUF)'
SLIBNAME_WITH_VERSION
=
'$(SLIBPREF)$(FULLNAME).$(LIBVERSION)$(SLIBSUF)'
SLIBNAME_WITH_MAJOR
=
'$(SLIBPREF)$(FULLNAME).$(LIBMAJOR)$(SLIBSUF)'
SLIBNAME_WITH_MAJOR
=
'$(SLIBPREF)$(FULLNAME).$(LIBMAJOR)$(SLIBSUF)'
FF
SERVERLDFLAGS
=
-Wl
,-bind_at_load
AV
SERVERLDFLAGS
=
-Wl
,-bind_at_load
objformat
=
"macho"
objformat
=
"macho"
enabled x86_64
&&
objformat
=
"macho64"
enabled x86_64
&&
objformat
=
"macho64"
enabled_any pic shared
||
enabled_any pic shared
||
...
@@ -2472,7 +2472,7 @@ case $target_os in
...
@@ -2472,7 +2472,7 @@ case $target_os in
add_cppflags
-D_GNU_SOURCE
add_cppflags
-D_GNU_SOURCE
add_ldflags
-Zomf
-Zbin-files
-Zargs-wild
-Zmap
add_ldflags
-Zomf
-Zbin-files
-Zargs-wild
-Zmap
SHFLAGS
=
'$(SUBDIR)$(NAME).def -Zdll -Zomf'
SHFLAGS
=
'$(SUBDIR)$(NAME).def -Zdll -Zomf'
FF
SERVERLDFLAGS
=
""
AV
SERVERLDFLAGS
=
""
LIBSUF
=
"_s.a"
LIBSUF
=
"_s.a"
SLIBPREF
=
""
SLIBPREF
=
""
SLIBSUF
=
".dll"
SLIBSUF
=
".dll"
...
@@ -3218,7 +3218,7 @@ AS_O=$CC_O
...
@@ -3218,7 +3218,7 @@ AS_O=$CC_O
CC_O=
$CC_O
CC_O=
$CC_O
DLLTOOL=
$dlltool
DLLTOOL=
$dlltool
LDFLAGS=
$LDFLAGS
LDFLAGS=
$LDFLAGS
FFSERVERLDFLAGS=
$FF
SERVERLDFLAGS
AVSERVERLDFLAGS=
$AV
SERVERLDFLAGS
SHFLAGS=
$SHFLAGS
SHFLAGS=
$SHFLAGS
YASMFLAGS=
$YASMFLAGS
YASMFLAGS=
$YASMFLAGS
BUILDSUF=
$build_suffix
BUILDSUF=
$build_suffix
...
...
doc/avplay.texi
View file @
4d58e4cb
...
@@ -170,7 +170,7 @@ Seek to percentage in file corresponding to fraction of width.
...
@@ -170,7 +170,7 @@ Seek to percentage in file corresponding to fraction of width.
@settitle AVplay media player
@settitle AVplay media player
@c man begin SEEALSO
@c man begin SEEALSO
ffmpeg(1), avprobe(1),
ff
server(1) and the Libav HTML documentation
ffmpeg(1), avprobe(1),
av
server(1) and the Libav HTML documentation
@c man end
@c man end
@c man begin AUTHORS
@c man begin AUTHORS
...
...
doc/avprobe.texi
View file @
4d58e4cb
...
@@ -122,7 +122,7 @@ with name "STREAM".
...
@@ -122,7 +122,7 @@ with name "STREAM".
@settitle avprobe media prober
@settitle avprobe media prober
@c man begin SEEALSO
@c man begin SEEALSO
ffmpeg(1), avplay(1),
ff
server(1) and the Libav HTML documentation
ffmpeg(1), avplay(1),
av
server(1) and the Libav HTML documentation
@c man end
@c man end
@c man begin AUTHORS
@c man begin AUTHORS
...
...
doc/
ff
server.conf
→
doc/
av
server.conf
View file @
4d58e4cb
...
@@ -12,7 +12,7 @@ BindAddress 0.0.0.0
...
@@ -12,7 +12,7 @@ BindAddress 0.0.0.0
# MaxClients maximum limit.
# MaxClients maximum limit.
MaxHTTPConnections
2000
MaxHTTPConnections
2000
# Number of simultaneous requests that can be handled. Since
FF
Server
# Number of simultaneous requests that can be handled. Since
AV
Server
# is very fast, it is more likely that you will want to leave this high
# is very fast, it is more likely that you will want to leave this high
# and use MaxBandwidth, below.
# and use MaxBandwidth, below.
MaxClients
1000
MaxClients
1000
...
@@ -25,24 +25,24 @@ MaxBandwidth 1000
...
@@ -25,24 +25,24 @@ MaxBandwidth 1000
# '-' is the standard output.
# '-' is the standard output.
CustomLog
-
CustomLog
-
# Suppress that if you want to launch
ff
server as a daemon.
# Suppress that if you want to launch
av
server as a daemon.
NoDaemon
NoDaemon
##################################################################
##################################################################
# Definition of the live feeds. Each live feed contains one video
# Definition of the live feeds. Each live feed contains one video
# and/or audio sequence coming from an ffmpeg encoder or another
# and/or audio sequence coming from an ffmpeg encoder or another
#
ff
server. This sequence may be encoded simultaneously with several
#
av
server. This sequence may be encoded simultaneously with several
# codecs at several resolutions.
# codecs at several resolutions.
<
Feed
feed1
.
ffm
>
<
Feed
feed1
.
ffm
>
# You must use 'ffmpeg' to send a live feed to
ff
server. In this
# You must use 'ffmpeg' to send a live feed to
av
server. In this
# example, you can type:
# example, you can type:
#
#
# ffmpeg http://localhost:8090/feed1.ffm
# ffmpeg http://localhost:8090/feed1.ffm
#
ff
server can also do time shifting. It means that it can stream any
#
av
server can also do time shifting. It means that it can stream any
# previously recorded live stream. The request should contain:
# previously recorded live stream. The request should contain:
# "http://xxxx?date=[YYYY-MM-DDT][[HH:]MM:]SS[.m...]".You must specify
# "http://xxxx?date=[YYYY-MM-DDT][[HH:]MM:]SS[.m...]".You must specify
# a path where the feed is stored on disk. You also specify the
# a path where the feed is stored on disk. You also specify the
...
@@ -69,7 +69,7 @@ ACL allow 127.0.0.1
...
@@ -69,7 +69,7 @@ ACL allow 127.0.0.1
##################################################################
##################################################################
# Now you can define each stream which will be generated from the
# Now you can define each stream which will be generated from the
# original audio and video stream. Each format has a filename (here
# original audio and video stream. Each format has a filename (here
# 'test1.mpg').
FF
Server will send this stream when answering a
# 'test1.mpg').
AV
Server will send this stream when answering a
# request containing this filename.
# request containing this filename.
<
Stream
test1
.
mpg
>
<
Stream
test1
.
mpg
>
...
@@ -334,7 +334,7 @@ StartSendOnKey
...
@@ -334,7 +334,7 @@ StartSendOnKey
# multicast address with MulticastAddress. The port and the TTL can
# multicast address with MulticastAddress. The port and the TTL can
# also be set.
# also be set.
#
#
# An SDP file is automatically generated by
ff
server by adding the
# An SDP file is automatically generated by
av
server by adding the
# 'sdp' extension to the stream name (here
# 'sdp' extension to the stream name (here
# http://localhost:8090/test1-sdp.sdp). You should usually give this
# http://localhost:8090/test1-sdp.sdp). You should usually give this
# file to your player to play the stream.
# file to your player to play the stream.
...
...
doc/
ff
server.texi
→
doc/
av
server.texi
View file @
4d58e4cb
\input
texinfo @c -*- texinfo -*-
\input
texinfo @c -*- texinfo -*-
@settitle
ff
server Documentation
@settitle
av
server Documentation
@titlepage
@titlepage
@center @titlefont
{
ff
server Documentation
}
@center @titlefont
{
av
server Documentation
}
@end titlepage
@end titlepage
@top
@top
...
@@ -15,37 +15,37 @@ The generic syntax is:
...
@@ -15,37 +15,37 @@ The generic syntax is:
@example
@example
@c man begin SYNOPSIS
@c man begin SYNOPSIS
ff
server [options]
av
server [options]
@c man end
@c man end
@end example
@end example
@chapter Description
@chapter Description
@c man begin DESCRIPTION
@c man begin DESCRIPTION
ff
server is a streaming server for both audio and video. It supports
av
server is a streaming server for both audio and video. It supports
several live feeds, streaming from files and time shifting on live feeds
several live feeds, streaming from files and time shifting on live feeds
(you can seek to positions in the past on each live feed, provided you
(you can seek to positions in the past on each live feed, provided you
specify a big enough feed storage in
ff
server.conf).
specify a big enough feed storage in
av
server.conf).
ff
server runs in daemon mode by default; that is, it puts itself in
av
server runs in daemon mode by default; that is, it puts itself in
the background and detaches from its TTY, unless it is launched in
the background and detaches from its TTY, unless it is launched in
debug mode or a NoDaemon option is specified in the configuration
debug mode or a NoDaemon option is specified in the configuration
file.
file.
This documentation covers only the streaming aspects of
ff
server /
This documentation covers only the streaming aspects of
av
server /
ffmpeg. All questions about parameters for ffmpeg, codec questions,
ffmpeg. All questions about parameters for ffmpeg, codec questions,
etc. are not covered here. Read @file
{
ffmpeg-doc.html
}
for more
etc. are not covered here. Read @file
{
ffmpeg-doc.html
}
for more
information.
information.
@section How does it work?
@section How does it work?
ff
server receives prerecorded files or FFM streams from some ffmpeg
av
server receives prerecorded files or FFM streams from some ffmpeg
instance as input, then streams them over RTP/RTSP/HTTP.
instance as input, then streams them over RTP/RTSP/HTTP.
An
ff
server instance will listen on some port as specified in the
An
av
server instance will listen on some port as specified in the
configuration file. You can launch one or more instances of ffmpeg and
configuration file. You can launch one or more instances of ffmpeg and
send one or more FFM streams to the port where
ff
server is expecting
send one or more FFM streams to the port where
av
server is expecting
to receive them. Alternately, you can make
ff
server launch such ffmpeg
to receive them. Alternately, you can make
av
server launch such ffmpeg
instances at startup.
instances at startup.
Input streams are called feeds, and each one is specified by a <Feed>
Input streams are called feeds, and each one is specified by a <Feed>
...
@@ -57,7 +57,7 @@ file.
...
@@ -57,7 +57,7 @@ file.
@section Status stream
@section Status stream
ff
server supports an HTTP interface which exposes the current status
av
server supports an HTTP interface which exposes the current status
of the server.
of the server.
Simply point your browser to the address of the special status stream
Simply point your browser to the address of the special status stream
...
@@ -100,7 +100,7 @@ I understand that FreeBSD systems work just fine as well.
...
@@ -100,7 +100,7 @@ I understand that FreeBSD systems work just fine as well.
@section How do I make it work?
@section How do I make it work?
First, build the kit. It *really* helps to have installed LAME first. Then when
First, build the kit. It *really* helps to have installed LAME first. Then when
you run the
ff
server ./configure, make sure that you have the
you run the
av
server ./configure, make sure that you have the
@code
{
--enable-libmp3lame
}
flag turned on.
@code
{
--enable-libmp3lame
}
flag turned on.
LAME is important as it allows for streaming audio to Windows Media Player.
LAME is important as it allows for streaming audio to Windows Media Player.
...
@@ -110,7 +110,7 @@ As a simple test, just run the following two command lines where INPUTFILE
...
@@ -110,7 +110,7 @@ As a simple test, just run the following two command lines where INPUTFILE
is some file which you can decode with ffmpeg:
is some file which you can decode with ffmpeg:
@example
@example
./
ffserver -f doc/ff
server.conf
&
./
avserver -f doc/av
server.conf
&
./ffmpeg -i INPUTFILE http://localhost:8090/feed1.ffm
./ffmpeg -i INPUTFILE http://localhost:8090/feed1.ffm
@end example
@end example
...
@@ -129,8 +129,8 @@ The same is true of AVI files.
...
@@ -129,8 +129,8 @@ The same is true of AVI files.
@section What happens next?
@section What happens next?
You should edit the
ff
server.conf file to suit your needs (in terms of
You should edit the
av
server.conf file to suit your needs (in terms of
frame rates etc). Then install
ff
server and ffmpeg, write a script to start
frame rates etc). Then install
av
server and ffmpeg, write a script to start
them up, and off you go.
them up, and off you go.
@section Troubleshooting
@section Troubleshooting
...
@@ -166,14 +166,14 @@ I suspect that the new one is not available unless you have installed WMP 7].
...
@@ -166,14 +166,14 @@ I suspect that the new one is not available unless you have installed WMP 7].
You can replay video from .ffm files that was recorded earlier.
You can replay video from .ffm files that was recorded earlier.
However, there are a number of caveats, including the fact that the
However, there are a number of caveats, including the fact that the
ff
server parameters must match the original parameters used to record the
av
server parameters must match the original parameters used to record the
file. If they do not, then
ff
server deletes the file before recording into it.
file. If they do not, then
av
server deletes the file before recording into it.
(Now that I write this, it seems broken).
(Now that I write this, it seems broken).
You can fiddle with many of the codec choices and encoding parameters, and
You can fiddle with many of the codec choices and encoding parameters, and
there are a bunch more parameters that you cannot control. Post a message
there are a bunch more parameters that you cannot control. Post a message
to the mailing list if there are some 'must have' parameters. Look in
to the mailing list if there are some 'must have' parameters. Look in
ff
server.conf for a list of the currently available controls.
av
server.conf for a list of the currently available controls.
It will automatically generate the ASX or RAM files that are often used
It will automatically generate the ASX or RAM files that are often used
in browsers. These files are actually redirections to the underlying ASF
in browsers. These files are actually redirections to the underlying ASF
...
@@ -187,7 +187,7 @@ finishes.]
...
@@ -187,7 +187,7 @@ finishes.]
* When you connect to a live stream, most players (WMP, RA, etc) want to
* When you connect to a live stream, most players (WMP, RA, etc) want to
buffer a certain number of seconds of material so that they can display the
buffer a certain number of seconds of material so that they can display the
signal continuously. However,
ff
server (by default) starts sending data
signal continuously. However,
av
server (by default) starts sending data
in realtime. This means that there is a pause of a few seconds while the
in realtime. This means that there is a pause of a few seconds while the
buffering is being done by the player. The good news is that this can be
buffering is being done by the player. The good news is that this can be
cured by adding a '?buffer=5' to the end of the URL. This means that the
cured by adding a '?buffer=5' to the end of the URL. This means that the
...
@@ -195,13 +195,13 @@ stream should start 5 seconds in the past -- and so the first 5 seconds
...
@@ -195,13 +195,13 @@ stream should start 5 seconds in the past -- and so the first 5 seconds
of the stream are sent as fast as the network will allow. It will then
of the stream are sent as fast as the network will allow. It will then
slow down to real time. This noticeably improves the startup experience.
slow down to real time. This noticeably improves the startup experience.
You can also add a 'Preroll 15' statement into the
ff
server.conf that will
You can also add a 'Preroll 15' statement into the
av
server.conf that will
add the 15 second prebuffering on all requests that do not otherwise
add the 15 second prebuffering on all requests that do not otherwise
specify a time. In addition,
ff
server will skip frames until a key
_
frame
specify a time. In addition,
av
server will skip frames until a key
_
frame
is found. This further reduces the startup delay by not transferring data
is found. This further reduces the startup delay by not transferring data
that will be discarded.
that will be discarded.
* You may want to adjust the MaxBandwidth in the
ff
server.conf to limit
* You may want to adjust the MaxBandwidth in the
av
server.conf to limit
the amount of bandwidth consumed by live streams.
the amount of bandwidth consumed by live streams.
@section Why does the ?buffer / Preroll stop working after a time?
@section Why does the ?buffer / Preroll stop working after a time?
...
@@ -218,7 +218,7 @@ handled.
...
@@ -218,7 +218,7 @@ handled.
@section Does the @code
{
?date=
}
stuff work.
@section Does the @code
{
?date=
}
stuff work.
Yes (subject to the limitation outlined above). Also note that whenever you
Yes (subject to the limitation outlined above). Also note that whenever you
start
ff
server, it deletes the ffm file (if any parameters have changed),
start
av
server, it deletes the ffm file (if any parameters have changed),
thus wiping out what you had recorded before.
thus wiping out what you had recorded before.
The format of the @code
{
?date=xxxxxx
}
is fairly flexible. You should use one
The format of the @code
{
?date=xxxxxx
}
is fairly flexible. You should use one
...
@@ -246,26 +246,26 @@ For example: @samp{http://localhost:8080/test.asf?date=2002-07-26T23:05:00}.
...
@@ -246,26 +246,26 @@ For example: @samp{http://localhost:8080/test.asf?date=2002-07-26T23:05:00}.
@table @option
@table @option
@item -f @var
{
configfile
}
@item -f @var
{
configfile
}
Use @file
{
configfile
}
instead of @file
{
/etc/
ff
server.conf
}
.
Use @file
{
configfile
}
instead of @file
{
/etc/
av
server.conf
}
.
@item -n
@item -n
Enable no-launch mode. This option disables all the Launch directives
Enable no-launch mode. This option disables all the Launch directives
within the various <Stream> sections. Since
ff
server will not launch
within the various <Stream> sections. Since
av
server will not launch
any ffmpeg instances, you will have to launch them manually.
any ffmpeg instances, you will have to launch them manually.
@item -d
@item -d
Enable debug mode. This option increases log verbosity, directs log
Enable debug mode. This option increases log verbosity, directs log
messages to stdout and causes
ff
server to run in the foreground
messages to stdout and causes
av
server to run in the foreground
rather than as a daemon.
rather than as a daemon.
@end table
@end table
@c man end
@c man end
@ignore
@ignore
@setfilename
ff
server
@setfilename
av
server
@settitle
ff
server video server
@settitle
av
server video server
@c man begin SEEALSO
@c man begin SEEALSO
ffmpeg(1), avplay(1), avprobe(1), the @file
{
ffmpeg/doc/
ff
server.conf
}
ffmpeg(1), avplay(1), avprobe(1), the @file
{
ffmpeg/doc/
av
server.conf
}
example and the Libav HTML documentation
example and the Libav HTML documentation
@c man end
@c man end
...
...
doc/ffmpeg.texi
View file @
4d58e4cb
...
@@ -164,7 +164,7 @@ Set the number of video frames to record.
...
@@ -164,7 +164,7 @@ Set the number of video frames to record.
@item -r @var
{
fps
}
@item -r @var
{
fps
}
Set frame rate (Hz value, fraction or abbreviation), (default = 25).
Set frame rate (Hz value, fraction or abbreviation), (default = 25).
@item -s @var
{
size
}
@item -s @var
{
size
}
Set frame size. The format is @samp
{
wxh
}
(
ff
server default = 160x128, ffmpeg default = same as source).
Set frame size. The format is @samp
{
wxh
}
(
av
server default = 160x128, ffmpeg default = same as source).
The following abbreviations are recognized:
The following abbreviations are recognized:
@table @samp
@table @samp
@item sqcif
@item sqcif
...
@@ -726,7 +726,7 @@ Set RTP payload size in bytes.
...
@@ -726,7 +726,7 @@ Set RTP payload size in bytes.
Read input at native frame rate. Mainly used to simulate a grab device.
Read input at native frame rate. Mainly used to simulate a grab device.
@item -loop
_
input
@item -loop
_
input
Loop over the input stream. Currently it works only for image
Loop over the input stream. Currently it works only for image
streams. This option is used for automatic
FF
server testing.
streams. This option is used for automatic
AV
server testing.
This option is deprecated, use -loop.
This option is deprecated, use -loop.
@item -loop
_
output @var
{
number
_
of
_
times
}
@item -loop
_
output @var
{
number
_
of
_
times
}
Repeatedly loop output for formats that support looping such as animated GIF
Repeatedly loop output for formats that support looping such as animated GIF
...
@@ -1079,7 +1079,7 @@ file to which you want to add them.
...
@@ -1079,7 +1079,7 @@ file to which you want to add them.
@settitle ffmpeg video converter
@settitle ffmpeg video converter
@c man begin SEEALSO
@c man begin SEEALSO
avplay(1), avprobe(1),
ff
server(1) and the Libav HTML documentation
avplay(1), avprobe(1),
av
server(1) and the Libav HTML documentation
@c man end
@c man end
@c man begin AUTHORS
@c man begin AUTHORS
...
...
doc/general.texi
View file @
4d58e4cb
...
@@ -91,7 +91,7 @@ library:
...
@@ -91,7 +91,7 @@ library:
@item Electronic Arts cdata @tab @tab X
@item Electronic Arts cdata @tab @tab X
@item Electronic Arts Multimedia @tab @tab X
@item Electronic Arts Multimedia @tab @tab X
@tab Used in various EA games; files have extensions like WVE and UV2.
@tab Used in various EA games; files have extensions like WVE and UV2.
@item FFM (
FF
server live feed) @tab X @tab X
@item FFM (
AV
server live feed) @tab X @tab X
@item Flash (SWF) @tab X @tab X
@item Flash (SWF) @tab X @tab X
@item Flash 9 (AVM2) @tab X @tab X
@item Flash 9 (AVM2) @tab X @tab X
@tab Only embedded audio is decoded.
@tab Only embedded audio is decoded.
...
...
ffmpeg.c
View file @
4d58e4cb
...
@@ -691,7 +691,7 @@ static OutputStream *new_output_stream(AVFormatContext *oc, int file_idx, AVCode
...
@@ -691,7 +691,7 @@ static OutputStream *new_output_stream(AVFormatContext *oc, int file_idx, AVCode
return
ost
;
return
ost
;
}
}
static
int
read_
ff
server_streams
(
AVFormatContext
*
s
,
const
char
*
filename
)
static
int
read_
av
server_streams
(
AVFormatContext
*
s
,
const
char
*
filename
)
{
{
int
i
,
err
;
int
i
,
err
;
AVFormatContext
*
ic
=
NULL
;
AVFormatContext
*
ic
=
NULL
;
...
@@ -3766,9 +3766,9 @@ static void opt_output_file(const char *filename)
...
@@ -3766,9 +3766,9 @@ static void opt_output_file(const char *filename)
if
(
!
strcmp
(
file_oformat
->
name
,
"ffm"
)
&&
if
(
!
strcmp
(
file_oformat
->
name
,
"ffm"
)
&&
av_strstart
(
filename
,
"http:"
,
NULL
))
{
av_strstart
(
filename
,
"http:"
,
NULL
))
{
/* special case for files sent to
ff
server: we get the stream
/* special case for files sent to
av
server: we get the stream
parameters from
ff
server */
parameters from
av
server */
int
err
=
read_
ff
server_streams
(
oc
,
filename
);
int
err
=
read_
av
server_streams
(
oc
,
filename
);
if
(
err
<
0
)
{
if
(
err
<
0
)
{
print_error
(
filename
,
err
);
print_error
(
filename
,
err
);
ffmpeg_exit
(
1
);
ffmpeg_exit
(
1
);
...
...
libavformat/ffm.h
View file @
4d58e4cb
/*
/*
* FFM (
ff
server live feed) common header
* FFM (
av
server live feed) common header
* Copyright (c) 2001 Fabrice Bellard
* Copyright (c) 2001 Fabrice Bellard
*
*
* This file is part of Libav.
* This file is part of Libav.
...
...
libavformat/ffmdec.c
View file @
4d58e4cb
/*
/*
* FFM (
ff
server live feed) demuxer
* FFM (
av
server live feed) demuxer
* Copyright (c) 2001 Fabrice Bellard
* Copyright (c) 2001 Fabrice Bellard
*
*
* This file is part of Libav.
* This file is part of Libav.
...
@@ -23,7 +23,7 @@
...
@@ -23,7 +23,7 @@
#include "libavutil/intfloat_readwrite.h"
#include "libavutil/intfloat_readwrite.h"
#include "avformat.h"
#include "avformat.h"
#include "ffm.h"
#include "ffm.h"
#if CONFIG_
FF
SERVER
#if CONFIG_
AV
SERVER
#include <unistd.h>
#include <unistd.h>
int64_t
ffm_read_write_index
(
int
fd
)
int64_t
ffm_read_write_index
(
int
fd
)
...
@@ -55,7 +55,7 @@ void ffm_set_write_index(AVFormatContext *s, int64_t pos, int64_t file_size)
...
@@ -55,7 +55,7 @@ void ffm_set_write_index(AVFormatContext *s, int64_t pos, int64_t file_size)
ffm
->
write_index
=
pos
;
ffm
->
write_index
=
pos
;
ffm
->
file_size
=
file_size
;
ffm
->
file_size
=
file_size
;
}
}
#endif // CONFIG_
FF
SERVER
#endif // CONFIG_
AV
SERVER
static
int
ffm_is_avail_data
(
AVFormatContext
*
s
,
int
size
)
static
int
ffm_is_avail_data
(
AVFormatContext
*
s
,
int
size
)
{
{
...
@@ -510,7 +510,7 @@ static int ffm_probe(AVProbeData *p)
...
@@ -510,7 +510,7 @@ static int ffm_probe(AVProbeData *p)
AVInputFormat
ff_ffm_demuxer
=
{
AVInputFormat
ff_ffm_demuxer
=
{
.
name
=
"ffm"
,
.
name
=
"ffm"
,
.
long_name
=
NULL_IF_CONFIG_SMALL
(
"FFM (
FF
server live feed) format"
),
.
long_name
=
NULL_IF_CONFIG_SMALL
(
"FFM (
AV
server live feed) format"
),
.
priv_data_size
=
sizeof
(
FFMContext
),
.
priv_data_size
=
sizeof
(
FFMContext
),
.
read_probe
=
ffm_probe
,
.
read_probe
=
ffm_probe
,
.
read_header
=
ffm_read_header
,
.
read_header
=
ffm_read_header
,
...
...
libavformat/ffmenc.c
View file @
4d58e4cb
/*
/*
* FFM (
ff
server live feed) muxer
* FFM (
av
server live feed) muxer
* Copyright (c) 2001 Fabrice Bellard
* Copyright (c) 2001 Fabrice Bellard
*
*
* This file is part of Libav.
* This file is part of Libav.
...
@@ -242,7 +242,7 @@ static int ffm_write_trailer(AVFormatContext *s)
...
@@ -242,7 +242,7 @@ static int ffm_write_trailer(AVFormatContext *s)
AVOutputFormat
ff_ffm_muxer
=
{
AVOutputFormat
ff_ffm_muxer
=
{
.
name
=
"ffm"
,
.
name
=
"ffm"
,
.
long_name
=
NULL_IF_CONFIG_SMALL
(
"FFM (
FF
server live feed) format"
),
.
long_name
=
NULL_IF_CONFIG_SMALL
(
"FFM (
AV
server live feed) format"
),
.
mime_type
=
""
,
.
mime_type
=
""
,
.
extensions
=
"ffm"
,
.
extensions
=
"ffm"
,
.
priv_data_size
=
sizeof
(
FFMContext
),
.
priv_data_size
=
sizeof
(
FFMContext
),
...
...
libavformat/mpjpeg.c
View file @
4d58e4cb
...
@@ -22,7 +22,7 @@
...
@@ -22,7 +22,7 @@
/* Multipart JPEG */
/* Multipart JPEG */
#define BOUNDARY_TAG "
ff
server"
#define BOUNDARY_TAG "
av
server"
static
int
mpjpeg_write_header
(
AVFormatContext
*
s
)
static
int
mpjpeg_write_header
(
AVFormatContext
*
s
)
{
{
...
...
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