问题标签 [handbrake]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
video - 确定视频的未压缩比特率
所以最近,我尝试使用以下手刹设置对默认的 Windows 7 野生动物示例视频进行编码:http: //i.stack.imgur.com/GQhQv.png
我这样做了 3 次,唯一的区别是 x264 预设,我将其设置为 Ultrafast、Medium 和 Placebo。自然,由于 Ultrafast 编码在以无损方式压缩视频方面做得更差,它必须在无损压缩之前降低视频比特率,以符合最终视频设定的 1000kbps 比特率。中等和安慰剂可以承受更高的未压缩比特率,因此看起来更好,如下所示:http: //i.stack.imgur.com/YPmV8.png
我面临的问题是,从上面显示的 MediaInfo 详细信息来看,除了重新框架之外,文件之间似乎根本没有太大差异,我怀疑它们会对质量产生太大影响的视频(尽管随时证明我错了)。
所以我想知道,由于所有视频似乎都具有相同的压缩后比特率,你打算如何在不亲自查看视频的情况下确定视频的实际质量?是否有工具可以让您查看未压缩的比特率?
powershell - Powershell脚本不等待输入文件夹中的文件,退出
在 Google 的帮助下,我为 Handbrake 自动化编写了一个 Powershell 脚本。
它能做什么:
- 有些文件是通过 RSS 自动下载的。它们被放置在源文件夹中。
- Powershell 脚本执行 Handbrake,编码开始并成功结束。
- 如果源文件夹中没有新文件到达,则脚本退出。
问题在于最后一项。当源文件夹为空时,Powershell 脚本退出,但我希望它继续运行并在它们到达时处理更多文件,直到我杀死它。添加新文件时,它应该自动开始编码。
代码在PasteBin中,其中有更多注释,但应该很容易推断出脚本的作用:
audio - 使用手刹通过命令行将包含所有字幕和音频的视频转换为 mp4
我想用 Handbrake 将我的视频从 mkv 转换为 mp4。但我希望将 mkv 中包含的所有音频文件和字幕放入新的 mp4 容器中!
'Add all remaining'
我使用 Handbrake 0.9.9 GUI,因为在此版本中,您可以在首选项( / )下预定义默认的音轨和字幕数量'Add all'
。现在我想通过 HandBrakeCLI 实现相同的目标。
batch-file - 在批处理文件中手刹后删除输入文件
我为 HandBrakeCLI 编写了这段代码作为批处理文件来操作我的视频。此代码使用输入文件名和“_conv”后缀创建输出文件。
然后我想删除原始文件,然后删除输出文件的 _conv 部分。应该在上面的代码中添加什么?
我想在转换后删除每个文件,或者至少在从其包含文件夹到另一个文件夹时删除,而不是在转换所有文件之后完全删除(因为必须转换很多文件,我可能会用完空间)
顺便问一下,我如何在代码中除了 *.mov 之外添加其他格式?
batch-file - 用于分配给 HandBraking 视频的拖放路径的批处理文件
我有以下批处理文件代码来使用 HandBrakeCLI 转换一些视频文件:
要将此代码应用于视频,我应该复制批处理文件和 Handbrake.exe(及其相关文件夹)并将它们粘贴到名为 test 的文件夹旁边(在上面的代码中),然后在批处理文件中更改名称“test”到该文件夹的名称,然后运行批处理文件。
您能否以我们在任意文件夹中运行它的方式编写批处理文件,以便它提示输入包含视频的文件夹,然后我们写入路径(或者只是将文件夹拖放到命令行并按 Enter)而不移动文件并重命名“测试”?
video - 使用手刹将 MKV 无损转换为 MP4
我需要提供什么参数来防止 Handbrake 在转换为 MP4 时丢失源视频的质量。我已经阅读了所有文档,我可以看到它在哪里节流,但我找不到如何告诉 Handbrake 忽略默认设置并保留现有设置。
java - BufferedReader 似乎无限读取第一行
我正在尝试通过我正在编写的 Java 应用程序运行 Handbrake,但在等待 Handbrake 完成时遇到了麻烦。
当我尝试这个时:
我得到的输出是:
一遍又一遍,文件永远不会被转换。
当我将其更改为以下内容时:
它适用于我的测试文件,但是当错误读取器用完要读取的行并且 readLine() 无限锁定线程时,它会挂起。在全长文件上,文件被转换,但这部分代码被锁定,因此它永远不会继续使用应用程序。
有什么建议么?
javascript - Node handbrakejs 运行代码但不输出
所以我有以下代码:
此代码运行,一旦完成,我会收到以下控制台消息:
现在这是奇怪的部分:
输出未progress
显示在控制台中,当我尝试查找文件时没有文件:S
控制台中没有错误,也没有任何迹象表明出了什么问题?
有没有人知道这可能是什么?
当我调试我的完整功能时,我可以进入this
并获得以下信息output
:
c# - HandbrakeCLI 不会通过 C# 进程自动化
我正在尝试通过 System.Diagnostics.Process 类使用 C# 自动化 HandbrakeCLI。但是,只要我的程序尝试运行该进程,该进程似乎就永远不会前进。
这是我的流程设置:
HandbrakeCLI.exe 确实出现在我的进程列表中。Debug.WriteLine(输出); 行不断打印出“Encoding: task 1 of 1, 0.00 %”并且该过程永远不会完成。如果我杀死我的 C# 应用程序,那么 HandbrakeCLI 会立即从内存中的 7,000k 飙升至 145,000k,然后执行我希望它执行的编码。就像我的 C# 应用程序正在阻止它。
我尝试使用 Read() 而不是 ReadLine() 并且尝试在读取之前和之后刷新 StandardOutput 流但没有成功。我怀疑,由于 HandbrakeCLI 在写入编码进度时会覆盖 stdout,因此当通过 C# 自动化时,它不会像正常过程一样运行。
windows - 带有多个命令的 Windows 批处理脚本
好的,所以我有一个 Windows 10 .bat 脚本来转换一个文件夹中的所有类型视频,并使用带有多个命令的 HandbrakeCLI 在另一个文件夹中输出。
除此之外,我想使用像BES这样的 CPU 使用限制器来控制 HandbrakeCLI 的 CPU 使用。
转换每个文件后,我想向自己发送一个 Pushbullet 通知,说明转换已完成。
下面的代码帮助我实现了这一点,但是我需要运行 .bat 文件两次才能启动,并在一次迭代后停止。
最初使用多个命令时遇到问题,因此搜索并在命令之间使用“&”,不高兴。
我已经有一个 Powershell 脚本可以完成所有这些操作,所以请不要建议使用 Powershell,我不想使用它,因为 Powershell 脚本需要提升权限,我不想再提供了。
或者
//去做
删除已经转换的文件
更新:使用下面的代码让它工作,但是现在想从每个循环的“ToConvert”文件夹中删除转换后的文件