I've put together a movie in Final Cut Pro 10.2.3 with a lot of edits cut to the beat of the audio track. It is synced perfectly when previewed within FCPX but is off by quite a bit after sharing regardless of what settings I choose. I've transcoded all my media and created optimized versions
If you are experiencing a sync problems with FCP, 95% of the time it is because of mixing audio sample rates. Final Cut Pro is having a difficulties in resolving them to match.
Firstly, verify that every audio clip within your Browser has exactly the same sample rate. A bad sign, is if you see a sample rate that is very close to 48,000 Hz, but it's not (for instance 47.998 Hz). Your best friends for preparing audio for sample-precision editing are Apple Logic or discontinued Soundtrack Pro 3.
Secondly, if you have multiple audio formats, transcode them to *.wav.
And only then edit.
Related
This is not some programming question. I am working on a project where I have video files in different formats such as mov, mp4 etc.
My app is built using knockoutjs with html5 and css3.
Our Client requirement is when they play the video and use functionalities like fast forwaard, rewind etc.. there should be no performance issues with the video rendering.
Right now, I am able to render videos properly and fast forward feature works flawlessly with html5, the Issue I am facing is in Rewind, when users hit rewind, videos begin to stutter and lose frames, and to the users here rewind function is very important.
Now I want to make a consistent performance for videos of all formats.
What will be the ideal way of going ahead in order to optimize the video performance on websites.
Any suggestions and help is greatly appreciated.
I'm not sure how you encode your video, but look into optimizing your video keyframes to see if that improves your rewind performance.
Here is a brief overview of how that might help:
http://www.lighterra.com/papers/videoencodingh264/#maximumkeyframeinterval
...we still want enough keyframes that seeking and fast-forwarding
behavior is good, because players can only jump directly to keyframes
"under the hood" during playback, and will usually only display the
keyframes during fast-forwarding and rewinding at higher speeds (at
low speeds such as 2x or 3x they can often play every frame). Jumping
to an arbitrary point in the timeline therefore becomes more sluggish
the fewer keyframes there are, because more intervening delta-frames
need to be decoded just to reconstruct the final target frame, even
though those intervening frames between the previous keyframe and the
target frame won't actually be displayed.
I'm trying to figure out what would be the best way to record a blackboard type of application in the webbrowser. Where a tutor can record a video of the blackboard with audio.
I think the obvious answer here is to make a html5 canvas and capture it at intervals as images and combine these to a video. Like so
However this has several disadvantages. It is not easy to edit the video later on. Also videos would require a lot of storage space.
What are your ideas? How can I construct this recording and playback of a blackboard?
/Jake
I am currently working on a project that records HTML5 canvas drawings and allows you to play them back later. There are no images, everything is stored in the Javascript/JSON. There is no audio, so I plan on adding a transcript feature along with it. If you want to follow along with my project, it is at http://github.com/eipark. The code is still very much raw and buggy, but I am actively developing it for a school project and hope to have at least the "video" recording portion done in the next week.
I am making a project, that includes many videos. In short: let's say I want to put 20 videos that are on the screen (I won't put them all together - they would be 4 together each on 5 pages for example) and the user could hear 15 seconds of them and then decide if he/she wants to play the whole video.
this is the general code I use for import (just to understand how I import):
playlistVideoDisplay[i].movie = new FLVPlayback();
playlistVideoDisplay[i].movie.load("videos/somefile.flv");
To my understanding - It would be easier for flash to load 20 videos of 15 seconds each - and then when a user request a specific video - flash will load the full video of this specific short one.
BUT - I would much rather use the other way - loading full-length (let's say 10/7/5 minutes) and when the user can play the 15 second sample and, if he/she wishes, he will play the full video (without re-loading a new video - and not making a smooth transform between the short one and the long one).
My question is: Am I wrong by assuming that importing bigger movies would make everything hard and slow on flash?
First of: you'd probably do your users a great favor by NOT importing the full length FLV:s. In the case of 20 5-minute videos you'd be importing 100 minutes of moving pictures. That's a lot. For someone surfing with limited bandwidth (say a mobile broadband) that could easily eat a big chunk of the monthly allocated bandwidth.
For that reason alone, I'd say go with the small previews.
Having said that, I'd recommend you have a look at this class: http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/net/NetStream.html
Streaming would definitively be a better idea than loading all of those videos. Unless there's a specific reason why you want to load them?
Is there any significant performance/load time impact if single web page will load, say, 10 identical flash objects? 20? 30?.. any evidential data on sustainability of such kind of setup?
This would be the same flash app, each instance serving its own stream.
There's definitely going to be some overhead in size as there is a certain amount of code that is contained in every swf regardless of it's developer created content.
I'm almost certain there would be speed issues as well, which would see frame rates drop right down the more swfs you add to the page.
To be honest the concept smells a little fishy and i would think there must be a better solution to your problem.
EDIT
Also there is a restriction on having two steams coming over http per domain. Sure you could get around this but it will definitely be an issue.
I found this post which might help. The trick is to use SWFObject to embed your swf files.
I ran into a strange problem today. On the music charts page on Muziboo, I was displaying a list of songs and a playlist on the right. Each song has a small button player done in OpenLaszlo. In firefox everything was fine and in IE (not unusually), the page would freeze for sometime. This would happen once and repeat only if I delete cache and try again. I googled a bit and learnt that it's a good idea to embed give each swf a unique id otherwise the browser misbehaves. I then went ahead and used swfobject to embed the swf files and everything started working great!
Yes, it'll likely nuke the browser if you go too far down that road.
If you want to deal in multiple streams, perhaps combining all your would-be applets into one giant one might work better. It'll certainly offset the serious overhead you'd have with 10-40 of the little blighters.
If this is a music player, you want to have a serious look at doing some JavaScript remoting. It's fairly trivial to control a flash app via JS so you could have standard HTML/CSS controls without having to load up a billion flash instances.
Design-wise this just sounds like a bad idea. You'd be running multiple instances of the Flash player inside a browser, each of which has an individual cost, and the host (in this case the browser) will run all of them on the same thread (with the exception of certain elective asynchronous processes), so you're almost surely going to run into problems of various kinds -- jittery playback, UI blocking, processor burden, memory bloat, consequent instability of the host, etc.
Unless the SWFs are very tiny, and doing very little work, it seems like a design that's just asking for trouble. Indeed you could test such a thing fairly easily; have you run any tests yet? Just curious.
Also curious as to the requirements; we might be able to offer more constructive alternatives if we knew a little more about what you were aiming for. Have you considered simply loading all the SWFs into a single container SWF requiring only a single browser-hosted instance of the Flash player?
I'm looking for a simple way to put up musical "tunes" on a website.
So here's an analogy to explain my question:
Let's say I want to put up a couple of big triangles as a picture on my web page. I can either draw a bitmap and save as GIF/JPG/PNG, put it up somewhere on the internet, and link to it with an element. That works but the larger the picture the more space my image file takes up.
Alternatively, I can use SVG (even though Internet Explorer support is lacking, grr) and use vector graphics which uses very little bandwidth regardless of image size.
In the music world, I can use WAV or MP3 files. Works great -- but if I just want to publish a 1-minute song of simple notes, by knowing the durations & pitches, & don't care that it sounds 100% exactly like a piano or accordion, is there a way to (a) create a file with the song, and (b) put it online in a format that is space-efficient? 1 minute of MP3 usually takes up hundreds of kilobytes.
You could use a MIDI file, this stores durations/pitches etc. as you suggest. You should be able to easily find software to create this type of file. However you will probably find the results sound terrible, as it is very dependent on the synthesiser hardware/software that is available on the end-user's machine.
For what you need this might be reasonable though.
Look into playing music files on websites using Flash.
You can control the Flash through JavaScript calls.
This is currently the "recommended" way to play small audio clips in a website.
For larger media files, look into streaming FLV files using a Flash player.
Hope this helps :)
Check out the MIDI format for instruments.
http://en.wikipedia.org/wiki/MIDI