问题标签 [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.

0 投票
0 回答
13 浏览

php - 强制 PHP 以原始格式传递数字

我使用 PHP import_json 打开一个 JSON 文件,然后 export_json 仅将第一项输出为另一个 JSON 文件(本质上是将一个长 JSON 作业列表拆分为单个作业),但我遇到了一个问题,其中某处的行号是真实的或带有尾随“.0”的浮点数正在被转换并作为整数输出。

例子:

出来为:

我目前正在使用的整个 PHP 代码:

示例 JSON 位于: https ://pastebin.com/K2qnggjT

不幸的是,我正在为其制作单个作业 JSON 的程序需要正确格式化数字,否则我会收到“预期的真实但得到 int”错误。JSON 文件包含字符串和数值,其中也有嵌套数组。

有什么方法可以让 PHP 像字符串一样传递数字,但在结果中仍显示为数值?在源代码中有显示为整数的数字,所以我认为仅将所有数字定义为带有尾随 .0 的浮点数是行不通的。这完全可以用 PHP 实现吗?

0 投票
1 回答
39 浏览

linux - 并非每个命令都在 while 循环中

我正在尝试制作一个查看文件夹的脚本,并将使用手刹自动编码进入该文件夹的文件。我想这样做监视文件夹,使用 inotify 将文件夹中的新增内容放入列表中,然后使用 cron 作业在一夜之间对它们进行编码。但是,当使用 while 循环遍历列表时,手刹仅对存在的第一个文件进行编码,然后脚本在循环之后继续,而不执行列表中的每个文件。这是调用手刹的脚本:

当使用简单的 echo 而不是 HandBrakeCLI 测试循环时,它可以正常工作并打印出每个文件,所以我不知道出了什么问题。

这是监视文件夹的脚本,以防出现问题:

任何帮助都会很棒,谢谢

编辑:更具体地说,该脚本适用于 list.txt 中的第一个文件,它对其进行编码没有问题并删除旧版本,但随后它不会执行列表中的任何其他文件

0 投票
0 回答
1774 浏览

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

我有以下两个问题:

  1. 提供的 ffmpeg 命令是否列出了除峰值帧率锐化过滤器删除字幕之外的所有选项?我如何合并这三个?
  2. 有点不相关,但是否-max_muxing_queue_size 400会对文件大小或视频质量产生负面影响?我只包含这个是因为我过去遇到过编码错误。

谢谢你。

我的手刹日志带有上述选项,如果有帮助的话:

0 投票
0 回答
296 浏览

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。

0 投票
1 回答
169 浏览

python - Ubuntu 上的 HandbrakeCLI 出现 Python 错误且未找到文件

我正在尝试在 python3 中编写一个程序,该程序在我的 ubuntu 机器上使用 handbrakecli 来重新编码一些视频。

我错过了一些愚蠢的东西,但我一生都无法弄清楚这一点,而且我已经做了无数个小时了。

这是代码:

并且无论我如何重新排列“我都会遇到两个错误之一,要么手刹说找不到文件,要么找不到我的预设。

这个确切的命令可以在命令行中完美运行。

这是具体的错误:

在此先感谢您的帮助。同样,我不是 python 编码器,但我不认为这会这么难。

0 投票
1 回答
303 浏览

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 存在。

0 投票
1 回答
121 浏览

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 日志:

当您尝试解码时会发生以下情况:

这是用于设置和开始解码的代码:

0 投票
1 回答
263 浏览

ffmpeg - FFMPEG - Apple 720p30 环绕 MP4 H.264 AAC 立体声;杜比数码

我想要与此匹配的 FFmpeg cli 设置(这是手刹预设)

在此处输入图像描述

这是预设文件,我不明白这些对ffmpeg是什么。

0 投票
1 回答
44 浏览

c# - 处理输出重定向批处理停止c#

我是 c# / winforms 的新手,并尝试使用手刹批量转换视频剪辑。当进程在自己的窗口中打开而不重定向 Stdout/Stderr 时,转换本身正在工作。但是当我将输出重定向到 winforms 文本框时,只有第一个剪辑被转换。正如我在任务管理器中看到的那样,handbrake_Cli 已经打开但什么也没做。我认为任何缓冲区中都有一些 STDerr/STDout 并且正在等待刷新....但我不知道该怎么做。如果有人能给我一个提示会很高兴:-)

0 投票
0 回答
51 浏览

firefox - Handbrake 转换后 Firefox 中不成比例的 webm

在 Chrome 与 Firefox 中查看此 webm 视频。您可能只会在 Firefox 中注意到,纵横比是错误的。这不会发生在所有 webms 上。我只在经过此过程的 webms 上看到它:

  1. 使用名为Handbrake的程序调整 mp4 的大小。
  2. 使用Cloudconvert将其转换为 webm

我不知道我在调整手刹大小时是否做错了什么,但我很好奇的是这种行为。为什么 Firefox 会这样做?有什么办法可以在没有原始 mp4 的情况下修复它?