使用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格式。若看不到文件扩展名可以在文件夹选项中显示文件扩展名

bash 复制代码
@echo off
setlocal enabledelayedexpansion
 
rem 获取当前批处理文件所在文件夹的路径
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的文件

相关推荐
dvlinker1 小时前
C++开源项目 VLC 源代码的交叉编译以及库的裁剪方法详解
ffmpeg·mingw-w64·msys2·cygwin·开源vlc·vlc编译·vlc裁剪
darkdragonking10 小时前
FLV视频封装格式详解
音视频
元争栈道12 小时前
webview和H5来实现的android短视频(短剧)音视频播放依赖控件
android·音视频
元争栈道13 小时前
webview+H5来实现的android短视频(短剧)音视频播放依赖控件资源
android·音视频
因我你好久不见15 小时前
springboot java ffmpeg 视频压缩、提取视频帧图片、获取视频分辨率
java·spring boot·ffmpeg
MediaTea17 小时前
Pr:音频仪表
音视频
桃园码工17 小时前
13_HTML5 Audio(音频) --[HTML5 API 学习之旅]
音视频·html5·audio
cuijiecheng20181 天前
音视频入门基础:MPEG2-TS专题(21)——FFmpeg源码中,获取TS流的视频信息的实现
ffmpeg·音视频
γ..1 天前
基于MATLAB的图像增强
开发语言·深度学习·神经网络·学习·机器学习·matlab·音视频
cuijiecheng20181 天前
音视频入门基础:AAC专题(13)——FFmpeg源码中,获取ADTS格式的AAC裸流音频信息的实现
ffmpeg·音视频·aac