[FFmpeg-devel] [GSoC] Proof-of-concept HTTP Server

Nicolas George george at nsup.org
Thu Apr 2 23:21:12 CEST 2015


Le tridi 13 germinal, an CCXXIII, Stephan Holljes a écrit :
> How would http listening work as an input option?

I do not see any particular problem.

With your current patch, you can do:

ffmpeg $input $output_options -listen 1 http://0:1234
ffmpeg -i http://host:1234/ $remote_output

It would work the symmetric way:

ffmpeg -listen 1 -i http://0:1234 $output
ffmpeg $input $output_options http://host:1234/

You can already do part of the work with socat as a server:

socat tcp-listen:1234,reuseaddr -
ffmpeg -lavfi sine -f framecrc -t 1 -chunked_post 0 http://localhost:1234/foo/bar

The result in the socat terminal looks like that (I use framecrc to avoid
dumping binary to the tty in this example case):

POST /foo/bar HTTP/1.1
User-Agent: Lavf/56.25.101
Accept: */*
Connection: close
Host: localhost:1234
Icy-MetaData: 1

#software: Lavf56.25.101
#tb 0: 1/44100
0,          0,          0,     1024,     2048, 0x1ee8f45a
0,       1024,       1024,     1024,     2048, 0x273ef6ee
0,       2048,       2048,     1024,     2048, 0x0a5f0111
0,       3072,       3072,     1024,     2048, 0x51be06b8

Basically, on top of what is already working, you would just need to
summarily parse the headers to skip them.

The full project, if accepted by Google, would involve, amongst other
things, correctly parsing the headers. Without it, it will badly break with
chunked transfer encoding. It would also involve finding a way of taking the
request string into account and exporting it to the application.

Of course, if you have other ideas to strengthen your application, do not
hesitate to discuss them, but implementing input looks like a good
result/work ratio.

The patch itself looks ok enough (I saw a stray empty line, that is one of
the details we learn to spot while proofreading patches before sending them,
it does not matter much). I will have time to re-test carefully and arrange
merging on Saturday, if nobody has other remarks.

Regards,

-- 
  Nicolas George
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 819 bytes
Desc: Digital signature
URL: <https://ffmpeg.org/pipermail/ffmpeg-devel/attachments/20150402/b537db97/attachment.asc>


More information about the ffmpeg-devel mailing list