开源地址 https://github.com/bramp/ffmpeg-cli-wrapper
由于java部分关于ffmpeg的代码处理较少,本来是开子线程通过模拟命令行环境输入命令来实时视频流转码及视频流截取保存文件,由于无法在保存文件之后关闭线程,后使用该开源组件重构(虽然也是模拟命令行的方式,但是在线程的处理上会比自己手写更加精细),开贴记录下使用过程
pom导入及windows 安装包(可以通过将运行源文件放在项目中模拟运行环境)请自行下载
视频流从rtsp转为rtmp
拼接出的命令为:ffmpeg -i rtmp://172.16.10.33:1935/hls/peddler -vcodec copy -f flv -an rtmp://172.16.10.16:1935/hls/1
public class ConvertCodeTest { private static Map<Integer, FFmpegJob> map = new ConcurrentHashMap<>(8); public static void main(String[] args) throws IOException, URISyntaxException { FFmpeg ffmpeg = new FFmpeg("C:/ffmpegCommandHandlerService/src/main/java/com/highsai/app/ffmpeg