在web应用中ffmpeg的问题

linshutao 2011-01-21 03:04:13
最近的项目需要用到ffmpeg来进行转换视频文件,奇怪的是当我在一个单独的java文件中测试和在cmd中测试的时候都很快,但是在servlet中调用该转换方法的时候总是有问题:
1、转换总是会卡住,除非文件很小就没这问题,但当文件稍微大一点点(几M),转了一小部分之后就卡主了.....
2、当我把web服务器(这里我用的是Tomcat)关掉的时候,马上就转过来了。
所以我想肯定不是转换的过程很久,而是进程死锁的情况吧!
请问大家如何处理。又遇到类似的问题么?
希望得到大家的帮助。
谢谢!

附:转换的方法

	public  boolean processFlv(String uploadfilename,String newfilename) {	
List<String> commend = new java.util.ArrayList<String>();
commend.add(FFMPEGPATH);
commend.add("-i");
commend.add(UPLOADPATH+uploadfilename);
commend.add("-ab");
commend.add("56");
commend.add("-ar");
commend.add("22050");
commend.add("-b");
commend.add("500");
commend.add("-r");
commend.add("15");
commend.add("-s");
commend.add("320x240");
commend.add(CONVERTPATH+newfilename+".flv");
try {
ProcessBuilder builder = new ProcessBuilder();
builder.command(commend);
builder.start();
return true;
} catch (Exception e) {
e.printStackTrace();
return false;
}
}
...全文
227 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
linshutao 2011-01-22
  • 打赏
  • 举报
回复
没有合适的答案....结贴!
linshutao 2011-01-21
  • 打赏
  • 举报
回复
或者说我怎么去知道转换完毕了,这样的话我就可以将进程destory了!
linshutao 2011-01-21
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 shine333 的回复:]

你尝试一下用桌面用户权限来运行tomcat服务再试试看。

我也碰到过类似问题。后来我写了一个jni,来调用指定的bat,就不会有速度问题了。
[/Quote]
不是速度的问题,因为是卡主在那里!所以觉得是进程阻塞,死锁什么的可能性大一点.......
shine333 2011-01-21
  • 打赏
  • 举报
回复
你尝试一下用桌面用户权限来运行tomcat服务再试试看。

我也碰到过类似问题。后来我写了一个jni,来调用指定的bat,就不会有速度问题了。
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 zn85600301 的回复:]

我转过4M的也不会很慢
这里只能断点跟踪看了···
[/Quote]

也只能这样了
zn85600301 2011-01-21
  • 打赏
  • 举报
回复
我转过4M的也不会很慢
这里只能断点跟踪看了···

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧