小编sch*_*rmu的帖子

在node.js中生成子进程时出错

我正试图让一个小的ffmpeg转换器服务启动并运行,到目前为止取得了相当不错的进展.但是当涉及到产生转换的实际ffmpeg过程时,我正在撞墙.

// options.ffmpegopts is an array containing format-specific parameters
var args = [ '-y', '"' + options.targetfile + '"' ];
args = options.ffmpegopts.concat(args);

var ffmpegProc = spawn('ffmpeg ', args);
ffmpegProc.stderr.on('data', function(data) {
  console.log('stderr: ' + data);
});
Run Code Online (Sandbox Code Playgroud)

执行此代码时,我得到以下控制台输出:

stderr: execvp(): No such file or directory
Run Code Online (Sandbox Code Playgroud)

我已经检查了不同的节点版本(0.4.0,0.4.2和0.5.0-pre)而没有任何影响.

另一个非常奇怪的行为是我必须调用spawn包括一个空格('ffmpeg '而不仅仅是'ffmpeg').如果我省略这个空格,我会得到一个不同的错误(stderr: "/path/to/my/movie.mpeg": no such file or directory).直接从shell调用ffmpeg时,发送到child_process.spawn()的命令执行没有任何问题.

那个提示有什么提示吗?我已经检查了其他实现相同的项目(比如node-imagemagickffmpeg-node,但启示没有打到我...

更新:strace()输出

使用我的应用程序运行时strace -fF -o strace.log node server.js,我可以grep以下进程产生调用:

execve("/usr/local/sbin/ffmpeg", ["ffmpeg", "-i", "\"/data/media_dev/test/ORG_mymovi"..., "-sameq", "-ab", …
Run Code Online (Sandbox Code Playgroud)

spawn execvp node.js

5
推荐指数
1
解决办法
9307
查看次数

获取接入点及其信号强度的列表

我目前正在尝试构建概念验证的iOS应用,以检查我们是否能够在不部署信标或任何其他硬件的情况下实现某种室内定位功能。

我们有什么

有一个数据库,其中包含我们建筑物中所有已注册的访问点,包括其X坐标和Y坐标。坐标被映射到横跨整个建筑物的定制网格。

该应用程序将使用我们的企业版发行,因此没有任何有关Apple Store要求的限制。该应用将仅在使用证书自动连接到正确的WiFi的设备上运行。

我们想要建造什么

为了提高应用程序的可用性,我们想向用户显示他当前的位置。使用Apple的本机CLLocation服务不够准确,因为我们在建筑物内运营。基本思想是获取所有附近的接入点(包括其BSSID和信号强度),并使用信号强度和接入点的位置数据库来计算或多或少的准确位置(请参见上文)。

到目前为止我尝试过的

使用SystemConfiguration.CaptiveNetwork获得BSSID

import SystemConfiguration.CaptiveNetwork

func getCurrentBSSID() -> String {
    guard let currentInterfaces = CNCopySupportedInterfaces() as? [String] else { return "" }
    for interface in currentInterfaces {
        print("Looking up BSSID info for \(interface)") // en0
        let SSIDDict = CNCopyCurrentNetworkInfo(interface as CFString) as! [String : AnyObject]
        return SSIDDict[kCNNetworkInfoKeyBSSID as String] as! String
    }
    return ""
}
Run Code Online (Sandbox Code Playgroud)

此解决方案有效(在设置了适当的权利之后),但是我只能读取当前连接的接入点的BSSID 。

使用UIStatusBarDataNetworkItemView于读出信号强度

private func wifiStrength() -> Int? {
    let app …
Run Code Online (Sandbox Code Playgroud)

ios swift

5
推荐指数
1
解决办法
312
查看次数

标签 统计

execvp ×1

ios ×1

node.js ×1

spawn ×1

swift ×1