如何将 Handbrake 输出同时输出到屏幕和文件?

2023-12-07

因此,我一直在使用 Handbrake 命令行对我的视频收藏进行编码以存储在我的 NAS 上,这样我就可以在我的 HTPC 上使用它。我一直在寻找一种既可以输出到屏幕的方法,这样我就可以在编码时观察它的输出,也可以输出到文件,这样我就可以返回并查看特定的编码会话。

我的解决方案是使用一个 Powershell 窗口运行编码并输出到文件,然后使用另一个 Powershell 窗口读取日志文件并将其显示在屏幕上。这可行,但我想改进它,因为它并不完美。由于读取文件脚本以设定的间隔读取,因此会丢失行。另外,如果我减少间隔,它会对系统性能产生影响,使编码运行速度变慢一些。有没有办法可以将第一个窗口的输出重定向到文件和屏幕?

第一个 powershell 脚本(启动编码的脚本)名为“Convert1.ps1”(从 handbrake 安装目录运行):

net time \\ODIN |find "Current time"
./HandbrakeCLI.exe -i "<input file>" -o "<output file>" <handbrake parameters>

要输出到文件的第二个 powershell 脚本,名为“Start_Convert.ps1”:

d:\Conversions\Convert.ps1 2>&1 | out-file d:\Conversions\Completed\Movies\9.29.2010.log

从该日志文件读取的第三个 powershell 脚本称为“Watch_Output.ps1”:

while (1)
{
(Get-Content d:\Conversions\Completed\Movies\9.29.2010.log)[-1]
Start-sleep 5
}

理想情况下,我希望将这一切都集中到一个 powershell 窗口中,该窗口运行一个脚本来启动编码、输出到文件并将其显示在屏幕上。

编辑(添加解决方案): 有两种不同的方法,我选择后者,因为它更简单。

方式#1 - 开始工作 开始转换的结果脚本:

Start-Job -Name VideoConvert -ScriptBlock { d:\Conversions\Convert.ps1 2>&1 | out-file d:\Conversions\Movies\Movie.log }
Get-FileTail -Wait Encoding Unicode -Path D:\Conversions\Completed\Movies\Movie.log

方式 #2 - Tee 对象 开始转换的结果脚本:

d:\Conversions\Convert.ps1 2>&1 |Tee-Object -File D:\Conversions\Completed\Movies\Movie.log

再次感谢大家。这就像我想要的那样工作。


我将使用 Tee-Object 来实现此目的:

./HandbrakeCLI.exe -i infile -o outfile ... 2>&1 | Tee-Object -File movie.log

添加在2>&1将错误捕获到日志和屏幕上。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何将 Handbrake 输出同时输出到屏幕和文件? 的相关文章

  • PowerShell中有解析TOML文件的模块吗?

    我正在尝试寻找一个TOML https toml ioPowerShell 的文件解析器 我也找不到任何有关它的信息PowerShell 画廊 https www powershellgallery com 或在预安装的 PowerShel
  • 动态参数值取决于另一个动态参数值

    启动前提 非常严格的环境 Windows 7 SP1 Powershell 3 0 使用外部库的可能性有限或不可能 我正在尝试重写之前创建的 bash 工具 这次使用 PowerShell 在 bash 中 我实现了自动完成功能 以使该工具
  • Powershell v2 远程处理和委派

    我在两台机器上安装了 Powershell V2 并在两台机器上运行 Enable PsRemoting 两台机器都是Win 2003 R2 并且都加入了同一个活动目录域 我可以成功地远程运行命令 所以PS远程处理是在本地服务器和远程服务器
  • 如何在C#和Azure启动任务中自动更新EXE项目?

    我在我的天蓝色相关项目中面临着一个关键且有趣的问题 我创建了一个 Web 应用程序 用户可以从那里下载一个插件 C 中的 EXE 项目 并在解压后上传 EXE 和配置文件到部署在 Azure 平台上的应用程序的启动任务 并且该 exe 定期
  • PowerShell 中的 ProcessStartInfo 和进程 - 身份验证错误

    我有使用 ProcessStartInfo 和 Process 调用另一个脚本并返回该脚本的输出的代码 不幸的是 我遇到了错误 并且不确定如何解决这些问题 script1 ps1 abc args startInfo NULL proces
  • 如何捕获从 Powershell 运行的控制台 exe 的二进制标准输出?

    是否可以让 Powershell 将 exe 的标准输出读入 byte 而不是通常的文本处理行数组 我能做的最好的事情是 cmd c foo exe gt foo tmp b io file readallbytes foo tmp del
  • 获取进程和进程所有者

    我正在尝试对一个脚本进行排序 该脚本将检索进程的所有实例以及进程各自的所有者 我有一个脚本来获取进程名称和开始时间 get process name notepad select object starttime name 我有一个脚本来获
  • 克服 Active Directory 1000 条记录的限制

    PowerShell 能够提取 1492 条记录的列表 当我使用带有 ldap3 模块的 Python 时 我遇到了 1000 条记录的限制 请帮我更改Python代码以超出限制 PowerShell 输入 get aduser filte
  • 如何使用多个字符的字符串在 PowerShell 中“拆分”字符串?

    当在 PowerShell 中的字符串上使用 Split 运算符并尝试使用包含多个字符的字符串进行拆分时 PowerShell 会表现出奇怪的行为 它使用any字符串中要分割的字符数 例如 PS C Users username gt On
  • Azure Runbook 输出到电子邮件

    我正在尝试将 VM 状态的输出从 Azure 自动化 Runbook 发送到电子邮件中 我使用以下代码 function Send EMail Param Parameter Mandatory true String EmailTo Pa
  • 具有特殊AssignableScopes的Azure自定义RM角色定义

    我正在尝试创建一个自定义 Azure RM 角色定义 其范围适用于一个订阅内的某些资源组 我不想提供对所有订阅或仅一个资源组的访问权限 并且我无法指定资源组列表 因为其中一些资源组尚未创建 我只想提供订阅资源组的某些子集的访问权限 为此 我
  • 使用powershell计算子文件夹中具有特定名称的文件数量

    因此 我开始解决一个问题 我需要知道某个名称的子文件夹中有多少个文件 这些文件在整个目录中重复多次 我想要计算的所有文件夹都具有相同的名称 例如 Main Folder Subfolder Folder I want to count Fo
  • PowerShell-V5 Invoke-Webrequest 添加 2 个标头授权标头和接受接受标头

    我正在尝试创建一个脚本 该脚本将使用 powershell 和 invoke webrequest 自动升级 NSX 以利用 NSX Manager 的 API 调用 我已经完成了脚本 但脚本的某些部分我需要检查并匹配响应中的某些数据 事实
  • Foreach-object Parallel 块内的错误处理 - Powershell 7

    在下面的 Foreach Object Parallel 块中捕获错误的最佳方法是什么 因为将有三个单独的线程 运行空间运行并执行块中写入的代码 并且可能同时发生多个错误 异常 是否可以捕获列表 变量中的所有错误并在脚本执行结束时显示 1
  • PowerShell脚本将标签值从一个文件替换到另一个文件(标签值)

    我需要使用 powershell 脚本将标签值从另一个文件替换到一个文件中 Example File A
  • Invoke-WebRequest SSL 失败?

    当我尝试使用时Invoke WebRequest我收到一些奇怪的错误 Invoke WebRequest Uri https idp safenames com Invoke WebRequest The underlying connec
  • powershell循环持续检查服务器是否启动

    我想运行一个脚本来检查 5 台服务器是否已启动并根据特定服务正在运行 如果该服务正在运行 那么我们就知道该服务器已启动并可访问 如果它没有回复 那么我希望它继续检查 这是我到目前为止得到的 Get Service LANMANSERVER
  • PowerShell 输出在函数之间交叉

    我正在 Windows 10 上的 5 1 版本中编写一个 PowerShell 脚本 该脚本获取有关本地系统 以及最终其子网 的某些信息并将其输出到文本文件中 起初 我将所有方面都集中在一个函数中 我在输出时遇到了输出问题getUsers
  • Powershell Invoke-SSHCommand:使用“1”个参数调用“EndExecute”时出现异常

    我正在尝试通过 powershell 中的 Posh SSH 模块连接到 Netscaler SDX 服务器 以搜索特定文件 然后下载它 如果我用 putty 连接到服务器 它就可以工作 然后我可以输入 shell 来打开普通的 bash
  • PowerShell 解锁/卸载导入的 CSV

    早晨 我想问题就在标题里 我有一个脚本 它通过导入 CSV 的文件夹结构运行 与每个脚本一起工作 然后在完成后尝试删除它们 遗憾的是 其中很多都锁定在 PowerShell 上 而我删除它们的唯一方法就是关闭 PS 有什么方法可以卸载csv

随机推荐

  • 如何在 Node.js / EJS 中单击按钮时触发 Firebase POST 请求

    EDIT 实际上仍然存在一些问题 真正的问题实际上是 Firebase 安全规则 一切都在这里解决了 如何将 Node js 变量放入我的 中 问题 单击 Downvote Button 的 Upvote Button 时如何触发Fireb
  • Laravel (HasMany) 不检索值

    我有以下型号 namespace App use Illuminate Database Eloquent Model class forum category extends Model protected table forum cat
  • 通过Delphi传递SQL Server存储过程参数名称

    我是 Delphi 的新手 正在尝试找到调用 SQL Server 中的一些存储过程的方法 这是我目前正在使用的代码 它有效 FConnection TADOConnection Create nil FMetaDataSP TADOSto
  • 加密脚本中的 MySQL 流量

    我需要能够加密从 Web 服务器到数据库服务器的 MySQL 流量 我知道如何根据 my cnf 中的服务器和客户端设置将 MySQL 设置为使用 SSL 但是 这需要使用 PHP 中的 mysql connect 来完成 这可能是一个由两
  • python 字节数组中的“&”代表什么

    符号是什么意思 意思是在Python的末尾bytearray e g x w bytearray b x00 x00 x04 x12 xaa x12 x12 当将其转换为整数时 int from bytes x w little Out 1
  • 如何增加长时间运行的查询的执行超时?

    在我的应用程序中 执行一个查询需要 3 分钟 我找到默认 ExecutionTimeout 值为 110 秒 我尝试将其更改为 500 秒 但它没有解决我的问题 我在某个地方找到了这个设置
  • 如何从 PHAsset 获取原始图像和媒体类型?

    My GMImagePickerController 返回从照片应用程序中选择的图像的列表 代码如下 void assetsPickerController GMImagePickerController picker didFinishP
  • Pyspark:在 UDF 中传递多列

    我正在编写一个用户定义函数 它将获取数据框中除第一列之外的所有列并进行求和 或任何其他操作 现在 数据框有时可以有 3 列 4 列或更多 它会有所不同 我知道我可以硬编码 4 个列名称作为 UDF 中的传递 但在这种情况下它会有所不同 所以
  • Rails 3.0.3 - Oracle_enhanced 不起作用

    我一直在使用 Ruby 1 8 Rails 2 3 5 和 oracle enhanced 效果很好 现在我最近在另一个文件夹中安装了 Ruby 1 9 2 和 Rails 3 0 3 但无法让它工作 当我创建一个简单的应用程序并访问它时
  • WPF DataGrid 单列中的不同编辑控件

    我正在开发一个 WPF 4 0 应用程序 我需要创建一个网格 其中包含一个带有文本框或下拉列表的列 具体取决于行 例子 Name Value Help PROP1A textbox Description of prop1a Prop2A
  • Android Studio 0.2.6 和 ZBar 项目设置

    我使用的是最新的Android Studio 0 2 6和最新的ZBar Android SDK 到目前为止我所做的 创建了一个名为 QRTest 的全新项目 在我的项目中创建了一个名为 libs 的文件夹 将Zbar libs目录的内容放
  • 如何在不看到权限屏幕的情况下登录 OneDrive(首次登录后)

    我刚刚开始使用 OneDrive API 及其附带的示例程序 OneDriveApiBrowser 正如预期的那样 我第一次登录时 使用 登录到 MSA 系统要求我提供凭据 我的 2 因素代码 最后出现一个权限屏幕 询问我是否批准应用程序想
  • iOS - Google AdMob v6.12.0 - “idfa 类丢失,不会收集 idfa”

    我在 iOS 8 目标 iOS 7 中的一个项目中使用 Google AdMob DFP 和中介插页式广告 尽管我已经包含了我认为 AdMob v6 12 0 所需的所有框架 根据 AdMob 网站 但我在 Xcode 中看到以下警告消息
  • 构建配置特定资源(调试与发布)

    有谁知道一种聪明的方法 最好使用 Eclipse ADT 工作流程 根据项目是调试还是发布构建 即在 Eclipse 中应用程序是运行还是导出 将特定资源应用于项目 我们经常遇到的常见用例是 API 密钥 如地图 最好建立一个项目 专门为所
  • 将多行分组并连接为一行

    我想将所有 文本 行 连接 成一行并得到一行作为结果 这可能吗 我使用 MSSQL Server 2005 使用 FOR XML 路径 SELECT Text AS text FROM table FOR XML PATH 另一种选择 使用
  • 将相机限制在地面覆盖层上?谷歌地图 Android API v2

    我正在尝试向我的用户显示带有标记的地面覆盖层 我试图将视图限制为仅显示地图上的此图像 我希望用户只能将图像视为放置在地图上的地面叠加层 而无法转到周围的地图 如果他们越过边缘 手势就会被阻止 我想要这样的东西 我不想要这个 仅显示地面覆盖地
  • 如何在实践中创建幽灵小工具?

    我正在开发 NASM GCC 针对 ELF64 PoC它使用一个幽灵小工具来测量访问一组缓存行的时间 冲洗 重新加载 如何制作一个可靠的幽灵小工具 我相信我理解 FLUSH RELOAD 技术背后的理论 但在实践中 尽管有一些噪音 我无法生
  • 使用 BinaryFormatter 反序列化加密数据时出现问题

    这是我的代码 public static void Save
  • 控制 C 或 C++ 中的 shell 命令行通配符扩展

    我正在用 C 编写一个程序 foo 它通常在命令行上调用 如下所示 foo txt My main 以正常方式接收参数 在许多系统上 argv 1 从字面上看是 txt 并且我必须调用系统例程来进行通配符扩展 然而 在 Unix 系统上 s
  • 如何将 Handbrake 输出同时输出到屏幕和文件?

    因此 我一直在使用 Handbrake 命令行对我的视频收藏进行编码以存储在我的 NAS 上 这样我就可以在我的 HTPC 上使用它 我一直在寻找一种既可以输出到屏幕的方法 这样我就可以在编码时观察它的输出 也可以输出到文件 这样我就可以返