我想将.webm
转换为.mp4
。有没有可以用Java实现的库?还是其他什么?
总而言之,我实际上正在开发一个可以从YouTube或Vimeo视频中提取声音的应用程序(使用lib vget)。
问题是返回,我得到一个编码为.webm
的文件。
答案 0 :(得分:2)
您可以查看JAVE
(Download)
JAVE(Java音频视频编码器)库是Java包装器上的 ffmpeg项目。开发人员可以利用JAVE 将音频和视频文件从格式转码到另一种格式。在例子中 您可以将AVI文件转码为MPEG文件,您可以更改DivX 视频流变为(youtube like)Flash FLV之一,你可以转换一个 WAV音频文件到MP3或Ogg Vorbis一个,你可以单独和 转码音频和视频曲目,您可以调整视频大小,更改 它们的大小和比例等等。许多其他格式,容器 和操作由JAVE支持。
虽然我没有将它用于.webm
我确信使用此库有一种解决方法。它几乎支持一切。
示例和教程here
使用嵌入式AVI
音频流将FLV
转换为类似YouTube的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);