Java 如何将InputStream转换为视频文件(avi)

Java 如何将InputStream转换为视频文件(avi),java,hadoop,Java,Hadoop,我有HDFS上的视频文件,每个文件大小为50MB(1000个文件)。我想利用hadoop map减少任务的同时需要处理视频。然而,我只知道处理结构化数据,如文本文件等。我不知道如何处理视频文件。 我想在集群上读取映射器中的所有视频文件,然后将该视频转换为图像。在这里,我必须在图像上应用一些图形,然后再次将该视频转换回HDFS的最终输出。我正在使用Xugler在hadoop集群上进行视频到图像和图像到视频的转换 有人能建议我应该使用什么作业配置来实现这一点吗?如果输入流是AVI文件的内容,您只需将

我有HDFS上的视频文件,每个文件大小为50MB(1000个文件)。我想利用hadoop map减少任务的同时需要处理视频。然而,我只知道处理结构化数据,如文本文件等。我不知道如何处理视频文件。 我想在集群上读取映射器中的所有视频文件,然后将该视频转换为图像。在这里,我必须在图像上应用一些图形,然后再次将该视频转换回HDFS的最终输出。我正在使用Xugler在hadoop集群上进行视频到图像和图像到视频的转换


有人能建议我应该使用什么作业配置来实现这一点吗?

如果输入流是AVI文件的内容,您只需将输入流保存到文件中即可。那就是你的阿维了。您可以按照以下思路编写代码(使用JDK7中的auto-closables和apache commons中的IOUtils):


似乎你有视频的http链接,例如。http://..../test.avi 因此,您可以打开流并在本地目录中创建文件,在本地文件中复制流并使用.avi保存文件。该文件位于Amazonwhats IOUtils上的HDFS上?我找不到这个。正如我所说的“来自ApacheCommons的IOUtils”:
org.Apache.Commons.io.IOUtils
或者提出您自己的版本。如果你看一下来源就没那么复杂了。啊,好的。谢谢你:)
void save(InputStream in, String fname) throws IOException {
    try (FileOutputStream out = new FileOutputStream(new File(fname))) {
        IOUtils.copy(in, out);
    }
}