java调用ffmpeg执行视频转换
用java小例题说明更直观:(可以直接编译运行)环境我在windows平台下测试的。。。需要在e:\下有ffmpeg.exe;mencoder.exe;drv43260.dll;pncrt.dll共4个文件。?还要在e:\input下放各种文件名为a的以下各种视频文件;还要e:\output;java程序执行后能得到一个a.flv的已转换的文件。ffmpeg.exe能解析的格式:(asx,asf,mpg,wmv,3gp,mp4,mov,avi,flv等)对ffmpeg.exe无法解析的文件格式(wmv9,rm,rmvb等),可以先用别的工具(mencoder)转换为avi(ffmpeg能解析的)格式;mencoder.exe;drv43260.dll;pncrt.dll这3个文件是为文件格式(wmv9,rm,rmvb等)转换为avi(ffmpeg能解析的)格式准备的;再把转换好的avi文件再用ffmpeg.exe转换成flv格式的视频文件。。。?java文件的内容如下:
?怎么进行转换成功并没有看到a.flv文件呢?
你把commend.add("mp3");改为commend.add("libmp3lame");就好了
资料参考:http://bbs.chinaunix.net/thread-2055221-1-1.html
???????????????特别注意:
?????????在用上述命令分割视频的时候出现了两个比较大的问题,目前还不知道怎么解决。
???????????????????????????????????1???在分割的时候,分割后的视频开始时会出现丢帧;
???????????????????????????????????2???两挨着分割的视频会有一小截重复。
????????(2)mencoder合并视频?????
view plainprint?
- miko@bogon:~/Videos>?mencoder?1.mp4?2.mp4?-oac?pcm?-ovc?copy??-o?ok.mp4??
????????????这个命令是把1.mp4和2.mp4两个视频合并到一起。
?
2. ffmpeg
??????????(1)分割视频命令 ??????????????
view plainprint???????????????????选项介绍:
- miko@bogon:~/Videos>?ffmpeg?-ss?0?-t?10?-vcodec?copy?-acodec?copy?-i?orgin.mp4?1.mp4??
??????????????????????????????-ss ??????????????????截取视频的开始时间 单位为秒
??????????????????????????????-t ?????????????????????截取视频的时长,单位为秒
??????????????????????????????-vcodec ??????????视频编码
??????????????????????????????-acodec ??????????音频编码
??????????????????????????????-i ???????????????????????输入文件
????????????(2)视频合并命令
?????????????????????????合并的命令目前还不知道,以后补上。