Generate photo SlideShow in Java and Export as Video - java

I want to create a cross platform SlideShow maker desktop-application (mainly Windows & Mac), the SlideShow will be generated using a set of images with background music, subtitles/captions and there will be a transition between each slide/image.
I have done all the UI in swing and it all works superb on Windows & Mac. Now the only "little" problem is
How to generate a video from a set of images with "transitions" & "subtitles" in java using native java libs/frameworks and add some music in background ;-)
I want the video output format to be at least in avi & mov, with transitions like:
1) fade
2) Zoom (images will zoom-in from e.g. 64x64 to full video size)
3) Multiple (multiple images will appear in single slide)
I have used JMF example to generate .mov from .jpeg images it was buggy but may work if I can add transitions?? But it appears JMF is mainly for media playback it only supports a few media formats (for output).
I have also read a few docs of jffmpeg but it appears it too does not support transitions.
I have also tried FMJ but no use, now I am stuck and need assistance, on how this task can be done in java.
I would be immensely thankful if anyone can guide me in right direction.
--
many thanks

I think you can accomplish this task with xuggler. Check it out. It might fit you needs.
Xuggler

Related

How to create a video from a series of images with transition

I want to create a video from a series of images and add a transition between the images (e.g., fade in and fade out). I’m looking for a Java solution and not a C++ one (FFmpeg or anything else).
I checked out JCodec and MediaCodec, but none of those support image transitions.
Have you already tried it with OpenCV for Java? OpenCV offers almost everything you need for such a task. To the transitions you would have to worry about then manually with image blending. But that can be solved with OpenCV too. Just take a look at the documentary
EDIT:
It looks like the Java API lacks the appropriate module that can encode a sequence of images. You can fade images in any case. Take a look at the tutorial. This means you would have to crossfade the images with OpenCV and then use another API (e.g. jcodec) to make a video from the images you create.

Why my project works on android but not on ios in codenameone?

I work on a big project with codenameone(i can't attach my codes because it's really big). I get android app and it's works on android devices. But recently i get ios build for this project and it's not working on ios device(just showing a white page instead of map).
My project is a map-framework that render tiles and ... on graphics(i used graphics class for drawing, transforming, writing text and more).
I used input stream for working with file because of File not supported.
I need a solution to how debug and find my problem about ios build(why tiles doesn't showed).
In fact i don'n know anything about ios and objective-c.
Thanks in advance.
Most of the logging functionality that allows inspecting issues is for pro developers (you can try the trial) its discussed in this video (mostly focused on crashes): http://www.codenameone.com/how-do-i---use-crash-protection-get-device-logs.html
From your description I would guess you created a really large mutable image (larger than screen bounds) and are drawing onto that. This would be both slow on iOS (and on newer Android devices) and might actually produce that result if the image exceeds the maximum texture size of the device.
If that is not the case you would need to explain what you are doing more precisely.

How to embed a 10 second MP4 video in java GUI?

I've looked up multiple options for embedding a MP4 video into my GUI. I seen many people advise against using swing because it's old. I've done many GUI's with adding image icons and such but never tried embedding a MP4 video until now. Is there a simple way to embed my MP4 video into my GUI such as how Image Icons are added? Also is there a method that will keep this video on replay until the application closes? such as a video.repeat(true); or something of that nature? Thanks for all the help ahead of time.
I don't know if/how it is possible in pure Swing, but you can embed a JavaFX MediaPlayer in your Swing application, see details here: https://stackoverflow.com/a/16326393/1149528 or here: Can't play mp4 converted file - JavaFX 2.1

Gstreamer-java color distortion

I am playing video with gstreamer using gstreamer-java.
When I move my program to ubuntu and play video with it, the red and blue colors are switched, like..the people's faces are blue.
If I run the same program on windows, I don't have any color problem..
I did some search on google and here is what i found
https://answers.launchpad.net/ubuntu/+source/totem/+question/7373
I followed a lot of these people's suggestions here, but it still doesn't work on the ubuntu..
The Movie Player in ubunutu - totem (using gstreamer) can display the colors correctly for the same video file.
is there any way I can control gstreamer using gstreamer-java to change the color settings so it looks right?
Thanks!
I think you are using the XVideo (XV) or OpenGL output. There is probably a problem in the graphics driver. One solution is to use unaccelerated X11 output which is going to be painfully slow but won't have the artifacts you mention.
Could you provide gst-launch pipeline string which you should also be using in gstreamer-java api? From your description it looks like the image appears as RGB instead of BGR. This is due to video buffers being received as Big Endian in Java API. You may want to refer this patch on http://groups.google.com/group/gstreamer-java/msg/f93e7900d3028c51

Converting audio files(.3gp) to video with Album cover and uploading to YouTube

I have an audio file in .3gp format on my Android device which I wish
to upload to YouTube. I know that YouTube is a video upload site and
that I need to convert this sound file to video.
I just want an image to display all the time the audio is playing.
Google tells me there are number of tools that can help me. But I want
to do this via java code from my Android device.
Please help.
Thanks.
There are tools such as FFMPEG available for free that allow you to, essentially, mix and convert heterogenous streams. That is you can add a bitmap to a video, create video from slide shows and then add sound etc. (See a related question I asked here).
These programs can be executed from within java applications by making Runtime.exec(..) calls.
Sun has an example for stitching multiple JPEGs together into a movie, you can find it here. You should be able to take this example, (its fairly robust), and add what you need to it.
I recommend looking into the Java Media Framework (FAQ)
You can find a vast collection of sample applets/code at the Sun Solutions page. You can find the API on this page. I do hope this is compatible on the Android platform, as I haven't had any personal experience developing for it. But it might be a good place to start.

Categories