当前位置: 首页 > 面试题库 >

使用ffmpeg从图像创建视频文件

朱浩大
2023-03-14
问题内容

我现在可以编译ffmpeg并将其添加到项目创建的Android.mk文件的jni文件夹中,我想使用ffmpeg从存储在静态arraylist中的图像创建视频文件

我已经搜索了很多,但找不到任何教程,对此表示感谢。


问题答案:

我也有类似的需求,并且达到了相同的目的。您可以通过两种方式执行此操作。我想先分享一个简单的例子。

  • 在Android内部创建一个临时文件夹。

  • 将图像复制到新文件夹中

  • 首先,将图片重命名以遵循数字顺序。例如,img1.jpg,img2.jpg,img3.jpg…。然后,您可以运行:

  • 编程方式运行此程序 ffmpeg -f image2 -i img%d.jpg /tmp/a.mpg

要以编程方式运行此程序,

使用以下代码:

void convertImg_to_vid()
{
    Process chperm;
    try {
        chperm=Runtime.getRuntime().exec("su");
          DataOutputStream os = 
              new DataOutputStream(chperm.getOutputStream());

              os.writeBytes("ffmpeg -f image2 -i img%d.jpg /tmp/a.mpg\n");
              os.flush();

              chperm.waitFor();

    } catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    } catch (InterruptedException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
}

开始吧。我会帮助你的。

使用本教程:http : //ffmpeg.org/faq.html 本教程中的“
特别介绍3.2”部分。

为了能够运行上述命令,您应该在bin目录中有ffmpeg命令。ffmpeg二进制文件应针对Android平台交叉编译…



 类似资料:
  • 这行工作良好,但我想创建一个视频文件从图像在另一个文件夹。“我的文件夹”中的映像名称为: 我如何从不同的文件夹输入图像文件?示例: 我尝试了这个命令,但是只生成了第一个图像(img001.jpg)的视频。

  • 因此,我尝试提取视频的每一帧,然后使用ffprobe查看视频中何时播放每一帧,然后使用这些提取的图像和ffprobe输出将视频缝合在一起。 现在,我有一个批处理文件: 首先,为图像创建一个目录。然后ffmpeg将视频的所有帧提取到单独的PNG文件中,这些文件被适当地编号。最后,ffprobe会看到视频中第一次显示每一帧的时间(即:第1帧以0秒的速度显示,但以60fps的速度显示,然后第2帧以0.0

  • 我正在玩gstream er命令行界面,在从PNG图像创建mp4视频文件时卡住了。你们能帮忙解决这个问题吗? 使用下面的命令,我从摄像机创建了PNG图像: gst-launch-1.0。exe-v ksvideosrc!队列decodebin!视频转换!pngenc!多文件接收器位置=“frame  d.png” 我可以使用以下命令播放pPNG图像: gst-launch-1.0-v multi

  • 我试图创建一个视频从jpeg图像使用ffmpeg。生成的视频应为x264或x265格式。 我有一个36张图片的目录。每个图像大小约为60像素。它们的名称如下: 第00000帧。jpg 框架00001。jps 框架00002。jpg 框架00035。jpg 我阅读了SO中的文档和几篇文章,并编写了一个批处理文件来调用ffmpeg,如下所示: 当我运行这个命令时,我从ffmpeg得到了这个输出,这很奇

  • 我正在创建一个短视频从序列的100个图像使用FFMPEG。有几篇文章帮助我编写了一个命令,但我使用的这个命令是直接从ffmpeg图像到视频脚本中提取的,有人吗?。 下面的命令生成一个在我所有的视频播放器(OS X)中播放良好的视频文件。 但如果我把它改成, 除了VLC媒体播放器外,它在所有媒体播放器中都发挥得很好。VLC显示最初的1到3个图像,然后只是冻结在帧上。我测试了几种不同的帧率,似乎中断V