由于种种关系,我需要对一批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等音频视频文件的脚本的更多相关文章

  1. 自动分割nginx服务的日志文件

    nginx服务每天都会产生大量的日志信息,时间一长导致日志文件容量很大,会影响系统性能.通过以下shell代码,配合crontab定时执行可实现nginx日志定时分割的功能. #!/bin/bash ...

  2. 一起学Android之音频视频

    概述 Android多媒体框架支持各种常见的媒体类型,可以很容易地将音频.视频和图像集成到App中.通过MediaPlayer Api,可以从应用程序资源(RAW).文件系统或网络上数据流资源来播放音 ...

  3. 解决Chrome浏览器无法自动播放音频视频的问题,Uncaught (in promise) DOMException

    转载自:http://www.nooong.com/docs/chrome_video_autoplay.htm 在最新版的Chrome浏览器(以及所有以Chromium为内核的浏览器)中,已不再允许 ...

  4. ffmpeg实现视频文件合并/截取预览视频/抽取音频/crop(裁剪)(ffmpeg4.2.2)

    一,ffmpeg的安装 请参见: https://www.cnblogs.com/architectforest/p/12807683.html 说明:刘宏缔的架构森林是一个专注架构的博客,地址:ht ...

  5. C# / VB.NET 在Word中嵌入多媒体(视频、音频)文件

    Word中可将Office(Word/Excel/PowerPoint).PDF.txt等文件作为OLE对象插入到文档中,双击该对象可直接访问或编辑该文件,除了以上常见的文件格式对象,也可以插入多媒体 ...

  6. Java 在Word中嵌入多媒体(视频、音频)文件

    Word中可将Office(Word/Excel/PowerPoint).PDF.txt等文件作为OLE对象插入到文档中,双击该对象可直接访问或编辑该文件,除了以上常见的文件格式对象,也可以插入多媒体 ...

  7. 基于log4net的支持动态文件名、按日期和大小自动分割文件的日志组件

    最近处理一个日志功能,用log4net的配置不能完全满足要求,所以在其基础上简单封装了一下,支持以下功能: 1 零配置 内置默认配置,引用dll后不需要添加或修改任何配置文件也可以使用 2 动态指定文 ...

  8. iOS 微信 音频 视频自动播放

    iOS 微信 音频 视频自动播放 http://www.w3ctech.com/topic/1165

  9. [SimplePlayer] 4. 从视频文件中提取音频

    提取音频,具体点来说就是提取音频帧.提取方法与从视频文件中提取图像的方法基本一样,这里仅列出其中的不同点: 1. 由于目的提取音频,因此在demux的时候需要指定的是提取audio stream Au ...

随机推荐

  1. STL标准模板库(简介)

    标准模板库(STL,Standard Template Library)是C++标准库的重要组成部分,包含了诸多在计算机科学领域里所常见的基本数据结构和基本算法,为广大C++程序员提供了一个可扩展的应 ...

  2. socket编程为什么需要htons(), ntohl(), ntohs(),htons() 函数

    在C/C++写网络程序的时候,往往会遇到字节的网络顺序和主机顺序的问题.这是就可能用到htons(), ntohl(), ntohs(),htons()这4个函数. 网络字节顺序与本地字节顺序之间的转 ...

  3. Android官方文档

    下面的内容来自Android官方网站,由于访问这个网站需要FQ,不方便,所以我把部分内容copy下来了,不保证内容是最新的. Source Overview    Codelines, Branche ...

  4. How do servlets work-Instantiation, sessions, shared variables and multithreading[reproduced]

    When the servletcontainer (like Apache Tomcat) starts up, it will deploy and load all webapplication ...

  5. Javascript本地存储小结

    前言 总括:详细讲述Cookie,LocalStorge,SesstionStorge的区别和用法. 人生如画,岁月如歌. 原文博客地址:Javascript本地存储小结 知乎专栏&& ...

  6. Oracle 中的操作符

    1.union:对两个结果集进行并集操作,不包括重复行,同时进行默认规则的排序: SELECT * FROM emp WHERE sal < UNION SELECT * FROM emp WH ...

  7. 『.NET Core CLI工具文档』(八)dotnet-restore

    说明:本文是个人翻译文章,由于个人水平有限,有不对的地方请大家帮忙更正. 原文:dotnet-restore 翻译:dotnet-restore 名称 dotnet-restore - 还原一个项目的 ...

  8. asp.net core 简单部署之FTP配置(CentOS 7.0安装配置Vsftp服务器)

    配置过程原文地址:http://www.osyunwei.com/archives/9006.html 坑和结果 正确的跟着这个内容走,是靠谱的. 我自己给自己踩了个坑,请参照文章的朋友注意第七条:七 ...

  9. 自己动手写计算器v1.1

    这个改动主要是使用工厂模式替代了简单工厂模式,这样做的好处是如果以后我们要扩充其他运算时,就不用总是去修改工厂类, 这是可以采取工厂模式,主要是将原来简单工厂类的逻辑判断分离出来,将它作为一个借口,与 ...

  10. 【转】Django Model field reference学习总结

    Django Model field reference学习总结(一) 本文档包含所有字段选项(field options)的内部细节和Django已经提供的field types. Field 选项 ...