[FFmpeg-devel] [RFC] Browser remote content API
lukasz.m.luki at gmail.com
Sun Feb 9 22:18:32 CET 2014
On 09.02.2014 06:02, Michael Niedermayer wrote:
> On Sun, Feb 09, 2014 at 02:14:22AM +0100, Lukasz Marek wrote:
>> I have an idea of new API, hopely useful.
>> FFmpeg allows to use content on remote servers via network protocols
>> (http, ftp, sftp). It can be read, written, played, probed etc, but
>> in case user want to make application with some UI that displays
>> that content (file names, dirs) then they need to implement it
>> It would be nice to extend URLProtocol with some kind of "readdir" callback.
> reordered your mail a bit
>> Maybe this is a project for GSoC?
> how much does a student need to read and understand (i means specs)
> to implement this, is that together with implementation realistic
> within the 12 weeks ?
Yes, it is realistic.
> iam a bit concerned that theres maybe too much code and specs
> reading involved. That is a student would have to wrap his head
> around 3 different protocol implementations and specifications
I would add also file protocol, to have one API for all protocols.
sftp is done on top of libssh library and it has ready functions for
this. It doesn't require any protocol knowledge. Authorization,
connection etc is already done.
ftp may also reuse existing code. One difference is to send different
command instead of STOR/RETR. Server responds with the same format like
"ls -l" on linux shell. So all student have to understand is how ftp
works at high level and read deeply about LIST command (mostly about
http I don't know, but probably it is also not complicated.
> but if you think it can be done, then make one of the 3 protocols
> the qualification task, a student passing that not only shows that
> he can do it he also would have 1/3 less work in the summer
OK, I will prepare this tomorrow.
> also i would suggest you design and implement the API without the
> student to not complicate that further
Not sure I understand.
You want a student to implement this at protocol level only (new
callback) and lavf would be prepared before?
>> Furhtermore, it would be nice to have single function that read
>> media related metadata like resolution, duration, codec,maybe
>> thumbnail etc. (copy paste from ffprobe can be probably done).
> i dont understand how this is related to the rest of your mail
It is not really related, but I think extending protocols by listening
remote dirs is quite easy as for 3 months project. This second API is
also quite useful when you build UI in player (all good iOS players I
saw present this kind of metadata). But it can be omitted or moved to
another project if you think it's too much.
You can avoid reality, but you cannot avoid the consequences of avoiding
reality. - Ayn Rand
More information about the ffmpeg-devel