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

mp4文件全部转换为mp3

问题

今天突发奇想,想把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.lryc.cn/news/281506.html

相关文章:

  • 深信服技术认证“SCSA-S”划重点:逻辑漏洞
  • Linux grep命令教程:强大的文本搜索工具(附案例详解和注意事项)
  • 网络安全的威胁PPT
  • CUDA驱动深度学习发展 - 技术全解与实战
  • 如何做用户分层和标签体系
  • Vue+Element Ui实现el-table自定义表头下拉选择表头筛选
  • 使用Java连接MongoDB (6.0.12) 报错
  • 数学建模day16-预测模型
  • Vue3响应式系统(一)
  • MStart | MStart开发与学习
  • GoZero微服务个人探索之路(一)Etcd:context deadline exceeded原因探究及解决
  • C语言从入门到实战——结构体与位段
  • java如何修改windows计算机本地日期和时间?
  • flink中的row类型详解
  • 漏洞复现-Yearning front 任意文件读取漏洞(附漏洞检测脚本)
  • K8S中SC、PV、PVC的理解
  • Agisoft Metashape 基于影像的外部点云着色
  • 图解结算平台:准确高效给商户结款
  • 修改和调试 onnx 模型
  • 不同整数的最少数目和单词直接最短距离
  • 【Microsoft Edge】版本 109.0.1518.55 (正式版本) (64 位) 更新失败解决方案
  • 深度学习笔记(四)——使用TF2构建基础网络的常用函数+简单ML分类实现
  • 大模型学习篇(一):初识大模型
  • uni-app的学习【第二节】
  • matlab行操作快?还是列操作快?
  • 基于SSM的流浪动物救助站
  • 任务13:使用MapReduce对天气数据进行ETL(获取各基站ID)
  • @Controller层自定义注解拦截request请求校验
  • Ceph集群修改主机名
  • 玖章算术NineData通过阿里云PolarDB产品生态集成认证