Opened 4 years ago

Closed 4 years ago

#2624 closed enhancement (invalid)

Simplifying ffserver to make it more easy to maintain

Reported by: burek Owned by:
Priority: wish Component: ffserver
Version: unspecified Keywords:
Cc: Blocked By:
Blocking: Reproduced by developer: no
Analyzed by developer: no

Description

While working with the 2 of the most popular free audio broadcasting servers: shoutcast and icecast (open-source), I've noticed they are just broadcasting the feed they get from their remote sources, without doing any re-encoding, which simplifies their entire model. Things they mostly do is buffering and broadcasting, so I thought maybe there was a chance to do the same thing with ffserver to simplify it a bit and make it more easy to maintain.

Further more, it might be more straightforward to use it this way, since people would use the desired codecs to encode their streams on the source machine (running ffmpeg), rather than on the ffserver machine, thus it would make ffserver more feasible to run on web hosting servers, because of the lowered cpu usage.

If it would be more convenient, maybe a completely new tool could be created from scratch, which could be extended more easily than ffserver, considering the simpler model it has.

Change History (4)

comment:1 Changed 4 years ago by cehoyos

  • Component changed from undetermined to FFserver

comment:2 Changed 4 years ago by richardpl

Isn't ffserver already capable of this?

comment:3 Changed 4 years ago by burek

It appears it is, but the documentation was not clear enough about how the whole thing actually works, so I was confused by <Stream> elements inside ffserver's config file, thinking it defines how ffserver will re-encode the feed stream, when in fact, streams are (apparently) being communicated through that ffm feed connection, so that ffserver can tell ffmpeg how to encode the streams and send it to ffserver. I guess this ticket can then be safely closed. Sorry about that.

comment:4 Changed 4 years ago by richardpl

  • Resolution set to invalid
  • Status changed from new to closed
Note: See TracTickets for help on using tickets.