批处理系列(10) - 批量剪辑音频

Posted 大象

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了批处理系列(10) - 批量剪辑音频相关的知识,希望对你有一定的参考价值。

结合本系列文章第一篇,看本文。

需要ffmpeg,配置ffmpeg到环境变量。

应用场景:下载一个专辑的有声文件,音轨上固定时间有广告之类的插入,去除掉它。

这里展示的是去掉开头部分。

@echo off
@REM @Author: xianghongai@gmail.com
title 音频剪辑操作  by:小可(xianghongai@gmail.com)
SETLOCAL ENABLEDELAYEDEXPANSION

:GTBegin
cls
@echo 音频剪辑操作(提前设置好起始时间,备份好原始音频数据)
@echo --------------------------------------------
set /p HandleDir=需要处理的目录:

:GTCONTINUE
cls
@echo 音频剪辑操作
@echo --------------------------------------------
@echo 处理的目录:%HandleDir%
@echo.
@echo -----------------1.相同时间段剪辑-----------------
@echo   11 - 剪辑当前目录
@echo   12 - 剪辑层级子目录
@echo -------------------其它-------------------
@echo   8 - 重新选择目录
@echo   9 - 退出
@echo.
set  GTOperator=9
set /p GTOperator="选择操作数: "
@echo.

if %GTOperator% equ 11 goto GTDIRPREFIX
if %GTOperator% equ 12 goto GTSUBDIRPREFIX

if %GTOperator% equ 8 goto GTBegin
if %GTOperator% equ 9 goto GTExit

echo 请选择正确的操作数
pause >nul
goto GTCONTINUE

rem @echo 不能做文件名称的字符
rem @echo \\ / : * ? " < > |

rem 11.当前目录:目录名-文件名
:GTDIRPREFIX
cd /d "!HandleDir!"
for /f "delims=" %%i in (\'dir /a-d /b *.MP3 2^>nul\') do (
    if not "%~nx0"=="%%i" (
        ffmpeg -ss 00:00:47.666 -i "%%nxi" -acodec copy "O%%~nxi"
    )
)
echo 搞定
pause >nul
goto GTCONTINUE

rem 12.子目录:子目录名-文件名
:GTSUBDIRPREFIX
cd /d "!HandleDir!"
for /f "usebackq" %%i in (`dir /ad /b /s^|sort /r`) do (
    for /f "usebackq delims=" %%j in (`dir /a-d /b "%%i\\*.MP3" 2^>nul`) do (
        ffmpeg -ss 00:00:47.666 -i "%%i\\%%j" -acodec copy "%%i\\%%~nxi-O%%~nxj"
        )   )
echo 搞定
pause >nul
goto GTCONTINUE


:GTExit
exit


转载保留原文地址和作者名,只为错误勘正和信息补充。
版权声明:自由转载-非商用-非衍生-保持署名(创意共享3.0许可证)

以上是关于批处理系列(10) - 批量剪辑音频的主要内容,如果未能解决你的问题,请参考以下文章

使用导致内存泄漏的音频片段

Python:运用pydub模块转换音频格式对音频进行剪辑

Python:运用pydub模块转换音频格式对音频进行剪辑

短视频运营短视频剪辑 ⑤ ( 视频素材使用 | 设置插入后的视频素材属性 | 设置画面 | 设置音频 | 设置变速 | 设置动画 | 设置调节 )

在 IOS 中,如何乱序播放音频片段的一部分?

如何在 Java 中播放(MIDI)序列中的音频剪辑?