Windows下ffmpeg批处理遍历当前文件夹下所有特定格式文件(如MP4等)无损提取视频音频且生成文件存到原视频文件夹下同时跳过已经处理的文件

使用场景说明

我习惯闲暇之余听考研政治课的音频
原版低级代码如下

for %%a  in  (*.mp4)  do ffmpeg -threads 15 -i  "%%a"   -vn -acodec copy "%%a.aac" -n
pause

此代码仅仅能够实现将bat代码所在文件夹下的视频给无损且无转码高速转换为音频(上百倍速度)
注释:下面的采取的aac是常见视频的内嵌音频流,有的视频比如油管下载下来的mkv格式音乐视频内的音频为fltp格式等,用

ffmpeg -i 文件

即可获取文件内置默认音频的格式,如下若为fltp的格式音频,想要不转码高速输出就得修改aac为fltp
在这里插入图片描述

回到正题

之所以不能一个个文件夹下慢慢去一个个启动程序来处理,仅仅是因为我储存视频文件用的是机械硬盘,所以要是一个个文件夹分开的启动多个命令,由于机械硬盘结构设计局限,同时吞吐多个不同位置下的文件需要磁头来回到不同扇区工作,类似于分身乏术就会将几十mb/s的读取性能拉到可怜的个位数4mb/s左右,所以需要找到方法一个程序打开便能够读取多个文件夹下的视频来提取音频同时方便查找放音频到原来的视频所在文件夹下

for /r . %%a  in  (/*.mp4)  do ffmpeg -threads 15 -i  "%%a"   -vn -acodec copy "%%a.aac" -n
pause

注解什么的懒得注解了,看这篇一样
(原文中用的是%%i 这里用的是%%a 不影响)
参考文章

https://www.cnblogs.com/xpwi/p/9626959.html

在这里插入图片描述
效果如下上百倍速度(有的甚至上千倍)
在这里插入图片描述
CPU占用超低同时磁盘占用效率极高
在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值