作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试将文件从 mp4 转换为 webm。我正在尝试使用 FFmpeg 的 JAVE 包装器。我收到错误消息。
这是我的代码:
private String ConvertVideo(URL url) {
File target =null;
MultimediaObject multimediaObject = new MultimediaObject(url);
try {
target = File.createTempFile("target", ".webm");
} catch (IOException e1) {
e1.printStackTrace();
}
AudioAttributes audio = new AudioAttributes();
audio.setCodec(AudioAttributes.DIRECT_STREAM_COPY);
audio.setBitRate(new Integer(128000));
audio.setSamplingRate(new Integer(44100));
audio.setChannels(new Integer(2));
VideoAttributes video = new VideoAttributes();
video.setBitRate(new Integer(160000));
video.setFrameRate(new Integer(15));
video.setCodec("libvpx-vp9");
video.setCodec(VideoAttributes.DIRECT_STREAM_COPY);
EncodingAttributes attrs = new EncodingAttributes();
attrs.setFormat("webm");
attrs.setAudioAttributes(audio);
attrs.setVideoAttributes(video);
try {
Encoder encoder = new Encoder();
encoder.encode(multimediaObject, target, attrs);
} catch (Exception e) {
e.printStackTrace();
}
return "success";
}
我收到以下错误:
2022-Jun-13 11:12:55 AM [qtp1914526580-175] ERROR ws.schild.jave.Encoder - Process exit code: 1 to target2636257785060285182.webm
ws.schild.jave.EncoderException: Exit code of ffmpeg encoding run is 1
我在这里做错了什么。还有其他方法吗?我只想用java来做。
最佳答案
我已经整理好了。这是我的最终工作代码。刚刚删除了 video.setCodec(VideoAttributes.DIRECT_STREAM_COPY);
行并且还更改了 audio.setCodec(AudioAttributes.DIRECT_STREAM_COPY);
行至audio.setCodec("libvorbis");
private String convertVideo(URL url) {
File target =null;
MultimediaObject multimediaObject = new MultimediaObject(url);
try {
target = File.createTempFile("target", ".webm");
} catch (IOException e1) {
e1.printStackTrace();
}
AudioAttributes audio = new AudioAttributes();
audio.setCodec("libvorbis");
audio.setBitRate(new Integer(128000));
audio.setSamplingRate(new Integer(44100));
audio.setChannels(new Integer(2));
VideoAttributes video = new VideoAttributes();
video.setBitRate(new Integer(160000));
video.setFrameRate(new Integer(20));
video.setCodec("libvpx-vp9");
EncodingAttributes attrs = new EncodingAttributes();
attrs.setFormat("webm");
attrs.setAudioAttributes(audio);
attrs.setVideoAttributes(video);
try {
Encoder encoder = new Encoder();
encoder.encode(multimediaObject, target, attrs);
} catch (Exception e) {
e.printStackTrace();
}
return "success";
}
关于java - 如何仅使用 java 将 mp4 文件转换为 webm?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72598294/
我是一名优秀的程序员,十分优秀!