使用JAVA调用ffmpeg组件进行视频转换时不成功

试着先弄一个DEMO出来,从网上找了答案,也都是试着弄了一遍,最终从AVI转换到FLV,最终会在目录生成一个.FLV的文件,但是大小却是0KB.试着找ffmpeg的JAVA API但是没有找到。执行了很多人写的JAVA用FFMPEG来转换视频格式的,最终结果还是一样的。求高人指点,如果能有一份API最好了。不好LINUX上的哦,只要WINDOWS的解决方案。

FFMPEG没有java可以直接调用的API,网上那些基本上是通过调用cmd命令来实现转换的。这种方法很容易出错,效率低而且也不容易调试。最好的办法是让提供商提供flv格式的文件。如果不行你只有测试一下直接用FFMPEG的图形界面转看结果如何,然后尝试更换参数,视频文件和FFMPEG版本。追问

可能我没有在上面详细的说清楚,就是用JAVA执行CMD命令来操作的。最后结果是OKB,不知道是什么原因。看网上有些人说需要设置环境变量,也要不需要设置环境变量的。

追答

我做过这种类似的java转换程序,是把word转换成swf,通过调用一款flashpaper软件的cmd命令实现的。速度很慢,而且有些文件转换后是0kb,有的根本不能打开。最后的方法是素材的提供商自己提供的swf格式的文件。总之类似的这种转换方式是个很不好的方案。如果你的提供商提供不了你需要的格式,调整ffmpeg的设置又不能解决问题,可能用按键精灵这样的软件来搞更省事

追问

按键精灵有提供接口可以进行后台转换? 还是说我把按键精灵软件下下来,然后对每部电影都进行转换?

追答

按键精灵是个与宏命令类似的软件,它可以记录你的操作步骤然后重复执行,缺点是必须有台专门的机器来运行而且效率肯定不如命令行

温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-03-06
以我的经验

ffmpeg 转换 flv 格式需要libx264库的支持,而不是一般的直接转码命令
形如:ffmpeg -i xxx.avi -vcodec libx264 -an xxx.flv