[FFmpeg-devel] [FFmpeg-cvslog] avformat/hls: add http_persistent option

Aman Gupta ffmpeg at tmm1.net
Tue Dec 26 04:14:11 EET 2017


On Mon, Dec 25, 2017 at 1:03 PM Michael Niedermayer <michael at niedermayer.cc>
wrote:

> On Mon, Dec 25, 2017 at 06:08:11PM +0000, Aman Gupta wrote:
> > On Mon, Dec 25, 2017 at 9:58 AM Michael Niedermayer
> <michael at niedermayer.cc>
> > wrote:
> >
> > > On Fri, Dec 22, 2017 at 11:00:34PM +0000, Aman Gupta wrote:
> > > > ffmpeg | branch: master | Aman Gupta <aman at tmm1.net> | Wed Oct  4
> > > 14:52:52 2017 -0700| [b7d6c0cd48dac7869b9e6803e2d47d05a4fa373b] |
> > > committer: Aman Gupta
> > > >
> > > > avformat/hls: add http_persistent option
> > > >
> > > > This teaches the HLS demuxer to use the HTTP protocols
> > > > multiple_requests=1 option, to take advantage of "Connection:
> > > > Keep-Alive" when downloading playlists and segments from the HLS
> server.
> > > >
> > > > With the new option, you can avoid TCP connection and TLS negotiation
> > > > overhead, which is particularly beneficial when streaming via a
> > > > high-latency internet connection.
> > > >
> > > > Similar to the http_persistent option recently implemented in
> hlsenc.c
> > > >
> > > > Signed-off-by: Aman Gupta <aman at tmm1.net>
> > > > Signed-off-by: Anssi Hannula <anssi.hannula at iki.fi>
> > > >
> > > > >
> > >
> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=b7d6c0cd48dac7869b9e6803e2d47d05a4fa373b
> > > > ---
> > > >
> > > >  doc/demuxers.texi |  4 ++++
> > > >  libavformat/hls.c | 72
> > > +++++++++++++++++++++++++++++++++++++++++++++++++++----
> > > >  2 files changed, 72 insertions(+), 4 deletions(-)
> > >
> > > This causes ffmpeg to infinite loop with simplehttpd.py
> >
> >
> > Is that the same as SimpleHTTPServer.py?
> >
> > Sounds like it doesn't support persistent connections, but also isn't
> > returning "Connection: close" in the response.
> >
> > I can investigate if you tell me where to find that httpd server.
>
> Iam not sure where i got it from or its original source but it matches the
> source here:
>
>
> https://www.linuxjournal.com/content/tech-tip-really-simple-http-server-python


Thanks.

I was able to reproduce the issue. It appears to be because the simple http
server is quite too simple, and can only handle one request at a time. The
http_multiple option tries to make a second request before the first is
completed, causing a deadlock.

I guess we could disable http_multiple by default...

Aman

<https://www.linuxjournal.com/content/tech-tip-really-simple-http-server-python>
>
> also attached
>
> [...]
> --
> Michael     GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB
>
> If you think the mosad wants you dead since a long time then you are either
> wrong or dead since a long time.
> _______________________________________________
> ffmpeg-devel mailing list
> ffmpeg-devel at ffmpeg.org
> http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
>


More information about the ffmpeg-devel mailing list