On Sun, May 22, 2011 at 5:42 PM, Odin <odin.om...@gmail.com> wrote: > On Sun, May 22, 2011 at 6:48 AM, Narendra Sisodiya > <naren...@narendrasisodiya.com> wrote: > > On Sun, May 22, 2011 at 8:22 AM, Silvia Pfeiffer > > <silviapfeiff...@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++){ popcorn.slide({ 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(){ HideSlide(slidenumber-1); ShowSlide(slidenumber); }) 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.om...@gmail.com> > http://velmont.no > -- ┌─────────────────────────┐ │ Narendra Sisodiya │ http://narendrasisodiya.com └─────────────────────────┘