因为最近要求AcDown加入视频合并功能的呼声非常高(几乎一半多的反馈都在说这个问题),所以下午花了些时间来研究怎样用最方便(不需要最快)的方法来进行视频合并。

AcDown之前的版本使用的是某个第三方的FlvCombine组件,这个软件的优点在于体积非常小(一共才200多KB),方便集成到AcDown中,使用很简单,而且合并速度非常快,但是缺点也是非常显而易见的,那就是不支持mp4容器格式。而现在视频网站上的高清视频大都是mp4格式的,基于这点考虑,AcDown一直没有加入下载后合并视频的功能。

使用FFMPEG来进行合并一直是我在考虑的,但是因为之前AcDown的软件架构,在不到1M的软件中嵌入好几十M的ffmpeg显然不是一个好的选择,再加上我对它也不是很熟悉,所以下载后转换的这个问题一直拖到了现在。

言归正传,这次研究出来的合并方法其实算是比较投机取巧的,本身并没有使用ffmpeg的众多参数,而是绕了个弯,先将待合并的视频转换为体积很大的mpeg格式,然后再将其二进制合并后重新压缩编码,最后得到输出文件。虽然看起来很麻烦,不过稳定性还是可以保证的

以下是批处理文件:
目标是将位于桌面new文件夹中的1.flv和2.flv文件合并为combine.flv

cd " C:\Users\Kaedei\Desktop\new"
ffmpeg.exe -i "1.flv" -f mpeg -sameq -y -r 29.97 "1.flv.actemp"
ffmpeg.exe -i "2.flv" -f mpeg -sameq -y -r 29.97 "2.flv.actemp"
copy /b "1.flv.actemp"+"2.flv.actemp" "combine.flv.actemp" /y
ffmpeg.exe -i "combine.flv.actemp" -f mp4 -y "combine.flv"
del "1.flv.actemp"
del "2.flv.actemp"
del "combine.flv.actemp"

下面是各步骤的解释:

cd " C:\Users\Kaedei\Desktop\new"
进入桌面的new文件夹

ffmpeg.exe -i "1.flv" -f mpeg -sameq -y -r 29.97 "1.flv.actemp"
ffmpeg.exe -i "2.flv" -f mpeg -sameq -y -r 29.97 "2.flv.actemp"
将1.flv和2.flv转换为1.flv.actemp和2.flv.actemp文件,格式为mpeg,因为我用的FFMPEG貌似不支持输出1/15,1/20这样的帧率,所以强制设置帧率为标准的29.97,当然这样做会导致输出的文件体积变得略大。
copy /b "1.flv.actemp"+"2.flv.actemp" "combine.flv.actemp" /y
将输出的两个actemp文件通过二进制合并为combine.flv.actemp文件
ffmpeg.exe -i "combine.flv.actemp" -f mp4 -y "combine.flv"
将合并后的combine.flv.actemp文件转换为mp4编码的视频

利用ffmpeg来合并视频相关推荐

  1. java利用ffmpeg追加合并视频文件

    java利用ffmpeg追加合并视频文件 首先要用到ffmpeg,可以根据操作系统自行下载 每个视频格式要一样,分辨率要一样 多个视频地址以list存放,直接上代码 /*** 合并视频文件* @par ...

  2. Java 利用ffmpeg工具实现视频MP4转m3u8

    Java 利用ffmpeg工具实现视频MP4转m3u8(一) 前言 (一)ffmpeg工具转码 1.如何安装ffmpeg工具 2.如何使用ffmpeg工具进行视频转码 (二)播放m3u8文件 1.vi ...

  3. ffmpeg裁剪合并视频

    ffmpeg提供简单的命令参数: ffmpeg -ss START -t DURATION -i INPUT -vcodec copy -acodec copy OUTPUT 对上面的命令稍做个解释. ...

  4. PHP中利用Ffmpeg获得flv视频缩略图和播放时间

    为什么80%的码农都做不了架构师?>>>    这里简单说一下:FFmpeg是用于录制.转换和流化音频和视频的完整解决方案,一套领先的音/视频编解码类库.官方正式版ffmpeg不支持 ...

  5. 使用 ffmpeg 快速合并视频文件

    1. 下载安装 ffmpeg 在官网上下载 ffmpeg 链接: Download FFmpeg windos 下下载 .ZIP 格式的 ffmpeg 直接解压即可,无需安装,之后配置好环境变量就好了 ...

  6. 编写Bash脚本实现使用FFmpeg批量合并视频

    前言 使用FFmpeg能够很方便的合并同分辨率的视频.很多时候我们可能需要批量化合并视频,此时可以通过编写Bash脚本来实现. 实现 批量合并视频 合并三个文件夹中的视频结果: result_path ...

  7. 利用ffmpeg+QSV进行视频处理

    引言 ffmpeg是一个视频处理领域的"瑞士军刀",在很多应用中都会用到,这里就不详细介绍它的使用啦,有需要的可以参考其官方文档和大量网上的资料. 这里着重介绍一下qsv这个东东, ...

  8. 利用ffmpeg下载m3u8视频

    Windows下载ffmpeg:https://ffmpeg.zeranoe.com/builds/ 添加环境变量(省略操作步骤):在PATH中加入ffmpeg二进制目录路径(例如:D:\Progra ...

  9. 利用ffmpeg将mp4视频转换成多张jpg图片

    分离视频音频流 ffmpeg -i input_file -vcodec copy -an output_file_video //分离视频流 ffmpeg -i input_file -acodec ...

最新文章

  1. JAVA导出exls时报oom_如何实现导出百万条数据到EXCEL中不报OOM异常?
  2. jQuery 之正则表达式篇
  3. SRM遇到的一个数论技巧——最大公约数和最小公倍数的关系
  4. PuTTY的下载、使用和设置,并推荐同类佳软——MobaXterm
  5. AC自动机-洛谷3121 [USACO15FEB]审查(黄金)Censoring (Gold)
  6. Android Jetpack组件之数据库Room详解(二)
  7. SAP License:SAP精细化的应收付及要素为根设计思想
  8. 如何修改一个类的私有成员?
  9. 2018年下半年《软件评测师》上午试卷及答案
  10. java程序设计精编教程第3版电子版课后答案_[java电子书] Java程序设计教程(第3版) PDF 电子书 百度云 网盘下载...
  11. 微信小程序优惠券的购买和核销的操作流程设计
  12. 使用ApiPost按顺序传参及测试多个接口
  13. 自注意力 self-attention 笔记
  14. 大话设计模式笔记(二十四)の解释器模式
  15. FrankMocap:A Monocular 3D Whole-Body Pose Estimation System via Regression and Integration 2021阅读理解
  16. windows10 安装office2021(预装正版)经验分享
  17. C程序设计(谭浩强)--学习笔记
  18. ICS-GNN:Lightweight Interactive Community Search via Graph Neural Network
  19. (python)约瑟夫(Josephus)个人围成一圈,并按顺时针依次编号1-n。从编号为1的人开始,按顺时针方向每隔一 人选出一个,剩下的人重新围成一圈,如此循环直到剩下两人,这剩下的两人就是幸运儿
  20. 什么是模块化?为什么要模块化

热门文章

  1. 怎么在php中开启电脑摄像头,电脑摄像头权限在哪里打开?
  2. Catfish CMS漏洞集合
  3. 常用文件IO函数 -open/close
  4. 2011.09.09 ——— android 2.2 修改安装路径
  5. Spark RDD 论文详解(五)实现
  6. 【工业互联网】新一代企业数字化整体架构下的工业互联网
  7. 元宇宙产业委与中国传媒大学就“虚拟空间文化生产与管理微专业”课程深度合作
  8. 计算机操作系统教程——存储管理的功能
  9. windows VS2017 编译最新的libuv 库
  10. 最好的婚姻:谈钱、说爱、聊性、话余生