Commit Graph

598 Commits

Author SHA1 Message Date
Michael Niedermayer
1e491e29c2 cleanup
adding AVVideoFrame
 moving quality, pict_type, key_frame, qscale_table, ... to AVVideoFrame
 removing obsolete variables in AVCodecContext
 skiping of MBs in b frames
 correctly initalizing AVCodecContext
 picture buffer cleanup

Originally committed as revision 1302 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-12-04 10:04:03 +00:00
Philip Gladstone
6638d424d4 Try to make this compile on platforms with dlfcn.h
Originally committed as revision 1296 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-11-30 17:18:59 +00:00
Philip Gladstone
9c938e77e8 More fixes to compile and build on more platforms.
Originally committed as revision 1280 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-11-26 05:01:36 +00:00
Fabrice Bellard
0fa45e19ce minimum handling for mpeg4 video multicast from avi files
Originally committed as revision 1262 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-11-20 20:49:47 +00:00
Fabrice Bellard
6edd6884b5 RTP multicast begins to work in MPEG1 - simplified stream bandwidth computation (no need to recompute it at each request)
Originally committed as revision 1260 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-11-20 18:05:45 +00:00
Fabrice Bellard
829ac53d98 clean up of redirector code - first stage of RTP multicast support - added SDP redirector output for multicast
Originally committed as revision 1257 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-11-20 15:00:05 +00:00
Zdenek Kabelac
5844544064 * const warning fix
Originally committed as revision 1210 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-11-14 19:07:25 +00:00
Michael Niedermayer
b8a78f419d reversing header game
MIN/MAX -> FFMIN/FFMAX

Originally committed as revision 1184 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-11-10 11:46:59 +00:00
François Revol
9eb826478c MIN/MAX sys/param.h patch by (François Revol <revol at free dot fr>)
Originally committed as revision 1164 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-11-05 00:56:08 +00:00
Philip Gladstone
d6562d2cfa Added VideoBitRateRange and VideoBitRAteTolerance settings
Also made the Launch directive work again if you invoke ffserver with a relative
path.

Originally committed as revision 1111 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-10-30 02:15:07 +00:00
Fabrice Bellard
90dca1411d changed write_packet API - should work as before
Originally committed as revision 1060 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-10-21 17:44:43 +00:00
D Richard Felker III
6b10e6e48c new ffserver options patch by (D Richard Felker III <dalias at aerifal dot cx>)
Originally committed as revision 1057 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-10-21 16:08:39 +00:00
Michael Niedermayer
b3a391e8b8 fixing i_quant_factor, this should finally fix the bitrate bug with ffserver hopefully
Originally committed as revision 959 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-09-19 20:22:39 +00:00
Philip Gladstone
a782f209df * Add code to pace sending a stream when it is being sent from a file.
We limit the datarate to twice the average datarate (however the first
  few seconds are sent flat out to help with prebuffering).
* Add the initialization of the rc_eq fields and the like for VIDEO codecs.
* Add the missing get_arg calls for VideoQxxxx

Originally committed as revision 920 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-09-12 02:31:11 +00:00
Mark Hills
81e0d0b412 oggvorbis support patch by (Mark Hills <mark at pogo dot org dot uk>)
Originally committed as revision 896 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-09-01 18:07:56 +00:00
Philip Gladstone
59eb2ed1f3 * Now we do not delete the feed file if it was created with the same
parameters as the currently desired codec settings. Thus it is
  important not to fiddle with the streams if you want to keep the
  old data.
* Fix it so that the ?buffer= paramter can be larger than 40 minutes or
  so. Why is this good? So I can use ?buffer=43200 and get video from
  12 hours ago (i.e. when it is daylight outside)

Originally committed as revision 829 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-07-28 04:19:46 +00:00
Philip Gladstone
f853bb1128 * Removed a debug printf
* Fix the sense of the test for "-" with customlog and not closing stdout in daemon mode

Originally committed as revision 828 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-07-27 15:22:17 +00:00
Philip Gladstone
8256c0a341 * Make asf streaming work again. Now uses the output format asf_stream.
* Add ip address based acls for streams. I recommend adding ACL entries
  for all feeds to control who can submit stuff. You might also want to
  consider who can get to your status page.
* Make logging work again if customlog == "-"

Originally committed as revision 821 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-07-27 03:03:04 +00:00
Fabrice Bellard
2effd27446 added RTSP and RTP server support - added daemon mode as default (use -d for foreground mode) - added module support
Originally committed as revision 812 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-07-25 16:48:44 +00:00
Fabrice Bellard
2c4ae653af renamed gettime() av_gettime() - same for register_all()
Originally committed as revision 808 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-07-25 16:07:39 +00:00
Philip Gladstone
5eb765ef34 * Add code to restart ffmpeg if it crashes
* Add code to monitor the actual datarates on the http connections
* Fix problem when ffmpeg uses more than 24 hours of CPU (display only problem)

Originally committed as revision 680 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-06-10 02:44:36 +00:00
Philip Gladstone
2ac887bae9 * Give the max stream time configuration item a chance of working
* Add parameters to set author/comment/copyright/title to streamed asf
* Format the stats output a little bit better.

Originally committed as revision 663 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-06-05 02:17:06 +00:00
Philip Gladstone
31def22984 * Bad buffer management bug. Forgot to take care of the case
where doubling the size of the buffer is not enough.

Originally committed as revision 633 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-05-30 20:37:51 +00:00
Philip Gladstone
cde25790ec * New stuff and bug fixes:
* Change to dynamically allocated buffers. Should reduce memory footprint significantly
  as well as eliminate a call to av_abort!
* Better version of WMP rate switching infrastructure. Currently turned off till
  the PTS fixes are in.
* Added a Redirect type feature. This allows URLs served by ffserver to just
  redirect to somewhere else. You might want to do this. Really this needs to
  be enhanced -- say to handle all 404 pages.
* Add mechanism to automatically fire up ffmpeg on ffserver start. This is turned
  on by adding the Launch keyword to the <feed> definition.
* Add logic to take care of non-wmp user agents requesting .asf files. They now get
  a [reference] file with an appropriate mime type. This fixes the mplayer problem.
* Make sure that we have a large buffer for the stats page.
* Add a FaviconURL keyword to the status stream definition. If set, then it
  generates the appropriate HTML so that IE and Mozilla will display the favicon
  as appropriate. OK -- this is a pretty random feature.
* If the ffmpeg is running as a child of ffserver, then report it's CPU usage
  on the status page. [This is linux only -- maybe somebody could do the work for
  another OS. The tricky thing is getting the 'ps' command right.]

Originally committed as revision 630 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-05-30 02:49:07 +00:00
Philip Gladstone
3120d2a265 * Add first cut of code to handle Windows Media Player rate switching
requests. The current state is that at startup, WMP will get the
  best stream that it can handle. However, subsequent rate switching
  only puts a message in the log saying what the new stream ought to
  be. Solving this will be tricky. I guess that we would have to wait for
  key frames to appear in the new stream, and then switch over to it.
  Some care would be needed to deal with the PTS of the new stream
  versus the old stream.

Originally committed as revision 602 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-05-26 03:36:34 +00:00
Fabrice Bellard
773a21b8fe license/copyright change - fixed header mess
Originally committed as revision 588 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-05-25 22:26:19 +00:00
Philip Gladstone
b582f314f7 * Added yet more output to the status page to try and track down a problem
Originally committed as revision 579 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-05-24 02:06:15 +00:00
Philip Gladstone
ec3b22326d * Add support for time-limiting a live stream. (Some guy streamed one of
my pondcam streams for 24 hours! I'll bet he wasn't watching.
* Add code to allocate the priv_data so that the ffm header can be
  parsed again. [Fix crash]

Originally committed as revision 577 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-05-24 01:18:19 +00:00
Fabrice Bellard
bd7cf6ad3a use new api (NOT TESTED) - suppressed strlcpy
Originally committed as revision 549 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-05-20 16:33:46 +00:00
Philip Gladstone
2e04edb36e Fix a segfault when handling errors or .asx or .ram files. Silly bug
on my part.

Originally committed as revision 536 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-05-20 03:02:09 +00:00
Fabrice Bellard
0f1578afcc use av memory functions
Originally committed as revision 531 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-05-18 23:17:41 +00:00
Philip Gladstone
a6e14edde0 * If a stream gets stuck in WAIT_FEED, then disconnecting the other end
will clear out the stream. I think that this is really a linux bug in
  the handling of poll, but I did a workaround anyway.
* Improve the statistics output and prevent a buffer overrun when lots
  of clients are connected.
* Process ffm input when it is received and don't always be one ffm
  packet behind.
* Try to avoid going through the poll loop when not required.

Originally committed as revision 514 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-05-18 21:33:05 +00:00
Philip Gladstone
79c4ea3c6c * Change the default behaviour to start streaming as soon as possible (i.e.
no waiting for key frames).
* Provide StartSendOnKey paramter for a stream to wait until we get key frames
  before sending.
* Add the codec names into the status page. May help debugging problems.

Originally committed as revision 507 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-05-17 01:53:28 +00:00
Philip Gladstone
42a63c6a02 * Add code to configure the following:
* prebuffering/preroll a live stream -- this improves startup time
  * videoqmin/videoqmax/videoqdiff -- codec parameters
  * maximum bandwidth for live streams
* Add support for .ram and .rpm extensions mapping onto .rm
* Make the status page show bandwidth. Also make the .asf and .rm
  links go to .asx and .ram files.
* Make a stream only start streaming when it gets a keyframe on each
  stream. This is arguable, and it maybe ought to be restricted to
  live streams. However, since I don't think that file streams work,
  this is a step in the right direction. It improves the startup delay.
* Log an error if we are unable to delete the temp feed file.

Originally committed as revision 501 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-05-16 02:03:07 +00:00
Philip Gladstone
7434ba6d53 * Improve logging -- now actually gives you the number of bytes sent
* Print out the logging information that comes from WMP (you'd be suprised what
  it sends!
* Fix a remotely exploitable buffer overflow (argh!)
* Add support for automatically serving up .asx files. It generates an automatic
  redirect to the associated .asf file (with the same parameters). I guess that
  someone who understands the realaudio equivalent could hack that it as well.

Originally committed as revision 482 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-05-10 02:20:27 +00:00
Juanjo
e7f9c67417 - HQ option for ffserver. Thanks to D Richard Felker III.
Originally committed as revision 478 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-05-09 07:43:07 +00:00
Juanjo
ba9b374f89 - Changed default qmin = 3 as ffmpeg.c
- Less bitrate tolerance since we are streaming.

Originally committed as revision 474 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-05-09 02:33:27 +00:00
Philip Gladstone
f747e6d343 * Fix a nasty problem with output buffering not have enough (or large enough)
buffers. In fact, the code was pretty much shot.
* Try to fool WMP into thinking that we are a microsoft server.
* When we establish a stream to a user, copy the codec information from
  that saved as part of the stream. This gives us the real frame_size and
  other important parameters.
* ASF needs to know about key frames, so add some logic to copy this information
  around.
* When we get the data from ffmpeg as part of a feed, make sure that we save
  the actual codec parameters.
* Allow configuration of AudioCodec and VideoCodec
* Make sure that we delete the feed file before starting. This is not ideal
  but it makes things work a whole lot better!

Originally committed as revision 454 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-05-09 01:11:08 +00:00
Juanjo
10bb7023a2 - Added force_pts to av_write_packet() to be able to force PTS, this helps
(and fix) stream copying. By now force_pts it's just honoured by the MPEG
muxer. ASF could honour this also, but it should be fixed to use Tickers
first.
- MPEG audio decoder exports it's frame size in bytes.
- Hope this fix the floating point exception found in ffserver.

Originally committed as revision 382 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-04-07 21:44:29 +00:00
Michael Niedermayer
68d7eef971 trying to fix qscale==0
Originally committed as revision 341 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-03-19 04:31:10 +00:00
Michael Niedermayer
f5d1f41b11 fixing warning
Originally committed as revision 315 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-02-26 23:11:08 +00:00
Zdenek Kabelac
608d0dee6f * Also include time.h for nanosleep()
by:  Philipp Matthias Hahn <pmhahn@titan.lahn.de>

Originally committed as revision 309 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-02-18 10:20:03 +00:00
Michael Niedermayer
d8cf5aea49 optimized the normal bitstream writer, its faster than the alternative one on p3 now ... lets hope its at least not slower on p4 & k7
Originally committed as revision 299 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-02-15 00:14:01 +00:00
Fabrice Bellard
63bdb086b1 fixed prototype change
Originally committed as revision 150 to svn://svn.ffmpeg.org/ffmpeg/trunk
2001-09-25 18:27:53 +00:00
Fabrice Bellard
dd2af5aa4e jpeg hack
Originally committed as revision 89 to svn://svn.ffmpeg.org/ffmpeg/trunk
2001-08-15 13:03:37 +00:00
Fabrice Bellard
85f07f223d merge
Originally committed as revision 6 to svn://svn.ffmpeg.org/ffmpeg/trunk
2001-07-22 14:37:44 +00:00
Fabrice Bellard
1b58d58dda removing old files
Originally committed as revision 4 to svn://svn.ffmpeg.org/ffmpeg/trunk
2001-07-19 20:46:37 +00:00
Fabrice Bellard
9aeeeb63f7 Initial revision
Originally committed as revision 2 to svn://svn.ffmpeg.org/ffmpeg/trunk
2000-12-20 00:02:47 +00:00