[whatwg] HTML5 based Eduvid Slidecasting Demo

Narendra Sisodiya narendra at narendrasisodiya.com
Sun May 22 06:03:27 PDT 2011

On Sun, May 22, 2011 at 5:42 PM, Odin <odin.omdal at gmail.com> wrote:

> On Sun, May 22, 2011 at 6:48 AM, Narendra Sisodiya
> <narendra at narendrasisodiya.com> wrote:
> > On Sun, May 22, 2011 at 8:22 AM, Silvia Pfeiffer
> > <silviapfeiffer1 at gmail.com>wrote:
> >> This is a pretty awesome way to publish a record of your slide
> >> presentation.
> >
> > I am working to create software to automate the Timing process..
> > I did automated timing long back when I started Eduvid -
> > http://wiki.techfandu.org/eduvid/Eduvid-0.011/wiki-eduvid-slideshow.html
> > Hopefully I will be able to create better software where when you click
> > next/forward, your timings will be saved alongwidth your slidenumber.
> Hey Narendra!
> When I found out about your effort I wanted to tell you about mine.
> I'm building something similar, but instead of only doing it
> "offline", I want the same, only live.
> So, video (or just audio, as you say) and the slide sent in real time.
> My big problem is obviously buffering (and thus latency) of the video.
> Because of this extremely unpredictable sending, it's not very easy to
> sync the slides to the video. I'm pushing out new pictures realtime,
> but it comes out waay to early for most.
infact I too want to do same..
Current demo can work on Live Videos too.. with little modifications..

Basically you want to send slides (via websocket or comet) and sync with
video.. Here is the mistake. Sending Slides in real time has no use. Please
do not take me wrong. Basically in almost any conference or workshop,
presenter already has slides ready. So if something is ready then you can
directly push it to user. send video/audio in real time.
Now my code execute this to setup slide-sync

for (var i = 0; i < SlideTiming.length; i++){
    start: SlideTiming[i][1], // seconds
    end: SlideTiming[i][2], // seconds
    slidenum: SlideTiming[i][0]

instead of this,, you can push slide configuration (via comet or websocket)
-- [slidenumber, starttime ] every time speaker update slideshow while
presentation, viewer will receive [slidenumber, starttime ]. After receiving
, the client side code can
execute .exec function of popcorn library to execute some javascript ...
Something like this..

popcorn.exec(slidetime, function(){

So , No need to send slides in real time.. Send all slides at once.. and
then keep on sending the configurations
I will also try to work on this...

PS: right now, exec function in popcorn is buggy..

> I'll continue to follow your project. My initial demo isn't up any
> more, so I've got nothing interesting at all, but it is called
> Errantia and lives here http://gitorious.org/errantia
> Anyway, I'm interested in knowing if you need to have live syncing
> later. If so, we'd need to get startTimeOffset implemented in the
> browsers. Mozilla will wait «until things like multitrack, media
> controller, streams, etc are less of a moving target». But WebKit may
> implement it, but I guess they need a test case.
> So I need a test case. Also heard that Microsoft is very interested to
> implement features that have test cases, and maybe even be first (!)
> because of that.
> --
> Beste helsing,
> Odin Hørthe Omdal <odin.omdal at gmail.com>
> http://velmont.no

│    Narendra Sisodiya
│    http://narendrasisodiya.com

More information about the whatwg mailing list