当前位置: 首页 > news >正文

使用ffmpeg合并视频和音频

使用ffmpeg合并视频和音频 - 哔哩哔哩

简介
FFmpeg是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序。采用LGPL或GPL许可证。它提供了录制、转换以及流化音视频的完整解决方案。它包含了非常先进的音频/视频编解码库libavcodec,为了保证高可移植性和编解码质量,libavcodec里很多code都是从头开发的。——摘自百度百科:ffmpeg
使用ffmpeg合并音视频适用于原视频帧率、码率很高的情况,此时使用视频编辑软件合并音视频再导出会使视频画质下降,而且导出时间较长。使用ffmpeg合并很快且不影响视频画质。

此方法必须保证被合并的视频不能包含音频,否则不能正确合成。

安装ffmpeg
这里介绍的是WIndows10 专业版22H2+ffmpeg-master-latest-win64-gpl-shared Auto-Build (2024-03-30 12:47) 的安装方式,不同版本的Windows和ffmpeg安装方式可能不同。Linux系统安装教程很多,此处不再赘述。

下载
打开ffmpeg的官网 https://ffmpeg.org/ ,点击Download跳转到下载页


选择Windows并点击Windows builds by BtbN 跳转到Github


在GitHub页面点击ffmpeg-master-latest-win64-gpl-shared.zip 开始下载。


安装
将下载的压缩包解压到文件夹中,此处以D:\ffmpeg为例。


打开设置→系统→关于→高级系统设置


在弹出的页面里依次点击环境变量→系统变量/Path→新建,在新建项中填入D:\ffmpeg\bin (此处为上文中放置ffmpeg文件的位置),然后依次点击确认以保存修改。


按下Win键+R并输入cmd,调出命令行窗口


输入 ffmpeg -version,如果显示如下界面表示安装成功。


显示如下内容则为安装失败。请重启cmd或检查上述步骤是否全部正确进行。


使用脚本合并音视频
准备
将需要合并的音视频文件放入同一个文件夹中,并重命名为1.mp4和2.mp4(1为视频,2为音频)


在文件夹中新建txt文件,并输入以下内容

@echo off
ffmpeg -i 1.mp4 -i 2.mp4  -vcodec copy -acodec copy output.mp4
pause & exit


将文件重命名为.bat格式。若看不到文件扩展名可以在文件夹选项中显示文件扩展名

@echo off
setlocal enabledelayedexpansionrem 获取当前批处理文件所在文件夹的路径
set "folder_path=%~dp0"rem 遍历文件夹中的所有文件
for  %%i in ("%folder_path%*.mp4") do (set "filename=%%~ni"echo "!filename!"set "old=%%i"echo "!old!"ffmpeg -i "!old!" -i "%folder_path%!filename!".m4a  -vcodec copy -acodec copy "%folder_path%merge/!filename!".mp4)echo  success 
pause

开始批处理合并文件


双击运行.bat文件,将弹出命令行窗口并自动合并音视频文件。待处理完成后将生成名为output.mp4的文件

http://www.lryc.cn/news/453396.html

相关文章:

  • 周末总结(2024/10/05)
  • 在Ubuntu中自动挂载SMB/CIFS共享
  • pWnOS2.0 靶机渗透( cms 渗透,php+mysql 网站渗透,密码碰撞)
  • 【AI】AIOT简介
  • picgo + typora + gitee图床
  • 【路径规划】多机器人路径规划
  • 深度学习Day-35:One-hot独热编码
  • Streamlit 实现登录注册验证
  • ASP.NET Zero 多租户介绍
  • 【60天备战2024年11月软考高级系统架构设计师——第29天:微服务架构——微服务的优缺点】
  • 读论文、学习时 零碎知识点记录01
  • 图解C#高级教程(一):委托
  • CMSIS-RTOS V2封装层专题视频,一期视频将常用配置和用法梳理清楚,适用于RTX5和FreeRTOS(2024-09-28)
  • 渗透测试入门学习——使用python脚本自动识别图片验证码,OCR技术初体验
  • docker环境下配置cerbot获取免费ssl证书并自动续期
  • Studying-多线程学习Part1-线程库的基本使用、线程函数中的数据未定义错误、互斥量解决多线程数据共享问题
  • Flink 03 | 数据流基本操作
  • 在 TS 的 class 中,如何防止外部实例化
  • HTML详解
  • 记录|Modbus-TCP产品使用记录【德克威尔】
  • 基于深度学习的视频生成
  • TB6612电机驱动模块(STM32)
  • webpack信息泄露
  • 启动服务并登录MySQL9数据库
  • 微服务_3.微服务保护
  • 【设计模式】软件设计原则——依赖倒置合成复用
  • vue中如何实现组件通信
  • C/C++:内存管理
  • jmeter学习(4)提取器
  • 移动端的每日任务,golang后端数据库应该怎么设计