问题标签 [handbrake-js]

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 投票
3 回答
1286 浏览

javascript - Node handbrakejs 运行代码但不输出

所以我有以下代码:

此代码运行,一旦完成,我会收到以下控制台消息:

现在这是奇怪的部分:

输出未progress显示在控制台中,当我尝试查找文件时没有文件:S

控制台中没有错误,也没有任何迹象表明出了什么问题?

有没有人知道这可能是什么?

当我调试我的完整功能时,我可以进入this并获得以下信息output

0 投票
1 回答
407 浏览

google-chrome - handbrake-js(节点)在 html5-Chrome 上没有视频

我正在尝试使用 handbrake-js for node 转换视频。起初我尝试指定比特率、视频大小、编解码器等。目标是生成几个 html5 兼容的流,用作 webGL 画布视频的源。一切似乎工作正常,它输出视频,当我使用 Quicktime 或 VLC 打开它时,它看起来很好,但是,当我在标签上使用它时,没有视频,只有音频。

下面的代码在一个函数中调用,该函数接收一个“ops”JSON,带有宽度和高度。

控制台显示正在转换的视频,以及干净的退出。但 webGL 报告:

[.Offscreen-For-WebGL-0x7fbf21074c00]渲染警告:绑定到纹理单元 0 的纹理不可渲染。它可能不是 2 的幂并且具有不兼容的纹理过滤。

注意:视频是2 的幂 (1024x512) 此外,当我播放原始文件时,它不会显示错误。

为了调试,我什至将视频附加到 HTML,并更改了 CSS 以显示它。但没有视频。只是音频。

我什至尝试过:

和一个简单的嗯... input.mp4 显示正常。output.m4v 总是无法在 HTML 上显示视频(Chrome,safari 似乎工作得很好)。

有任何想法吗?

0 投票
0 回答
169 浏览

node.js - 无法在 Windows 上使用 npm 安装 handbrake-js

我正在尝试安装项目的所有依赖项,其中包括 - “handbrake-js”:“^1.1.8”。

这是我在 npm-install 上遇到的错误:

我尝试使用以下命令全局安装 handbrake-js: npm install -g handbrake-js 。但后来我得到这个错误:

不知道我在这里做错了什么。请帮忙。提前致谢。

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 回答
54 浏览

node.js - 使用 heroku 部署的应用程序转换文件的最佳方法是什么?

我正在编写一个 Discord 机器人并将其部署到 heroku。我有一个机器人功能,它将接收视频文件并将其从任何格式转换为 .mp4,然后机器人回复嵌入的文件。

在本地,一切运行正常,而且我知道 Heroku 使用临时文件系统,但考虑到我并不真正关心持久化这些文件,我认为在磁盘上创建它们、回复然后删除它们就可以了。

但是,每当我在部署的机器人上运行命令时,我都会收到此错误错误:ENOENT:没有这样的文件或目录,stat '/app/dest/videostoconvert/851730039589306388.mp4'

我在代码中添加了一些可能有帮助的注释。在我看来,这意味着该目录不存在,但如果该目录在代码的前面不存在,我将创建该目录,所以我不确定是什么导致了问题。此外,根据 Heroku 控制台输出,故障点似乎发生在 hbjs.spawn.on("complete", ...) 行,因此该目录似乎是为了在下载文件后写入文件而创建的。

我会说,我不反对使用 S3 来托管文件而不是直接写入 heroku 磁盘,但我不确定在这种情况下如何转换它们,sine hbjs 似乎期待磁盘写出转换文件的路径。