[FFmpeg-user] ffserver - Streaming Without Re-encoding???

Keith Johnson keith at xentrik.tv
Sun Sep 28 14:15:01 CEST 2014

I'm using an instance of ffmpeg to capture HDV video, saving it both in raw
.m2t format and simultaneously re-encoding and saving it in another lower
resolution format. I'd like to live-stream the low-res version as well, and
I can use another output of ffmpeg as a source to ffserver. Does anyone know
if ffserver can stream a feed like this without re-encoding?

There's no info in the documentation on this, and it would seem silly if
ffserver has to re-encode the feed if it's already in the right format. I'm
going for reliability of recording here, and I don't want to overload the
machine with unnecessary work.

There was a previous discussion on this, but I don't know whether the
feature ever got implemented:


The documentation for the Stream Section of the ffserver config file says

/"The following options are recognized within a Stream section.

Encoding options are marked with the encoding tag, and they are used to set
the encoding parameters, and are mapped to libavcodec encoding options. Not
all encoding options are supported, in particular it is not possible to set
encoder private options. In order to override the encoding options specified
by ffserver, you can use the ffmpeg override_ffserver commandline option.

Only one of the Feed and File options should be set.

Feed feed_name

    Set the input feed. feed_name must correspond to an existing feed
defined in a Feed section.

    When this option is set, encoding options are used to setup the encoding
operated by the remote ffmpeg process.

File filename

    Set the filename of the pre-recorded input file to stream.

    When this option is set, encoding options are ignored and the input file
content is re-streamed as is."/

So, it's clear that when streaming a file ffserver doesn't bother doing any
re-encoding, but it's not clear exactly what's happening when streaming a
feed, and whether it's possible to do this without re-encoding.

Is it the case that the encoding is *always* done by "the remote ffmpeg
process", in which case is it possible to just leave the codec(s)
unspecified to achieve what I want to do? Or if I set the codec options to
match exactly what is coming from a manually started instance of ffmpeg,
will this avoid any re-encoding?

View this message in context: http://ffmpeg-users.933282.n4.nabble.com/ffserver-Streaming-Without-Re-encoding-tp4667537.html
Sent from the FFmpeg-users mailing list archive at Nabble.com.

More information about the ffmpeg-user mailing list