Closed. This question is off-topic。它当前不接受答案。
                            
                        
                    
                
                            
                                
                
                        
                            
                        
                    
                        
                            想改善这个问题吗? Update the question,所以它是on-topic,用于堆栈溢出。
                        
                        2年前关闭。
                                                                                            
                
        
我想将.webm转换为.mp4。有没有可以用Java实现的库?还是其他?

总而言之,我实际上是在开发一个可以从YouTube或Vimeo视频中提取声音的应用程序(使用lib vget)。

问题是返回,我得到了一个编码为.webm的文件。

最佳答案

您可以看一下JAVEDownload


  JAVE(Java音频视频编码器)库是Java上的包装器。
  ffmpeg项目。开发人员可以利用JAVE的优势
  将音频和视频文件从一种格式转码为另一种格式。在例子中
  您可以将AVI文件转码为MPEG文件,也可以更改DivX
  影片串流成Flash FLV影片(像YouTube一样),您可以将
  将WAV音频文件复制到MP3或Ogg Vorbis文件中,可以将
  转码音频和视频轨道,您可以调整视频大小,更改
  它们的大小和比例等等。许多其他格式的容器
  并且JAVE支持操作。


尽管我没有将它用于.webm,但是我确信使用此Library可以有一种解决方法。它几乎支持一切。



示例和教程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);

10-06 06:57