mp4文件全部转换为mp3

news/2024/2/23 14:11:32/文章来源:https://blog.csdn.net/gaoxiangfei/article/details/135549586

问题

今天突发奇想,想把mp4视频转换为mp3来收听,于是想到了ffmpeg工具

步骤

安装ffmpeg环境

要在 Windows 上配置 FFmpeg 环境,你可以按照以下步骤进行操作:

  1. 下载 FFmpeg

    • 首先,你需要下载 FFmpeg 的 Windows 版本。你可以在 FFmpeg 官方网站(https://ffmpeg.org/download.html)上找到 Windows 版本的可执行文件。
  2. 解压缩文件

    • 下载后,解压缩 FFmpeg 文件到你选择的目录。例如,你可以将它解压缩到 C:\ffmpeg\ 目录。
  3. 设置系统环境变量

    • 将 FFmpeg 的可执行文件目录添加到系统的 PATH 环境变量中,这样系统就可以在任何位置找到 FFmpeg。
    • 右键单击“此电脑”(或“计算机”),然后选择“属性”。
    • 点击“高级系统设置”。
    • 在弹出的窗口中,点击“环境变量”按钮。
    • 在“系统变量”下找到“Path”,然后点击“编辑”。
    • 在编辑窗口中,点击“新建”,然后添加 FFmpeg 的可执行文件目录(例如 C:\ffmpeg\bin\)。
    • 确认并关闭所有窗口。
  4. 验证安装

    • 打开命令提示符(或 PowerShell)并输入 ffmpeg -version,然后按 Enter 键。如果一切设置正确,它应该显示 FFmpeg 的版本信息。

完成这些步骤后,你的系统就已经配置好了 FFmpeg 环境。现在你可以在命令提示符或批处理脚本中使用 FFmpeg 来进行视频转换等操作。

powershell命令

切换到文件件目录下,执行下面的语句,把所有文件转换为mp3即可

Get-ChildItem -Filter *.mp4 | ForEach-Object {ffmpeg -i $_.FullName -vn -acodec libmp3lame -q:a 2 "$($_.BaseName).mp3"}
  • 刚又想把一个mp3文件分成几部分,怎么弄,命令如下*
ffmpeg -i input.mp3 -f segment -segment_time 600 -c copy output_%03d.mp3

这个命令会将名为 input.mp3 的文件切割成每个时长为 600 秒的片段,并输出为 output_001.mp3、output_002.mp3 等等。

在这个命令中:

-i input.mp3 指定了输入文件名。
-f segment 表示使用 segment 格式进行分割。
-segment_time 600 指定了每个片段的时长,以秒为单位。
-c copy 表示使用拷贝方式进行分割,以保持音频质量不变。
output_%03d.mp3 是输出文件名的模板,%03d 表示输出文件名会以三位数字进行编号。
你可以根据需要调整 -segment_time 参数来设置不同的片段时长。

碰到的新问题

我有新下载了mp4文件,如果还按照上面的命令,岂不从头再来,显然不合适,所以要加一个判断,存在就不转换了。只转换不存在的。所以最后命令如下

Get-ChildItem -Filter *.mp4 | ForEach-Object {$mp3FileName = "$($_.BaseName).mp3"$mp3FilePath = Join-Path -Path $pwd -ChildPath $mp3FileNameif (-not (Test-Path $mp3FilePath)) {ffmpeg -i $_.FullName -vn -acodec libmp3lame -q:a 2 $mp3FilePath} else {Write-Host "Skipping conversion for $mp3FileName. File already exists."}
}

这个帖子我也是边操作,边完善,希望能帮助你,喜欢打赏
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_925339.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

图像处理:孤立点的检测

图像处理-孤立点的检测 孤立点的检测在图像处理中通常涉及到检测图像中的突变或者边缘,而使用二阶导数是一种常见的方法。一阶导数可以帮助找到图像中的边缘,而二阶导数则有助于检测边缘上的峰值,这些峰值可能对应于孤立点或者特殊的图像结构…

如何在30秒内学会使用pprof分析Go

假设下面的代码是你要分析的 Go 代码: package mainimport ("fmt""sync""time" )// 模拟耗时操作 func hardWork(wg *sync.WaitGroup) {defer wg.Done()fmt.Printf("Start: %v\n", time.Now())// 模拟耗内存a : []string{…

[开发语言][c++]:Static关键字和全局变量

Static关键字和全局变量 1. 生命周期、作用域和初始化时机2. 全局变量3. Static 关键字3.1 面向过程3.1.1 静态全局变量3.1.2 静态局部变量(单例中会使用)3.1.3 静态函数 3.2 面向对象3.2.1 类内静态成员变量3.2.2 类内静态成员函数 Reference 写在前面&…

伪装目标检测模型论文阅读之:Zoom in and out

论文链接:https://arxiv.org/abs/2203.02688 代码;https://github.com/lartpang/zoomnet 1.摘要 最近提出的遮挡对象检测(COD)试图分割视觉上与其周围环境融合的对象,这在现实场景中是非常复杂和困难的。除了与它们的背景具有高…

C语言中关于指针的理解及用法

关于指针意思的参考:https://baike.baidu.com/item/%e6%8c%87%e9%92%88/2878304 指针 指针变量 地址 野指针 野指针就是指针指向的位置是不可知的(随机的,不正确的,没有明确限制的) 以下是导致野指针的原因 1.指针…

力扣每日一练(24-1-13)

如果用列表生成式,可以满足输出的型式,但是不满足题意: nums[:] [i for i in nums if i ! val]return len(nums) 题意要求是: 你需要原地修改数组,并且只使用O(1)的额外空间。这意味着我们不能创建新的列表&#xff…

【java八股文】之Spring系列篇

【java八股文】之JVM基础篇-CSDN博客 【java八股文】之MYSQL基础篇-CSDN博客 【java八股文】之Redis基础篇-CSDN博客 【java八股文】之Spring系列篇-CSDN博客 【java八股文】之分布式系列篇-CSDN博客 【java八股文】之多线程篇-CSDN博客 【java八股文】之JVM基础篇-CSDN博…

ES6(ECMAScript 6.0)

ES6 学习链接ES6什么是ES6?ECMAScript 和 JavaScript 的关系 ECMAScript各版本新增特性ES6 块级作用域 let 学习链接 ES6简介 ECMAScript简介及特性(科普!很详细!!!!) 20分钟上手ES…

OpenHarmony基于HDF简单驱动开发实例

OpenHarmony基于HDF简单驱动开发实例 背景 OpenHarmony-3.0-LTS qemu_small_system_demo liteos_a qemu 添加配置 device/qemu/arm_virt/liteos_a/hdf_config/device_info/device_info.hcs device_info 新增: sample_host :: host {hostName "sample…

Docker 配置国内镜像源加速

1. 国内镜像源总览 名称路径中国官方镜像https://registry.docker-cn.com网易163镜像http://hub-mirror.c.163.com中科大镜像https://docker.mirrors.ustc.edu.cn阿里云镜像https://[xxx].mirror.aliyuncs.com 2. 阿里云镜像源 地址:https://cr.console.aliyun.c…

基于Java SSM框架实现医院管理系统项目【项目源码】计算机毕业设计

基于java的SSM框架实现医院管理系统演示 SSM框架 当今流行的“SSM组合框架”是Spring SpringMVC MyBatis的缩写,受到很多的追捧,“组合SSM框架”是强强联手、各司其职、协调互补的团队精神。web项目的框架,通常更简单的数据源。Spring属于…

尼科彻斯定理----C语言

大家好我是Beilef许久未见了,小弟学校考试刚结束。这个过程懂的都懂。痛------ 文章目录 目录 文章目录 前言(一不好懂可以直接跳到二) 一、尼科彻斯定理是什么? 二、尼科彻斯定理解析 这是ai的回答 尼科彻斯定理(Nikomačs theor…

计算机网络 —— 数据链路层

数据链路层 3.1 数据链路层概述 数据链路层把网络层交下来的数据构成帧发送到链路上,以及把收到的帧数据取出并上交给网络层。链路层属于计算机网络的底层。数据链路层使用的信道主要由以下两种类型: 点对点通信。广播通信。 数据链路和帧 链路&…

京东年度数据报告-2023全年度笔记本十大热门品牌销量(销额)榜单

2023年度,在电脑办公市场整体销售下滑的环境下,笔记本市场的整体销售也不景气。 根据鲸参谋平台的数据显示,京东平台上笔记本的年度销量为650万,同比下滑约16%;销售额约为330亿,同比下滑约19%。同时&#…

基于ssm的实验室排课系统论文

摘 要 互联网发展至今,无论是其理论还是技术都已经成熟,而且它广泛参与在社会中的方方面面。它让信息都可以通过网络传播,搭配信息管理工具可以很好地为人们提供服务。针对信息管理混乱,出错率高,信息安全性差&#x…

【k8s】Kubernetes 声明式 API、命令式

1. 资源管理方式: 1>. 命令式对象管理∶直接使用命令去操作kubernetes资源 kubectl run nginx-pod --imagenginx:1.17.1 --port802>. 命令式对象配置∶通过命令配置和配置文件去操作kubernetes资源 kubectl create/patch -f nginx-pod.yaml3>. 声明式对…

CSS 选择器全攻略:从入门到精通(上)

🤍 前端开发工程师(主业)、技术博主(副业)、已过CET6 🍨 阿珊和她的猫_CSDN个人主页 🕠 牛客高级专题作者、在牛客打造高质量专栏《前端面试必备》 🍚 蓝桥云课签约作者、已在蓝桥云…

环境变量详细说明

Windows之系统环境变量 配置操作: 计算机→属性→高级系统设置→高级→环境变量 系统变量→新建:JAVA_HOME 变量值:C:\Program Files\Java\jdk1.8.0_121 系统变量→Path→编辑:在变量值最后输入 :%JAVA_HOME%\bin;%J…

Linux基础工具的使用(yum,vim,gcc,g++,gdb,make/makefile)【详解】

目录 linux软件包管理器-yum什么是软件包?查找软件包如何安装软件卸载软件 linux编辑器 - vimvim的基本概念vim模式之间的切换vim命令模式各命令汇总vim底行模式各命令汇总 Linux编译器 - gcc/ggcc/g的作用gcc/g选项预处理编译汇编链接静态库与动态库 Linux调试器 -…

【liunx】线程池+单例模式+STL,智能指针和线程安全+其他常见的各种锁+读者写者问题

线程池单例模式STL,智能指针和线程安全其他常见的各种锁读者写者问题 1.线程池2.线程安全的单例模式3.STL,智能指针和线程安全4.其他常见的各种锁4.读者写者问题 喜欢的点赞,收藏,关注一下把! 1.线程池 目前我们学了挂起等待锁、条件变量、信…