将一组图像转换为android中的单个视频文件

时间:2013-01-25 12:38:31

标签: android image video

我有一组图像,我希望通过循环运行它们,并将其保存为sdcard中的视频文件。我可以使用android中的默认实用程序吗? ?任何能满足我要求的图书馆。 ?

4 个答案:

答案 0 :(得分:2)

您需要一个库来创建这些。这里有一些关于此的帖子:

Java Package to create video

Video Creation with Xuggler

教程:

Tutorial To create Video from Xuggler

答案 1 :(得分:0)

没有内置的Android库支持此功能。 This SO post建议使用通过Java端口或使用ffmpeg在C / C ++中编写的Android NDK

答案 2 :(得分:0)

在您的android项目中使用Java javacpp.jarjavacv.jar创建一系列图像到视频

以下代码用于制作视频

recorder = new FFmpegFrameRecorder("Videofilename", 480, 480);

try {
    recorder.setVideoCodec(13);
    recorder.setFrameRate(0.4d);
    recorder.setPixelFormat(0);
    recorder.setVideoQuality(1.0d);
    recorder.setVideoBitrate(4000);

    startTime = System.currentTimeMillis();
    recorder.start();

    int time = Integer.parseInt(params[0]);
    resp = "Slept for " + time + " milliseconds";

    for (int i = 0; i < iplimage.length; i++) {
        long t = 1000 * (System.currentTimeMillis() - startTime);
        if (t < recorder.getTimestamp()) {
            t = recorder.getTimestamp() + 1000;
        }
        recorder.setTimestamp(t);
        recorder.record(iplimage[i]);
    }
} catch (Exception e) {
    e.printStackTrace();
}

答案 3 :(得分:-2)

用于创建逐帧动画的对象,由一系列Drawable对象定义,可用作View对象的背景。

创建逐帧动画的最简单方法是在XML文件中定义动画,放置在res / drawable /文件夹中,并将其设置为View对象的背景。然后,调用start()来运行动画。

以XML定义的AnimationDrawable由单个元素和一系列嵌套标记组成。每个项目定义动画的帧。请参阅下面的示例。

res / drawable /文件夹中的

spin_animation.xml文件:

<!-- Animation frames are wheel0.png -- wheel5.png files inside the
 res/drawable/ folder -->
 <animation-list android:id="@+id/selected" android:oneshot="false">
    <item android:drawable="@drawable/wheel0" android:duration="50" />
    <item android:drawable="@drawable/wheel1" android:duration="50" />
    <item android:drawable="@drawable/wheel2" android:duration="50" />
    <item android:drawable="@drawable/wheel3" android:duration="50" />
    <item android:drawable="@drawable/wheel4" android:duration="50" />
    <item android:drawable="@drawable/wheel5" android:duration="50" />
 </animation-list>

以下是加载和播放此动画的代码。

 // Load the ImageView that will host the animation and
 // set its background to our AnimationDrawable XML resource.
 ImageView img = (ImageView)findViewById(R.id.spinning_wheel_image);
 img.setBackgroundResource(R.drawable.spin_animation);

 // Get the background, which has been compiled to an AnimationDrawable object.
 AnimationDrawable frameAnimation = (AnimationDrawable) img.getBackground();

 // Start the animation (looped playback by default).
 frameAnimation.start();