I created an animation in flash CS5 and when I export it to swf I have serious quality loss. Do you know how to resolve it? How to optimize quality?
Some more details would be helpful, but here's my best guess. The animation was built natively in Flash, and you're publishing it as a .swf, right? That shouldn't cause any quality loss in and of itself, but SWF players have a 'quality' setting that you may have set low. How to check and change this setting depends on what player you're using.
Related
I am implementing Brightcove player in my website and I am facing problem in order to figure out how to set the video Quality/Rendition programmatically.
Any help and suggestions are heartily appreciated.
For DASH/HLS you can either use https://github.com/videojs/videojs-contrib-quality-levels or the representations API (quality levels is preferred).
That said, i'd like to point it out that Brightcove has just released a new feature called Context Aware Encoding.
Context Aware Encoding is a technology that uses machine learning to optimize encoding settings on a per-content item and delivery context basis. In a nut shell, it choose the best quality/rendition based on the size of the viewport and the bandwidth support of your ISP or mobile.
It will also help reduce the storage and bandwidth costs associated with video delivery, but without compromising visual quality.
Hope that helps.
I have made a custom video player in Flash built on the AS3 Netstream. In development it was never causing any significant CPU usage: Youtube/Vimeo are at about 10 to 15% CPU and my own player 20 to 25%.
Now it's running on our development webserver and it is hogging the CPU.
I have tried setting the framerate unreasonably low (1fps) and it doesn't seem to make any significant impact.
We have experimented with WMODE in the HTML page that runs the player. In wmode: "direct" it is a little better, but still nowhere close to the CPU amount in FlashDevelop.
I will gladly post all the code you think is relevant but at the moment I am at a loss for what could be causing this.
UPDATE:
Could it be related to the video file format?
UPDATE:
I have tried Chrome and Firefox on multiple computers. CPU usage varies according to the speed of the computer, as expected, but is always about 4 or 5 times as much as any other video player. So far we have found out that the high CPU compared to other players is caused by decompressing. If a smaller video format is used it works better. However, this doesn't answer the main question: why is the CPU usage within browser(s) so much higher than in standalone Flash?
There could be a difference in performance in different environments, so please check the follwing things:
is flashdevelop using a debug or release player?
is your browser using a debug or release player?
does it matter if you make a release or debug build (if you use the Flash IDE, this setting is called 'permit debugging')? Test on debug player AND release player?
are you using the chrome pepper player (buildin)?
is your code valid, doublechecked, no runtime errors?
did you profile the flash on memory leaks?
are you using StageVideo? This will render video on GPU, which should give better performance (Btw youtube and vimeo does)
did you test with other videos, bitrates, encodings?
I disabled the plugin-container in Firefox (in about:config, turn dom.ipc.plugins.enabled to false) and my Flex app seems to run as fast as in the standalone player now.
This question has already been asked in Experience using Strobe Media Playback (OSMF)? but that was way back in 2010.
Can anyone help me understand the current situation? I want to integrate a video player but am confused if i have to use OSMF or Flowplayer. Can anyone give me suggestions or pros/cons?
From my experience the best part of Flowplayer is you can easily branded into different style which essentially you can customize the player at almost everywhere. It supports both css pre-defined style or dynamic update with JavaScript which will be extremely handy if you need to some advanced task. On this aspect, however, OSMF doesn't give you too many flexibility.
I am developing one Blackberry application. In that application i am using lot of images both downloading from server as well as inside application using images for designing image button. My application working fine until continuously using 3 to 4 minutes.After that my application performance was too bad. My question is how to optimize memory to improve my application performance?
Thanks in Advance.
A pure guess - you are keeping the downloaded images in RAM, even if you don't use them on your current screen. If this is the case, then try to save them to the file system and read only those you're actually use for the current screen.
Unfortunatelly we can only guess, while it'd be much better to do it in a professional way. First of all you should detect your real reason. For this you should monitor your app to see what kind of objects eat most of the memory. And also how memory state changes in time. I work in JDE and it has a built-in tool for such kind of monitoring: 'View' > 'Object Statistics' (or 'Memory Statistics'). To activate those items you have to start your app in debugger. When you know the reason, you can go further and actually fix your code.
Use Eclipse Blackberry plugin profiler to find out if its memory or cpu performance issues.
If there are images in resources you are using constantly for UI elements, it's better to load them on app start and save them into some static constants. This way you will save CPU from loading images from resources.
Also consider convert images in resources into PNG with the 565 colorspace
We are creating animations using HTML5 + Javascript. Now, we'd like to convert these animations to video files (MPEG4, or other, doesn't matter) so that browserly challenged people could also see the animations. Animations contain an audio track.
We are looking for solutions where HTML page would be rendered and recorded on the server side. I know there exist tools for rendering web page thumbnails etc. static images already. However, in our use case we should output a video file.
What options are there? Is headless X server + Firefox a way to go? Preferably we'd be running this in a cloud (Amazon EC2).
Also if there something special we'd need to think when playing animation in non-real-time speeds, I'd like to hear - e.g. syncing HTML5 audio with animation.
Just to note that we have solved this problem by
Running Firefox on a headless server. A server with a decent graphics card.
Having a Selenium Python control script to start/stop rendering
A custom rendering loop which will use Firefox's XPCom API to feed <canvas> raw pixels directly in the encoding pipeline
A custom Javascript rendering loop where clock does not come from a real clock, but it slices frames to the renderer on a stable framerate which is not real-time
Quite a complex system, so doesn't fit into one Answer box :(
One thing that might work, depending on your animation, would be to essentially create an animated gif. With enough still images of your animation strung together, you should be able to turn those into a video with the right software. This is a rather brute-force solution, but if you can advance through your animation in a "frame-by-frame" fashion, it might work.
Sounds interesting. I've done a similar thing with the QtWebKit library that requires a headless X server to run. What I was doing was converting web pages to PDF on a large scale. It might make sense to search for some webkit2pdf tools to see an example that you can build off of.
I would take a look at the library and combine it with another recording solution.
In terms of tooling I've had a pretty decent experience with these Ruby tools:
the headless gem supports video capturing with ffmpeg
capybara will allow you to drive e.g. firefox.
I have NO idea about how they deal with audio though