Page 1 of 1

Advanced Use of Web Plug In

Posted: 20 Sep 2009 18:32
by postsoup
I am considering using the VLC Web Plug in for a new version of my web based video editor. Currently I use the QuickTime web plug in and it works well. However changes in Snow Leopard have meant that one of the capabilities is no longer supported, and I need to think about an alternative plug in. As you might imagine making a video editor in a web page is non-trivial, hence it also relies on a back end server.

My initial observations have led to one or 2 questions, which I hope one of the developers might be able to answer:
- When querying the movie time using vlc.input.time I see that it jumps in large steps (typically around 300 mSecs). When I try to step through the movie frame by frame using "vlc.input.time = vlc.input.time + 40", again its jumping in larger steps.
- vlc.input.fps seems to return zero all the time.

Note that I am using file:// type URLs, not http://
for example : "vlc.playlist.add("file:///Volumes/MacProHD/video_media/Proxies/Volvo-8.mov")"

Its this which is broken in Snow Leopard, hence my delight on discovering that the VLC plug in allows me to reference file:// URLs from an http:// served page. In OSX 10.5 this was also possible with Safari and the QT Plug in , but in 10.6 it no longer works.

The web based editor works fantastically well with the QT Plug in under 10.5. I hope that I will be able to make the same functionality using the VLC plug in and have it work in 10.6 too.

Thanks for any responses to the input.time observations.
Thanks

Re: Advanced Use of Web Plug In

Posted: 21 Sep 2009 18:17
by thannoy
I think vlc.input.time result is taken from the demuxer, so it accuracy depends on how the demuxer implements DEMUX_GET_TIME control request which may vary from a demuxer to another.
More interesting, the code triggered to give this value relies on a variable, which may not have been updated recently. The call do not ask directly the demuxer but a kind of cache seems to be used (libvlc_media_player_get_time).