自动分割mp3等音频视频文件的脚本
由于种种关系,我需要对一批mp3文件进行分割(切割)。每个音频文件大约1小时,需要切成每10分钟1个文件,文件名要带序号。手工分割工作量太大,不符合我等“懒人”的做法。于是找到了大名的”格式工厂“。
由于每个文件时长不是严格一样,短的50多分钟,长的60多分钟,结合试用格式工厂的结果是它不能探测音频文件的时长(可能是我没找到探测方法),所以我改为固定切成6个文件,前5个文件每个10分钟,第6个包了剩余的部分。第6个文件应该是第3000秒到3600秒的,于是变成3000秒到4000秒,这样剩余的部分应该都包括在内了。
由于分成多段(多个文件)后,两段的切换,在有些播放器上(如带淡进淡出的效果)会听不清楚,所以我增加了1秒钟的重叠。于是第1个文件是0到601秒,第2个文件是600到1201秒,依此类推。
由于每个文件切成6个,我将这6个文件在一个子文件夹,便于管理。
经过调试,得到了这个Dos Shell(批处理)脚本:
@Echo Off
set hide=/hide
set hide=
cd C:\Program Files\FormatFactory
for %%F in (*.mp3) do (
C:FormatFactory "-> MP3" "High quality" "%%~fF" "%%~dpFSplit\%%~nF\1%%~nxF" %hide% /st=0 /et=601
C:FormatFactory "-> MP3" "High quality" "%%~fF" "%%~dpFSplit\%%~nF\2%%~nxF" %hide% /st=600 /et=1201
C:FormatFactory "-> MP3" "High quality" "%%~fF" "%%~dpFSplit\%%~nF\3%%~nxF" %hide% /st=1200 /et=1801
C:FormatFactory "-> MP3" "High quality" "%%~fF" "%%~dpFSplit\%%~nF\4%%~nxF" %hide% /st=1800 /et=2401
C:FormatFactory "-> MP3" "High quality" "%%~fF" "%%~dpFSplit\%%~nF\5%%~nxF" %hide% /st=2400 /et=3001
C:FormatFactory "-> MP3" "High quality" "%%~fF" "%%~dpFSplit\%%~nF\6%%~nxF" %hide% /st=3000 /et=4001
)
说明一下,
“*.mp3"代表我只切割当前文件夹下的mp3文件,
“-> MP3"指定转化成mp3文件,
"High quality“高质量,另外2个选项是"Medium quality"和"Low quality"。实际测试表明,另外2个,除了音质比较差之外,文件大小反而更大,这可能是原来的mp3文件已经经过了良好的压制,所以保持高质量可能就是不编码,反而质量好,文件小,我猜的。
"%%~fF"就是指要分割的文件
"%%~dpFSplit\%%~nF\1%%~nxF",当前文件夹下统一建一个Split的文件夹,里面按按照每个将分割的文件建文件夹,里面存放是分割后的文件。例如,要处理的文件是 abc.mp3 则 分割后的第1个文件是 Split\abc\1abc.mp3
有了这个脚本,只要在命令行窗口下,要处理的mp3文件的当前目录,启动这个脚本,然后看它全自动进行分割,最终收获到一堆分割的文件。懒人就是喜欢这样的。一劳永逸。
要使用这个脚本,你得安装【格式工厂】这个软件,在"cd "那一行设置这个软件安装后的路径,如果不是安装在C盘,则要改FormatFactory左边的盘符。
如果你要处理的输入文件类型,输出文件类型,输出质量,输出文件夹,输出文件名,分割的时间条件,请自行根据我上面的说明作修改。这个修改相比制作出这个脚本,是非常简单。
祝你早日成为懒人。喜欢懒人文化。
自动分割mp3等音频视频文件的脚本的更多相关文章
- 自动分割nginx服务的日志文件
nginx服务每天都会产生大量的日志信息,时间一长导致日志文件容量很大,会影响系统性能.通过以下shell代码,配合crontab定时执行可实现nginx日志定时分割的功能. #!/bin/bash ...
- 一起学Android之音频视频
概述 Android多媒体框架支持各种常见的媒体类型,可以很容易地将音频.视频和图像集成到App中.通过MediaPlayer Api,可以从应用程序资源(RAW).文件系统或网络上数据流资源来播放音 ...
- 解决Chrome浏览器无法自动播放音频视频的问题,Uncaught (in promise) DOMException
转载自:http://www.nooong.com/docs/chrome_video_autoplay.htm 在最新版的Chrome浏览器(以及所有以Chromium为内核的浏览器)中,已不再允许 ...
- ffmpeg实现视频文件合并/截取预览视频/抽取音频/crop(裁剪)(ffmpeg4.2.2)
一,ffmpeg的安装 请参见: https://www.cnblogs.com/architectforest/p/12807683.html 说明:刘宏缔的架构森林是一个专注架构的博客,地址:ht ...
- C# / VB.NET 在Word中嵌入多媒体(视频、音频)文件
Word中可将Office(Word/Excel/PowerPoint).PDF.txt等文件作为OLE对象插入到文档中,双击该对象可直接访问或编辑该文件,除了以上常见的文件格式对象,也可以插入多媒体 ...
- Java 在Word中嵌入多媒体(视频、音频)文件
Word中可将Office(Word/Excel/PowerPoint).PDF.txt等文件作为OLE对象插入到文档中,双击该对象可直接访问或编辑该文件,除了以上常见的文件格式对象,也可以插入多媒体 ...
- 基于log4net的支持动态文件名、按日期和大小自动分割文件的日志组件
最近处理一个日志功能,用log4net的配置不能完全满足要求,所以在其基础上简单封装了一下,支持以下功能: 1 零配置 内置默认配置,引用dll后不需要添加或修改任何配置文件也可以使用 2 动态指定文 ...
- iOS 微信 音频 视频自动播放
iOS 微信 音频 视频自动播放 http://www.w3ctech.com/topic/1165
- [SimplePlayer] 4. 从视频文件中提取音频
提取音频,具体点来说就是提取音频帧.提取方法与从视频文件中提取图像的方法基本一样,这里仅列出其中的不同点: 1. 由于目的提取音频,因此在demux的时候需要指定的是提取audio stream Au ...
随机推荐
- 高性能Javascript--高效的数据访问
接上一篇,希望能写一个高性能Javascript专题. 第一篇:高性能Javascript--脚本的无阻塞加载策略. 参考摘录<高性能Javascript>. 经典计算机科学的一个问题是, ...
- MapReduce剖析笔记之八: Map输出数据的处理类MapOutputBuffer分析
在上一节我们分析了Child子进程启动,处理Map.Reduce任务的主要过程,但对于一些细节没有分析,这一节主要对MapOutputBuffer这个关键类进行分析. MapOutputBuffer顾 ...
- TODO:Go语言goroutine和channel使用
TODO:Go语言goroutine和channel使用 goroutine是Go语言中的轻量级线程实现,由Go语言运行时(runtime)管理.使用的时候在函数前面加"go"这个 ...
- 高级SQL运用
一:什么是数据库设计? 数据库设计就是将数据库中的数据实体以及这些数据实体之间的关系,进行规范和结构化的过程. 二:为什么要实施数据库设计? 1:良好的数据库设计可以有效的解决数据冗余的问题 2:效率 ...
- Atitit onvif 协议截图 getSnapshotUri 使用java
Atitit onvif 协议截图 getSnapshotUri 使用java 1.1. ONVIF Device Test Tool1 1.2. 源码2 1.3. 直接浏览器访问http://192 ...
- Bootstrap3系列:下拉菜单
1.引用Bootstrap 示例引用的Bootstrap版本:v3.3.7 <script src="~/Scripts/jquery-2.2.4.min.js">&l ...
- Logstash时区、时间转换,message重组
适用场景 获取日志本身时间 日志时间转Unix时间 重组message 示例日志: hellow@,@world@,@2011-11-01 18:46:43 logstash 配置文件: input{ ...
- 从273二手车的M站点初探js模块化编程
前言 这几天在看273M站点时被他们的页面交互方式所吸引,他们的首页是采用三次加载+分页的方式.也就说分为大分页和小分页两种交互.大分页就是通过分页按钮来操作,小分页是通过下拉(向下滑动)时异步加载数 ...
- 使用F#开发ASP.NET Core应用程序
.NET Core 里的F# 在.NET Core刚发布时,就已经添加了对F#的支持.但因为当时F#组件还不完整,而一些依赖包并没有放在Nuget上,而是社区自己放到MyGet上,所以在使用dotne ...
- 「译」JUnit 5 系列:架构体系
原文地址:http://blog.codefx.org/design/architecture/junit-5-architecture/ 原文日期:29, Mar, 2016 译文首发:Linesh ...