前言

本人 n 年前的需求,需要自动化的将 Blu-ray Live 转换成 FLAC 格式的文件(自听&发种)。

注意:本脚本仅支持输出 flac !

前提

  1. 计算机安装有 PowerShell (Windows 已内置) Linux 、 MacOS 自行下载安装
  2. 计算机安装有 ffmpeg (Windows 需要添加到 Path 路径中)Linux 、 MacOS 通过软件源或使用 make 编译安装

用法

将下面脚本放在一个文件夹中,并在该文件夹启动 PowerShell 终端,然后输入以下命令

. .\Get-SplitedBDAudioTrack.ps1 ; Get-SplitedBDAudioTrack -a 01.flac -c 1.txt -o "E:\PPP 7th\Demux"

-a 是 eac3to 生成的 [code]flac[/code] 或者 wav 的路径

-c 是 eac3to 生成的章节文件的路径

-o 是输出文件夹

代码

#使用记事本另存为 Get-SplitedBDAudioTrack.ps1 编码为 UTF-8
function Get-SplitedBDAudioTrack {
[CmdletBinding()]
param (
[Parameter(
Mandatory = $true,
Position = 0,
HelpMessage = "Path to one or more locations.")]
[ValidateNotNullOrEmpty()]
[alias("a")]
[string]
$AudioTrackPath,
[Parameter(
Position = 1,
HelpMessage = "Path to one or more locations.")]
[ValidateNotNullOrEmpty()]
[alias("c")]
[string]
$ChaptersFilePath,
[Parameter(
Mandatory = $true,
Position = 2,
HelpMessage = "Path to one or more locations.")]
[ValidateNotNullOrEmpty()]
[alias("o")]
[string]
$OutputDirectory
) process {
$ChaptersFile = Get-Content $ChaptersFilePath
if (-not $ChaptersFile[0].StartsWith("CHAPTER")) {
Write-Error -Message "Not a chapters file.";
return 1;
}
$Chapters = New-Object 'System.Collections.Generic.Dictionary[[int],[string]]'
$j = 0;
for ($i = 0; $i -lt $ChaptersFile.Length; $i++) {
$Chapters.Add((++$j), $ChaptersFile[$i].Split("=")[1]);
$i++;
}
for ($i = 1; $i -le $j; $i++) {
if ($i + 1 -gt $j) {
ffmpeg -ss $Chapters[$i] -i $AudioTrackPath -acodec flac ($OutputDirectory + "\" + $i.ToString("00") + ".flac")
break;
}
ffmpeg -ss $Chapters[$i] -to $Chapters[$i + 1] -i $AudioTrackPath -acodec flac ($OutputDirectory + "\" + $i.ToString("00") + ".flac")
}
}
}

PowerShell 多平台一键生成 Blu-ray Live 分轨的更多相关文章

  1. Ant搭建 一键生成APP技术 平台

    1.博客概要 本文详细介绍了当今流行的一键生成APP技术.介绍了这种设计思想的来源,介绍了国内外的研究背景,并介绍了这个技术体系中的一些实现细节,欢迎各路大神们多提意见.一键生成技术,说的通俗点就是, ...

  2. 想做微信小程序第三方代理,各位觉得一键生成平台能赚到钱吗?

    这几年生意不景气,这是很多人的共识.从2009年开始,各种专家就判断"明年经济是最差的一年."然后,这个明年,一直"明"到了2018年,到最后,我们发现,经济就 ...

  3. HubbleDotNet 最新绿色版,服务端免安装,基于eaglet 最后V1.2.8.9版本开发,bug修正,支持一键生成同步表

    HubbleDotNet 是一个基于.net framework 的开源免费的全文搜索数据库组件.开源协议是 Apache 2.0.HubbleDotNet提供了基于SQL的全文检索接口,使用者只需会 ...

  4. 在线制作一键生成微信小程序实现原理之需求分析

    随着微信小程序接口不断的放开,小程序在今年或许是明年必将成为商家的一个标配,这个标配的标准就是要开发周期短,费用低,功能实用.只有这样才能让线下的广大商家快速接入.现在也有好多公司开发出了一键生成快速 ...

  5. [Java 开源项目]一款无需写任何代码,即可一键生成前后端代码的工具

    作者:HelloGitHub-小鱼干 JeecgBoot 是一款基于代码生成器的低代码开发平台,零代码开发.JeecgBoot 采用开发模式:Online Coding 模式-> 代码生成器模式 ...

  6. Fiddler抓包一键生成代码

    首先我们的需求场景是 用Fiddler抓到某个接口调用后,用代码来模拟调用,一般我们写代码会有3个步骤: 1设置http请求相关的参数:header,method,url,cookie等 2设置pos ...

  7. “一键”生成HTML——Emmet插件常用语法

    Emmet是一款文本编辑器/IDE的插件,用来快速生成复杂的HTML代码,只要掌握一些常用的语法(类似于CSS选择器),就可以减少重复编码的工作(主要是懒).我个人惯用的是sublime,因此下文介绍 ...

  8. 一键生成APP官网

    只需要输入苹果下载地址,安卓市场下载地址,或者内测下载地址,就能一键生成APP的官网,方便在网上推广. 好推APP官网 www.hotapp.cn/app

  9. 使用sencha cmd 一键生成你的应用程序代码

    一键生成你的应用程序代码: ------------------------------------------------------------ 我们的出发点就是使用命令来产生一个应用程序,执行以 ...

  10. 一键生成HTML4和WAP站

    前两天在QQ空间上提到微信上线风铃时,把其中的HTML5错打成HTML4,结果发现很多媒体微博照着转载,依旧说成 "一键生成HTML4和WAP站",这就是转载不注明出处.不署名.不 ...

随机推荐

  1. 2. Tomcat-Servlet

    1. Tomcat ‍ ​​ ‍ 目录结构说明: bin 可执行文件目录 conf 配置文件目录 lib 存放 lib 的目录 logs 日志文件目录 webapps 项目部署的目录 work 工作目 ...

  2. C++面试八股文:std::vector和std::list,如何选择?

    某日二师兄参加XXX科技公司的C++工程师开发岗位第24面: 面试官:list用过吗? 二师兄:嗯,用过. 面试官:请讲一下list的实现原理. 二师兄:std::list被称为双向链表,和C中手写双 ...

  3. java调用WebService(未完成)记录篇

    背景: 因工作需要和一个Sap相关系统以WebService的方式进行接口联调,之前仅听过这种技术,但并没有实操过,所以将本次开发相关的踩坑进行记录 通过一个实例来认识webservice 服务端 首 ...

  4. Python常用基础知识整理

    一.Python转义字符 \a :响铃(BEL) \b : 退格(BS) ,将当前位置移到前一列 \f :换页(FF),将当前位置移到下页开头 \n :换行(LF) ,将当前位置移到下一行开头 \r ...

  5. Blazor前后端框架Known-V1.2.2

    V1.2.2 Known是基于C#和Blazor开发的前后端分离快速开发框架,开箱即用,跨平台,一处代码,多处运行. 概述 基于C#和Blazor实现的快速开发框架,前后端分离,开箱即用. 跨平台,单 ...

  6. Python与MySQL如何保持长连接

    Python与MySQL如何保持长连接 介绍 在python后端开发中,时常会与数据库交互,重复的断开.连接 会大大消耗数据库资源. 所以一般都是定义全局变量,来弥补这个缺陷. 但是 Python 与 ...

  7. vue3 安装 3d-force-graph

    1.首先创建vue3的项目 2.创建好后通过开发工具打开项目并打开命令行,输入指令 npm install 3d-force-graph 安装即可 3.在使用的页面中引入 3d-force-graph ...

  8. 快速搭建 phpmyadmin 开发环境

    真的很喜欢 phpmyadmin 这个 PHP 程序. 虽然工作上基本都用 Navicat,但是很多东西都是习惯了,就很难改变! 比如建表,执行 SQL 语句,界面操作肯定是 phpmyadmin 更 ...

  9. 分布式数据库oceanBase部署

    分布式数据库oceanBase部署 相关链接 文档中心 视频中心 软件下载 OceanBase数据库基本操作 OceanBase简介 SQL执行计划 基本概念 为了更好地管理 OceanBase 数据 ...

  10. 《最新出炉》系列入门篇-Python+Playwright自动化测试-10-标签页操作(tab)

    1.简介 标签操作其实也是基于浏览器上下文(BrowserContext)进行操作的,而且宏哥在之前的BrowserContext也有提到过,但是有的童鞋或者小伙伴还是不清楚怎么操作,或者思路有点模糊 ...