跑调声音剪辑师,视屏剪辑师,场课为您整理出关于跑调声音剪辑师的相关*教程知识,欢迎访问了解跑调声音剪辑师_*视频剪辑师的内容。
:·《旅行青蛙》将推出官方中文版:或和国内巨头合作·谷歌要在硅谷地区打造新园区,当地居民担忧房价涨·支付宝300里程可兑换红包:最高500元·微信上线新功能:发票查验一键完成·中兴AXONM图赏:双屏秒变平板»更多新闻
就在我快要放弃的时候,在百度知道上,看了个无关痛痒的例子,于是做了个小修改,在进程启动之前,重定向了下错误输出流,如下:
由于之前没有没法过相关功能的经验,一开始来真不知道从哪里入手。当然,这个解决,google一下立马就发现了ffmpeg,网上讲解用Java+ffmpeg来进行视频转换的文章也不在少数,我主要参考的这篇文章。
【推荐】超50万VC++源码:大型工控、组态\仿真、建模CAD源码2018!【活动】杭州云栖·2050大会-全世界年青人因科技而团聚-源点【抢购】新注册用户域名抢购1元起
当时不知道什么原因,在网上查了半天,才明白这是死锁了,但是不知道是什么原因造成的。当时就一直觉得死锁是waitFor()函数造成了,看来用它来判断子进程是否结果是不行了,所以又在网上查了半天其他判断子进程结束的办法(这里其实就已经走弯路了)。有人说可以用exitValue(),于是就有了下面的代码:
运行,发现还是不对,*和之前的一模一样,我还以为是不是输出流太多了,一个线程读的不够快(好吧,真的很傻很天真,人被逼急了真的什么想法都有),于是我就再开了几个一模一样的线程,结果还是一样。
-07-23跟我一起玩转SenchaTouch移动WebApp开发(一)2013-07-23Hibernate的查询HQL查询查询某几列2013-07-23BoneCP学习笔记2011-07-23Android使用ksoap2调用C#webservice体会(转)
上文中提到的那篇文章中的代码其实已经写的很友好了,基本拿来就能用,不过仍然存在许多问题,接下来会讲到,下面是文中的代码:
在Process类中,getInputStream用来获取进程的输出流,getOutputStream用来获取进程的输入流,getErrorStream用来获取进程的错误信息流。为了保险起见,在读出的时候,最好把子进程的输出流和错误流都读出来,这样可以保证清空缓存区。
最近由于项目需要,研究了一下如何用Java实现视频转换,“着实”废了点心思,整理整理,写出给自己备忘下。
其实道理还是一样的,就是读出ffmpeg的输出流,避免ffmpeg的输出流塞满缓存造成死锁。但是不知道为什么,ffmpeg的输出信息是在错误输出流里面的,我看了下控制台打印结果,发现只是一些当前转换状态的信息,并没有错误,令人费解。
有话要说...