java - 文件已在使用 FFmpeg
问题描述
我正在运行一个存储视频文件的服务器。上传文件后,我运行以下方法对其进行压缩:
private void compressVideo(String fileName) throws IOException
{
String cmd[] = {"location to my ffmpeg.exe","-y", "-i",
"location to my inputfile"+fileName,"-vcodec","libx264","-crf","20",
"location to my output file"+fileName};
Runtime.getRuntime().exec(cmd);
}
如果我的输出文件名与输入文件名不同,它工作正常。
但是当我用相同的名称运行程序时,FFmpeg 清楚地启动了该过程但它并没有结束(之后我无法打开覆盖的文件,它告诉我该文件正在被 FFmpeg 使用)。
控制台中没有错误。
我曾尝试在不运行服务器的情况下做同样的事情,但它确实有效。
由于我是初学者,我想知道我是否犯了任何错误?有什么想法可以解决这个问题吗?
提前致谢!
解决方案
推荐阅读
- angular - 如何使用 ngx-translate 翻译角材料垫按钮中的文本标签
- jquery - 标题后的线条和图像,自动计算线条宽度以填满容器
- python - 如何在 Jupyter Notebook 中用希腊语 l 代替 lambda 关键字
- mongodb - 如何访问prisma创建的mongodb本地数据库
- java - 获取已打开文件通道的文件密钥
- python - 用于查找 1000 位数字的 13 位连续数字的最大乘积的代码未提供所需的输出
- hibernate - Spring JPA 存储库为更新子句生成错误的本机查询
- c# - C# 我无法通过 gmails smtp 服务器发送消息。获取服务器无响应错误
- node.js - 跨子域共享 Express Session
- python - 为重复文件的输出添加大小