1
我想将.webm
转换为.mp4
。有哪些库可以在Java中执行?还是其他什么?总之,我实际上正在开发一个应用程序,它可以从YouTube或Vimeo视频中提取声音(使用lib vget)。将.webm转换为.mp4
问题是返回,我得到一个编码为.webm
的文件。
我想将.webm
转换为.mp4
。有哪些库可以在Java中执行?还是其他什么?总之,我实际上正在开发一个应用程序,它可以从YouTube或Vimeo视频中提取声音(使用lib vget)。将.webm转换为.mp4
问题是返回,我得到一个编码为.webm
的文件。
你可以看看JAVE
(Download)
的JAVE(Java的音频视频编码器)图书馆在 项目ffmpeg的Java包装。开发者可以利用JAVE将 的音频和视频文件从一种格式转码为另一种格式。在示例 中,您可以将AVI文件转码为MPEG格式,您可以将DivX 视频流转换为(youtube like)Flash FLV格式,也可以将 WAV音频文件转换为MP3格式或Ogg Vorbis格式,可以分离和编码音频和视频轨道,您可以调整视频大小,更改 其大小和比例等。 JAVE支持许多其他格式,容器 和操作。
虽然我没有使用它的.webm
我相信有一个解决方法使用此库。它几乎支持一切。
例子和教程here
实例转换AVI
到一个类似YouTube的FLV
电影,带有嵌入式MP3
音频流:
File source = new File("source.avi");
File target = new File("target.flv");
AudioAttributes audio = new AudioAttributes();
audio.setCodec("libmp3lame");
audio.setBitRate(new Integer(64000));
audio.setChannels(new Integer(1));
audio.setSamplingRate(new Integer(22050));
VideoAttributes video = new VideoAttributes();
video.setCodec("flv");
video.setBitRate(new Integer(160000));
video.setFrameRate(new Integer(15));
video.setSize(new VideoSize(400, 300));
EncodingAttributes attrs = new EncodingAttributes();
attrs.setFormat("flv");
attrs.setAudioAttributes(audio);
attrs.setVideoAttributes(video);
Encoder encoder = new Encoder();
encoder.encode(source, target, attrs);
嘿维克多,我看到一些人投票决定关闭你的问题,因为他们认为你的这是关于堆栈溢出题外话,因为你问的图书馆的建议。我认为他们错了。但为了避免这种情况,您可以简单地问一下如何在Java中解决这个问题,而不用提到库。 – Lii
我收回**重新开放**投票。当你编写一个真正的**编程**/**技术**问题时,它会很好。例如,在YouTube上,视频的音频部分(mp3或m4a)的直接链接可以在页面的源代码中找到(在特定的文本提取和清理其html实体之后...等)。另外考虑使用一些FFmpeg可执行文件作为外部'Process'来实现格式转换。 –