I'm looking for a plugin that would allow me to synchronize a set of images with a video. I can do this today with the Javascript API and some DOM manipulation. Maybe even linking an ImageRotator with an FLVPlayer via Javascript would be OK. But it seems like a plugin implementation in Flash might be a more solid alternative.
I've considered writing one, but I see in the JW Player Roadmap (item #326) that someone's already done this. I don't see it on the longtailvideo site anywhere. Is this plugin, or one like it, available?
I'm also looking for the same. Want to play a PPT sync and manipulated by video on JW Player. Want to make it as a plugin for JW Player. Also allow users to upload new ppt and mark sync points while they are watching the video.
i know using cue points we can sync images to the video.. but imagine the user is uploading a video (of any format) and a PPT with 10 slides, what can we make out of it?
lets put the PPT and video in separate frames, then too how to sync them? But its amazing, that VCASMO.com have done this with perfection!!!!
1) user uploads video file, ppt file, simple list of slide-number/time.
2) simple PHP script extracts slides (if you are going to be doing a lot of these, stash them in a database) option: extract slides on-the-fly as requested by your code from the Cue Points,
3) simple PHP script creates and injects the XMP object with the cue Points,
4) user plays video, as the cue Points are hit, the slides are requested from the server and displayed wherever/however you want.
PHP code to extract PPT slides:bc.. <?php
$app = new COM("PowerPoint.application") or die("Unable to instantiate PowerPoint"); $app->Visible = true; $pres = $app->Presentations->Open("D:/nginx/html/Water Conservation Project.ppt") or die ("Could not open presentation"); $app->Presentations[1]->SaveAs("D:/nginx/html",18); $app->Presentations[1]->Close(); $app->Quit(); $app = null;
?>
I also have the PHP code to create and inject the XMP object into the FLV container or into the F4V container with H.264 video if anyone is interested in developing this application further.
Am I the only one that hates the cue points method? It couples the slide timing into the video file itself....feels too tightly bound. Wouldn't having the plugin read a text or xml file with the timing info be more flexible?
He's talking about what omnisio.com was before youtube bought them, what vcasmo.com is doing now, what sonicfoundry.com runs live with silverlight, and what kaltura.com hasn't finished building yet.
JW looks like he removed it from the roadmap when he came across Mark Beharrell's plugin for it. http://developer.longtailvideo.com/trac/ticket/326
That was 11 months ago, and I can't find that plugin anywhere.
Hi, i wonder if You can help me. Imagine Flow Plugin with thumbnails that sync slide with main video window. The player set in autoplay mode will sequentialy play video clips from my playlist.
I mean, while the clip_1 is being played 5 seconds before it ends the thumbnail of the following clip_2 shows up under player with describtion like "following next clip_2 !"
What do You say? is possible to create such a plugin for JW player ?
"I also have the PHP code to create and inject the XMP object into the FLV container or into the F4V container with H.264 video if anyone is interested in developing this application further."
I am interested in that application. Php extraction of ppt slides with timing then flv presenter video synced to slides in another FLV container.
the second one doesn't show the slidescroller (only empty spot, thats because i use licensed version?), i can't use another plugin with this one?, and if i download the xml file the example is using, and use that on my localpage, i cant get it to work :(.
And have u any idea when the beta turns into final version? Thx
but still it won't work with my licensed player (and my own made pluging that works with my licensed_player aint working with the standard one so i can't check wheter the work combined :(, fault in the licensed version??).
I updated my testpage to show u, and also when i use a local xml-file the plugin won't work even not with the standard player.
And a little bug i see is that when i click on a image(slide), the slider goes to the left image of the one I clicked (not always but sometimes).
Hmm, now I get a Flash Debug Player Error when loading the page:
Error #2044: Unhandled securityError:. text=Error #2048: Security sandbox violation: http://plugins.longtailvideo.com/5/slidescroller/slidescroller-1.swf cannot load data from http://content.longtailvideo.com.s3.amazonaws.com/files/slidescroller/slidescroller.xml.
at com.learningapi.slidesyncplugin::SlideLoader/loadXML()
at com.learningapi.slidesyncplugin::Slidegallery/initPlugin()
at com.longtailvideo.jwplayer.controller::PlayerSetup/initPlugins()
at com.longtailvideo.jwplayer.controller::TaskQueue/nextTask()
at com.longtailvideo.jwplayer.controller::TaskQueue/success()
at flash.events::EventDispatcher/dispatchEventFunction()
at flash.events::EventDispatcher/dispatchEvent()
at com.longtailvideo.jwplayer.events::GlobalEventDispatcher/dispatchEvent()
at com.longtailvideo.jwplayer.model::Playlist/load()
at com.longtailvideo.jwplayer.controller::PlayerSetup/loadPlaylist()
at com.longtailvideo.jwplayer.controller::TaskQueue/nextTask()
at com.longtailvideo.jwplayer.controller::TaskQueue/success()
at flash.events::EventDispatcher/dispatchEventFunction()
at flash.events::EventDispatcher/dispatchEvent()
at com.longtailvideo.jwplayer.controller::PluginLoader/checkComplete()
at com.longtailvideo.jwplayer.controller::PluginLoader/loadSuccess()
at flash.events::EventDispatcher/dispatchEventFunction()
at flash.events::EventDispatcher/dispatchEvent()
at com.longtailvideo.jwplayer.utils::AssetLoader/loadComplete()
bc.. And a little bug i see is that when i click on a image(slide), the slider goes to the left image of the one I clicked (not always but sometimes).
This is due to the locations of keyframes in the encoded file. When using HTTP for delivery, the player can only seek to spots where a keyframe exists. It'll pick the nearest one prior to the timecode you've selected. If your encoding includes sparse keyframes, this can make the slideshow awkward to navigate. Typically, having keyframes every couple of seconds works well.
If you're streaming with RTMP, this limitation seems to go away - it will seek to wherever you want.
@Ethan LongTail - it's online, the URL is same as the name. It allows you to upload PPTs and video and a timeline and it'll sync them. You can download the files (Flash + jpgs) and run locally or on your own server. Problem is that it's pretty locked down and if you make any layout changes it breaks. Really looking for a more flexible solution... Going to check now for the beta release.
If anyone has already created something that allows flexible layout skinnable that can run locally as well as online, I'd like to buy it. All the major video or presentation apps are pretty useless for synching 100 slides to 2 hours of video...
I have something that I created; you can take a look at it. It's really an entire management system in the making. http://gazelles.webvideodesk.com/growthseries/?iId=3 The system basically helps you manage your content on Amazon S3 or any FTP enabled server. It has the tools for uploading slides and marking them to a time line. I'm building an HTML5 version and doing some other good stuff. There is a link to my site at he bottom and from there you can contact me.
Hi! The problem is that SlideScroller skips some slides, which are located with each other, when i click on it. For example when i click 2nd slide, it is going to 4rd slide. Is it problem with beta version? Thanks.
There is another problem. I use slideSync plugin on local machine. The code: <script type="text/javascript"> var so = new SWFObject('player.swf', 'mpl','990','480','9'); so.addParam('allowscriptaccess','always'); so.addParam('allowfullscreen','true'); so.addParam('bgcolor','#444444'); so.addParam('flashvars', 'file=intro.flv&plugins=./slidesync-1.swf&slidesync.xmlPath=slideSync.xml&slidesync.position=right&slidesync.size=630&slidesync.bgcolor=#444444'); so.write('mediaspace'); </script>
Th? problem is that slides in slide area doesn't expand on full height. But when i try to run it on the server (sure, with longtailvideo server plugin's path ), it works done.
On local machine I use "slidesync-1.swf" from the http://www.learningapi.com/jwplugin/slideSyncV1.zip archive, "bin-release" folder.
This is a great plugin! There are really few solutions out there that actually work well in different browsers. Any ideas on the further development of the plugin: when will it be out of Beta? Will there be more flexibility on customizing the layout in future versions?
SlideSync already a great tool and would be very interesting to see it develop further.
I love the look of this plugin in the examples, however I have not been able to get it to load my slides. I know I am probably overlooking something very simple, Perhaps someone could shine some light on my issue?
I would put the full paths in your XML file to, as it is requesting those files that can’t be found as it currently is. I see the requests in Firebug. The embedder should work fine for these plugins as long as the code is correct.
Ok, I have gotten the embed method working now with no problem, Thanks so much for help!
I am curious there is limited coding examples for the embedder and it seems the movie does not want to load for me. Oh well I will keep playing with that part only because its easier for me to replicate
<script type='text/javascript'> var so = new SWFObject('../../../mediaplayer-5.4-viral/player.swf','mpl','530','274','9'); so.addParam('allowfullscreen','false'); so.addParam('allowscriptaccess','always'); so.addParam('wmode','opaque'); so.addVariable('file','http://geriatrics.stanford.edu/resources/video/intercultural-1/media/100-hallenbeck-2.mp4'); so.addVariable('image','http://geriatrics.stanford.edu/resources/video/intercultural-1/images/hallenbeck-poster.jpg'); so.addVariable('duration','03:19'); so.addVariable("screencolor", "#ffffff");
This works great on everything except for the iPad, where I get the following error: Result of expression '$(#myplayer').jwplayer' [undefined] is not a function.
On an iphone, I don't get the same error and the video plays. I know there is a new embed method with the latest player, but I like using this one because it allows for a different video to play for the iphone/ipad, which is nice since slidesync isn't supported for these devices. If anyone has a solution, I'd really appreciate it.
I do try to use slidesync with the new embed method, but the slides are not showing up. I believe the problem lies with the xmlPath variable here: plugins: { slidesync: { xmlPath: "http://geriatrics.stanford.edu/resources/video/intercultural-1/slide-list/chapter-1-b.xml", size: "310", position: "right", bgcolor: '#ffffff' } },
@Hector Jaime – You need to use the new embed method for HTML5 support. That is why it your code is not working on the iPad. Can you provide a link to where you are trying the new embed method?
Here is a link: http://geriatrics.stanford.edu/video/intercultural-1/talk/1-intro-test.html
As you can see, the slides are not loading to the right of the video. Also, if I use the new embed method, is there a way to specify an alternate video for iphone/ipad? There's no sense in just seeing the talking head without slides, but, since it's flash-based, slide sync doesn't work on iphone/ipad?
You are right. The slides are there and showed up right away. At work, all I see is a black square instead of slides, and they never load. I am working somewhere with a massive firewall and a slow network, so things that work in the normal world don't work very well.