我应该在OFX的System()中写什么?

时间:2017-03-08 09:10:59

标签: terminal youtube openframeworks youtube-dl

我是mac用户,我想使用youtube api允许openframeworks加载youtube的视频。所以我使用youtube-dl在终端下载视频。然后我发现我可以使用OFX中的System来执行终端命令。 我的问题是我可以在终端中执行youtube-dl它从youtube下载视频,但是当我将此命令写入OFX时,它只是说找不到youtube-dl:命令。 我的代码:

     string link = https://www.youtube.com/watch?v=YPMeEfeBcPU;
     string cmd = "youtube-dl " + link;
     cout<<ofSystem(cmd.c_str());

实际上,当我将此命令转移到正常的终端命令(如

)时
  string cmd = say Hello World!   

这是有效的!

所以我想知道我该怎么做。

1 个答案:

答案 0 :(得分:0)

尝试使用其完整路径调用<html> <head> <script src="javascripts/jquery-1.5.2.js"></script> <script type="text/javascript"> $(document).ready(function() { var param = { salutation: 5+6, name: "Friend" }; $.post("greeting", param, function(result) { console.log("param",param); $("#greeting").html(result); }); }); </script> </head> <body> <h1>Sinatra Ajax Demo using jQuery</h1> <div id="greeting"> <p>Hello, World</p> </div> </body> </html> 命令。类似的东西:

youtube-dl

更多细节:

ofSystem()很可能在内部调用system(),它在sh中启动命令参数,而不是在终端中使用的bash中启动。

要验证这一点,请打开终端并呼叫sh。这将打开一个新的shell提示符(sh shell)。现在拨打string cmd = "/usr/local/bin/youtube-dl " + link; ,很可能也找不到它。