我检查了所有处理YouTube-dl问题的问题,但没有发现我的问题同样的问题;
当我在meteorjs应用程序中下载带有节点YouTube-dl的YouTube视频时,一切正常(在chrome中),除了在Firefox中打开视频而不是下载它;但是当我尝试从Facebook,Twitter或其他任何网站下载视频(镀铬)时,它会在控制台中抛出此错误
Error: Internal server error [500]
终端上的这个
Exception while invoking method 'commandliiiine'Error: No video id found: https://www.facebook.com/sawtelghad/videos/1070722126318944/
这是我服务器中的代码
var ytdl = Meteor.npmRequire('ytdl-core');
var Future = Meteor.npmRequire("fibers/future");
Meteor.methods({
'commandliiiine': function(url){
this.unblock();
var future = new Future();
ytdl.getInfo(url, function(err, result) {
future.return(result);
});
return future.wait();
}
});
这是客户端中的代码
Meteor.call('commandliiiine', url, function(error, result){
if (result) {
Session.set('videoTitle', result.title);
Session.set('videoImage', result.thumbnail_url);
} else {
console.log('error:'+ error);
}
});
这是我使用的youtube-dl的版本:“ytdl-core”:“0.7.9”
任何人都可以帮我解决这个问题!!请
非常感谢
答案 0 :(得分:0)
您提交的网址功能是什么?
我也检查了Facebook,在结果对象中你回到了客户端,例如没有任何thumbnail_url。
将您的代码更改为:
Meteor.call('commandliiiine', url, function(error, result){
if (result) {
console.log(result);
} else {
console.log('error:'+ error);
}
});
并在Chrome上打开开发者控制台并查看您返回的对象。您只能访问为每个视频共享站点打印的对象键。