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

多音轨视频使用FFmpeg删除不要音轨方法

近期给孩子找宫崎骏动画,但是有很多是多音轨视频但是默认的都是日语,电视上看没办法所以只能下载后删除音轨文件只保留中文。

方法分两步,先安装FFmpeg在转文件即可。

第一步FFmpeg安装

FFmpeg是一个开源项目,包含了处理视频的强大工具和库。他广泛应用于音视频转换、数据流处理和多媒体录制。

1、打开官网下载FFmpeg文件

FFmpeg download

多音轨视频使用FFmpeg删除不要音轨方法

2 选择FFmpeg系统版本

根据自己的电脑选择对应系统然后点击,由于我的电脑是 Window s的,所以我选择的是Windows ,点击之后选择下方的 Windows builds from gyan.dev

选择一个稳定的版本进行下载,我选择的版本为 ffmpeg-git-full.7z

多音轨视频使用FFmpeg删除不要音轨方法

3、设置环境变量

将下载好的压缩包进行解压,然后设置环境变量。

在搜索栏中搜索【环境变量】,然后单击将其打开

多音轨视频使用FFmpeg删除不要音轨方法

找到系统变量中的【Path】,点击【编辑】按钮

在弹出的对话框中点击【新建】按钮,然后将ffmpeg目录下的bin目录的路径添加进去,然后点击确定按钮。

注意:填写的路径要带上bin目录

可以直接进入到bin文件夹中然后将该目录的路径直接复制下来然后粘贴到环境变量中,例如我的路径为:C:\ffmpeg-2024-12-11-git-a518b5540d-full_build\bin

多音轨视频使用FFmpeg删除不要音轨方法

4、验证是否安装成功,打开命令提示符窗口输入命令 ffmpeg -version

如果可以看到打印出 ffmpeg的版本,则表示ffmpeg安装成功了,反之则表示安装失败。

多音轨视频使用FFmpeg删除不要音轨方法

第二步删除多余音轨

1、在搜索栏中搜索【cmd】,然后打开命令提示符

多音轨视频使用FFmpeg删除不要音轨方法

2、查看视频文件中所有音轨的信息,你会看到类似于以下内容:

ffmpeg -i input.mp4

注:input.mp4 为你的视频名称

多音轨视频使用FFmpeg删除不要音轨方法

在这个输出中,Stream #0:0 是视频流,Stream #0:1 和 Stream #0:2 是两个音轨。

3、删除特定音轨

如上图视频我们要保留第二个音轨文件国语,所以需要删除第一和第三个音轨

ffmpeg -i input.mp4 -map 0:v -map 0:a:0 -c:v copy -c:a copy output.mp4

参数说明:
  • -i input.mp4:视频名称。
  • -map 0:v:选择所有的视频流。
  • -map 0:a:1:选择第二个音轨(保留 Stream #0:2)。
  • -c:v copy:复制视频流,不进行转码。
  • -c:a copy:复制音频流,不进行转码。
  • output.mp4:指定输出文件名。

注意:Stream #0:2音轨是从 0 开始排序,上述文件删除第一和第三个音轨保留第二个音轨,所以-map 0:a:1是1而不是2

Stream #0:1(jpn): Audio: aac (LC), 48000 Hz, stereo, fltp (default)    这个是-map 0:a:0

Metadata:title : 日语

Stream #0:2: Audio: aac (LC), 48000 Hz, stereo, fltp      这个是 -map 0:a:1

Metadata:title : 国语

Stream #0:3: Audio: aac (LC), 48000 Hz, stereo, fltp      这个是-map 0:a:2

Metadata:title : 粤语

多音轨视频使用FFmpeg删除不要音轨方法

多音轨视频使用FFmpeg删除不要音轨方法

出现上述带颜色文字说明转换为完成,打开就是保留的音轨其他音轨已经删除了。

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

相关文章:

  • elasticsearch 使用enrich processor填充数据
  • VMProtect:软件保护与安全的全面解决方案
  • Web 毕设篇-适合小白、初级入门练手的 Spring Boot Web 毕业设计项目:教室信息管理系统(前后端源码 + 数据库 sql 脚本)
  • 第十二篇:linux下socket本地套接字通讯
  • Spring Boot 2.1.7 数据源自动加载过程详解
  • 【Vue.js 3.0】provide 、inject 函数详解
  • JVM(Java虚拟机)的虚拟机栈
  • Elasticsearch02-安装7.x
  • iPhone恢复技巧:如何从 iPhone 恢复丢失的照片
  • vba批量化调整word的图和图表标题
  • 【Flutter_Web】Flutter编译Web第二篇(webview篇):flutter_inappwebview如何改造方法,变成web之后数据如何交互
  • 【C语言的奥秘11】指针知识点总结(续)
  • excel 列名是数据表 的字段名 ,单元格的值 是数据表对应字段的值,生成sql插入语句
  • AI Agent与MEME:技术与文化融合驱动Web3创新
  • IO的入门
  • 构建一个rust生产应用读书笔记四(实战1)
  • SpringCloudAlibaba | Sentinel从基础到进阶
  • 算法刷题Day18: BM41 输出二叉树的右视图
  • 【信息系统项目管理师-论文真题】2015下半年论文详解(包括解题思路和写作要点)
  • Windows如何安装go环境,离线安装beego
  • JavaScript网络请求( XMLHttpRequest 对象,进度事件, 跨源资源共享)
  • 计算机网络信息系统安全问题及解决策略
  • 解决并发情况下调用 Instruct-pix2pix 模型推理错误:index out of bounds 问题
  • 你了解TCP/IP参考模型吗
  • 高斯混合模型及最大期望算法(EM)聚类
  • 批处理命令的语法与功能
  • 33. Three.js案例-创建带阴影的球体与平面
  • Three.js材质纹理扩散过渡
  • 免费开源!推荐一款网页版数据库管理工具!
  • 生态系统NPP及碳源、碳汇模拟实践技术应用(土地利用变化、未来气候变化、空间动态模拟)