【ffmpeg】——批量合并视频
来源:互联网 发布:灌篮高手 知乎 编辑:程序博客网 时间:2024/05/21 14:43
最近在做一个项目,关于视频下载的,需要同时对多个视频进行处理,这时我们用到了一个工
具——ffmpeg,工具具体的安装步骤大家可以度娘,在这就不一一介绍啦。
下面进入正题,该如何使用ffmpeg工具进行批量合并视频的工作?
首先我们会想到的方法是:
写到一个for循环中,循环遍历,然后依次执行各个命令:
/*** * 生成批量合并视频命令 * * @param videos * @return */ publicstatic String montageVideos(List<Video> videos, String saveAddress) { StringoutPutCommand =""; StringgetNameCommands = ""; Runtimeruntime =Runtime.getRuntime(); for (int i = 0; i < videos.size(); i++) { Stringaddress =saveAddress +videos.get(i).getLive_id() + "/" + videos.get(i).getId(); StringchangeCommand ="ffmpeg -y -i " + address + ".mp4" + " -vcodec copy -acodec copy -vbsf h264_mp4toannexb" + address + ".ts"; try { runtime.exec(changeCommand); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } StringgetNameCommand = address + ".ts|"; if (i == videos.size() - 1) { getNameCommand= address + ".ts"; } getNameCommands+=getNameCommand; outPutCommand= "ffmpeg -i \"" + "concat:" + getNameCommands + "\" -acodec copy -vcodec copy -absf aac_adtstoasc " + saveAddress + videos.get(i).getLive_id() + "/" + videos.get(i).getLive_id() + ".mp4"; } return outPutCommand; }
这样做的好处是保证视频合并之后的质量,首先先把它转换成ts流,然后再进行合并,这样做相对起来比较
麻烦,需要循环遍历依次生成命令。还有一种方法是写入TXT文件,然后利用命令进行批量合并:
1.建立一个TXT文件(video.txt),文件内容为:
File ‘文件全名’
File ‘123.flv’
……
2.利用合并命令:
ffmpeg -f concat -i video.txt -c copy output.mkv
这样是不是很简单呢?
0 0
- 【ffmpeg】——批量合并视频
- ffmpeg裁剪合并视频
- ffmpeg裁剪合并视频
- 使用FFMPEG合并视频
- 使用FFMPEG合并视频
- 使用FFMPEG合并视频
- ffmpeg裁剪合并视频
- ffmpeg裁剪合并视频
- ffmpeg合并两个视频
- ffmpeg裁剪合并视频
- ffmpeg裁剪合并视频
- 使用FFMPEG合并视频
- ffmpeg裁剪合并视频
- ffmpeg裁剪合并视频
- ffmpeg合并mp4视频
- ffmpeg实现视频合并
- ffmpeg视频合并
- ffmpeg裁剪合并视频
- Spring IOC容器的两种基本形式
- pureftpd
- Rabbitmq学习之路4-Federation
- Android数据库更新解释
- Linux文件系统基础之inode和dentry
- 【ffmpeg】——批量合并视频
- [已解决]findviewbyid android.content.res.Resources$NotFoundException
- javascript学习之日期 字符串(15)—— 时间和日期 常用方法
- java上传Excel实现数据的导入
- 文章标题
- hellovr sample
- 归并排序
- 深入解读A/B 测试的统计学原理
- RollViewPager图片轮播效果开源框架的使用