Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/video/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Java转换为FLV_Java_Video_Ffmpeg_Flv - Fatal编程技术网

使用Java转换为FLV

使用Java转换为FLV,java,video,ffmpeg,flv,Java,Video,Ffmpeg,Flv,有人知道如何使用java将任何类型的视频格式转换为flv吗?我一直在搜索用于转换视频的java api,但似乎没有这样的东西,但可能有一种方法可以做到,我的意思是制作类似youtube服务的东西来转换视频,但使用java,我需要一个网络应用程序,可以显示成FLv格式的视频,但要上传任何格式,如果有人这样做了,请让我知道如何或任何想法 谢谢。在Java中没有一个是直接想到的,即使Java自己的媒体框架也不支持FLV,但您可能会发现它很有用。如果发现任何非Java命令行工具对您有用,那么您可以使用(

有人知道如何使用java将任何类型的视频格式转换为flv吗?我一直在搜索用于转换视频的java api,但似乎没有这样的东西,但可能有一种方法可以做到,我的意思是制作类似youtube服务的东西来转换视频,但使用java,我需要一个网络应用程序,可以显示成FLv格式的视频,但要上传任何格式,如果有人这样做了,请让我知道如何或任何想法


谢谢。

在Java中没有一个是直接想到的,即使Java自己的媒体框架也不支持FLV,但您可能会发现它很有用。如果发现任何非Java命令行工具对您有用,那么您可以使用()或更好地使用(),从Java内部执行它。

有一个ffmpeg包装器,可以插入JMF:

使用Xugler,下面是一段简单的代码,完全按照您的要求执行:

公共类媒体转换器{
公共void main(字符串[]参数){
//假设以下内容:arg0是输入文件,arg1是输出文件
IMediaReader=ToolFactory.makeReader(args[0]);
IMediaWriter=ToolFactory.makeWriter(args[1],读卡器);
writer.open();
writer.setForceInterleave(true);
IContainerFormat outFormat=IContainerFormat.make();
outFormat.setOutputFormat(“flv”,参数[1],空);
IContainer容器=writer.getContainer();
container.open(args[1],IContainer.Type.WRITE,outFormat);
writer.addVideoStream(0,0,ICodec.findEncodingCodecByName(“flv”),320240);
writer.addAudioStream(1,0,ICodec.findencodingcodecodbyname(“libmp3lame”),244100);
reader.addListener(writer);
while(reader.readPacket()==null);
}
}
现在试着用JMF或FMJ或其他什么工具来做(如果你想头疼的话)

public class AnyMediaConverter { public void main(String[] args) { //assumes the following: arg0 is input file and arg1 is output file IMediaReader reader = ToolFactory.makeReader(args[0]); IMediaWriter writer = ToolFactory.makeWriter(args[1], reader); writer.open(); writer.setForceInterleave(true); IContainerFormat outFormat = IContainerFormat.make(); outFormat.setOutputFormat("flv", args[1], null); IContainer container = writer.getContainer(); container.open(args[1], IContainer.Type.WRITE, outFormat); writer.addVideoStream(0, 0, ICodec.findEncodingCodecByName("flv"), 320, 240); writer.addAudioStream(1, 0, ICodec.findEncodingCodecByName("libmp3lame"), 2, 44100); reader.addListener(writer); while (reader.readPacket() == null); } }