问题标签 [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.
php - 强制 PHP 以原始格式传递数字
我使用 PHP import_json 打开一个 JSON 文件,然后 export_json 仅将第一项输出为另一个 JSON 文件(本质上是将一个长 JSON 作业列表拆分为单个作业),但我遇到了一个问题,其中某处的行号是真实的或带有尾随“.0”的浮点数正在被转换并作为整数输出。
例子:
出来为:
我目前正在使用的整个 PHP 代码:
示例 JSON 位于: https ://pastebin.com/K2qnggjT
不幸的是,我正在为其制作单个作业 JSON 的程序需要正确格式化数字,否则我会收到“预期的真实但得到 int”错误。JSON 文件包含字符串和数值,其中也有嵌套数组。
有什么方法可以让 PHP 像字符串一样传递数字,但在结果中仍显示为数值?在源代码中有显示为整数的数字,所以我认为仅将所有数字定义为带有尾随 .0 的浮点数是行不通的。这完全可以用 PHP 实现吗?
linux - 并非每个命令都在 while 循环中
我正在尝试制作一个查看文件夹的脚本,并将使用手刹自动编码进入该文件夹的文件。我想这样做监视文件夹,使用 inotify 将文件夹中的新增内容放入列表中,然后使用 cron 作业在一夜之间对它们进行编码。但是,当使用 while 循环遍历列表时,手刹仅对存在的第一个文件进行编码,然后脚本在循环之后继续,而不执行列表中的每个文件。这是调用手刹的脚本:
当使用简单的 echo 而不是 HandBrakeCLI 测试循环时,它可以正常工作并打印出每个文件,所以我不知道出了什么问题。
这是监视文件夹的脚本,以防出现问题:
任何帮助都会很棒,谢谢
编辑:更具体地说,该脚本适用于 list.txt 中的第一个文件,它对其进行编码没有问题并删除旧版本,但随后它不会执行列表中的任何其他文件
ffmpeg - 将 Handbrake 选项转换为 FFMPEG 命令
我想将一堆视频从 x264 转换为 x265,但我需要在终端中使用 ffmpeg,因为它是远程服务器。这些是我的手刹选项(列出的项目打勾):
摘要选项卡
- 网页优化
- 对齐 A/V 开始
尺寸选项卡 未更改
过滤器选项卡
- 锐化 - LapSharp,预设:中
视频标签
视频编解码器 - H.265 (x265)
帧率 (FPS) - 30 - 峰值帧率
质量 - 恒定质量 - 28
编码器预设 - 中
编码器调整 - 无
编码器配置文件 - 自动
音频选项卡
- 音轨 - AAC,比特率:128
字幕选项卡-无字幕(如果存在则删除)
这是到目前为止我设法编译的 ffmpeg 命令:
ffmpeg -i input.mp4 -c:v libx265 -crf 28 -c:a aac -b:a 128k -max_muxing_queue_size 400 -movflags +faststart output.mp4
我有以下两个问题:
- 提供的 ffmpeg 命令是否列出了除峰值帧率、锐化过滤器和删除字幕之外的所有选项?我如何合并这三个?
- 有点不相关,但是否
-max_muxing_queue_size 400
会对文件大小或视频质量产生负面影响?我只包含这个是因为我过去遇到过编码错误。
谢谢你。
我的手刹日志带有上述选项,如果有帮助的话:
ffmpeg - 使用 FFMPEG 计算的 SSIM 值不是我所期望的
我正在尝试将 m2ts(MPEG-2 传输流)文件编码为 mp4(H.264)并获取 ssim 值。
我确实得到了一些 SSIM 值,但结果与我的预期相反。
ffmpeg 有错误的命令选项吗?
编码和 SSIM 计算命令
SSIM的结果
- (d)(e):这些都是我所期望的。
- (a):文件相同,但ssim≠1。
- (b)(c):虽然图像质量不同,但 CRF=0 和 CRF=30 的 SSIM 值几乎相同。
在 HandBrakeCLI 的情况下
为了确定 input.m2ts 是否有问题,我使用与 ffmpeg 几乎相同的参数运行 HandBrakeCLI。
这一切都如我所料。(虽然 A 不是 ssim=1.0)因此,我看不到 input.m2ts 有问题。
有关视频文件和工具的信息
ffprobe 的结果
输入.m2ts
输出_ff_crf-0.mp4
output_hb_crf-0.mp4
工具
版本
- ffmpeg:3.4.6-0ubuntu0.18.04.1
- HandBrakeCLI:1.1.0
ldd
ffmpeg 和 HandBrakeCLI 使用相同的 libx264。
python - Ubuntu 上的 HandbrakeCLI 出现 Python 错误且未找到文件
我正在尝试在 python3 中编写一个程序,该程序在我的 ubuntu 机器上使用 handbrakecli 来重新编码一些视频。
我错过了一些愚蠢的东西,但我一生都无法弄清楚这一点,而且我已经做了无数个小时了。
这是代码:
并且无论我如何重新排列“我都会遇到两个错误之一,要么手刹说找不到文件,要么找不到我的预设。
这个确切的命令可以在命令行中完美运行。
这是具体的错误:
在此先感谢您的帮助。同样,我不是 python 编码器,但我不认为这会这么难。
vue.js - Electron.js \app.asar\node_modules\{modulename}\bin\file.exe 未找到
我正在使用 vue cli 开发 electron.js 应用程序。我想使用使用 handbrakeCLI 对文件进行编码的 handbrake-js。handbrake.js 工作得很好,但是在我生成之后,它会导致HandbrakeCLINotFound: HandbrakeCLI application not found: C:\Users\user\OneDrive\Documents\Projects\Electron.js Projects\video-compressor\dist_electron\win-unpacked\resources\app.asar\node_modules\handbrake-js\bin\HandbrakeCLI.exe.
在我的 app.asar.unpacked 文件夹中,一切看起来都很棒。手刹 cli 存在。
node.js - Heroku 上的 Handbrake-js 不起作用。一切都适用于 http://localhost
使用该npm install handbrake-js --save
命令,我将 handbrake-js 作为库安装,经过一些调整,handbrake-js 开始完美地完成工作。这就是问题所在。在本地计算机上一切正常,视频被解码等。但是(!)当我将我的应用程序上传到 Heroku 时,handbrake-js 停止工作。
手刹版本:5.0.2
操作系统和版本:macOS 10.15 Catalina
我的应用程序使用节点 js
错误消息文本:
以下是 Heroku 在 Heroku 上部署应用程序时提供的信息:
Linux 用户
- handbrake-cli 必须以 root 用户身份单独安装。
Ubuntu 用户可以使用以下命令执行此操作:
- add-apt-repository --yes ppa: stebbins / handbrake-releases
- apt-get 更新 -qq
- apt-get install -qq handbrake-cli
Heroku 日志:
当您尝试解码时会发生以下情况:
这是用于设置和开始解码的代码:
c# - 处理输出重定向批处理停止c#
我是 c# / winforms 的新手,并尝试使用手刹批量转换视频剪辑。当进程在自己的窗口中打开而不重定向 Stdout/Stderr 时,转换本身正在工作。但是当我将输出重定向到 winforms 文本框时,只有第一个剪辑被转换。正如我在任务管理器中看到的那样,handbrake_Cli 已经打开但什么也没做。我认为任何缓冲区中都有一些 STDerr/STDout 并且正在等待刷新....但我不知道该怎么做。如果有人能给我一个提示会很高兴:-)
firefox - Handbrake 转换后 Firefox 中不成比例的 webm
在 Chrome 与 Firefox 中查看此 webm 视频。您可能只会在 Firefox 中注意到,纵横比是错误的。这不会发生在所有 webms 上。我只在经过此过程的 webms 上看到它:
- 使用名为Handbrake的程序调整 mp4 的大小。
- 使用Cloudconvert将其转换为 webm
我不知道我在调整手刹大小时是否做错了什么,但我很好奇的是这种行为。为什么 Firefox 会这样做?有什么办法可以在没有原始 mp4 的情况下修复它?