场景:
比如手机能播放的mpeg-ts格式的视频放在网页是不能播放的,所以需要转码支持网页播放。
一.JAVE 视音频转码
参考资料(csdn博客):https://blog.csdn.net/qllinhongyu/article/details/29817297
建议看官网的:http://www.sauronsoftware.it/projects/jave/manual.php
这里有详细的介绍
有一个弊端,比如如下某个视频详细信息,它是没有video(视频流)和audio(音频流)参数的
Encoder encoder = new Encoder();
MultimediaInfo info = encoder.getInfo("视频路径");
it.sauronsoftware.jave.MultimediaInfo (
format = mpegts,
duration = 25000,
video = NULL,
audio = NULL
)
然后监控转码报错
it.sauronsoftware.jave.EncoderException: Program 1
encoder.encode(sourceFile, targetFile, attrs);
如果视频信息完整则可以用JAVE封装的jar包,则不用安装ffmpeg了。
二.安装ffmpeg进行转码
2.1(亲测有效)安装Linux/Windows参考资料:https://blog.csdn.net/psh18513234633/article/details/79175423
2.2(亲测有效)封装成Java代码参考资料:https://blog.csdn.net/zhengdesheng19930211/article/details/64443620
2.3ffmpeg转码速度有点慢(考虑多线程)测试了虽然说是支持但是没有效果我不知道是不是我测试的问题,存疑
多线程参考资料:http://www.voidcn.com/article/p-eitofksi-ez.html
2.4如果想做一个项目spring-boot&ffmpeg项目练手玩的
参考资料:https://my.oschina.net/u/566591/blog/1359432
三.Java版的ffmpeg为Jjmpeg
没有测试过,有一篇介绍它的资料
Jjmpeg:https://blog.csdn.net/defonds/article/details/8988330