首先,大家知道java执行外部命令很简单,语句如下:
这个地球人都知道,但遇到具体问题是要具体分析!ffmpeg是采用命令行的方式进行编译工作,所以不能直接执行,必须要把命令写在一个批处理文件ffmpeg.bat里,内容如下:
%1:接收的参数一
%2:接收的参考二
代码
- Runtime.getRuntime().exec()
代码
- ffmpeg.exe -i %1 -ss 3 -vframes 1 -r 1 -ac 1 -ab 2 -s 160*120 -f image2 %2
%1:接收的参数一
%2:接收的参考二
然后如下:
代码
- Runtime.getRuntime().exec("cmd /c start C:\\ffmpeg.bat " + videoRealPath + " " + imageRealPath)
由于Runtime.getRuntime().exec不能直接执行批处理文件,所以要加上"cmd /c start ",至此截图成功了!
bat 按以下的格式,可以自动关闭DOS窗口
start ffmpeg.exe -i %1 -ss 3 -vframes 1 -r 1 -ac 1 -ab 2 -s 160*120 -f image2 %2
exit
Java调用FFmpeg截图
本文介绍如何使用Java调用FFmpeg进行视频截图。通过创建批处理文件并结合Runtime.getRuntime().exec方法,实现了指定时间点的视频帧抓取,并设置参数控制输出图片的格式和尺寸。
5万+

被折叠的 条评论
为什么被折叠?



