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