В моем приложении meteor я использую youtube-dl для загрузки видео с веб-сайтов YouTube и других сайтов; на самом деле, я могу получить информацию о видео со стороны сервера, используя код нижеКак я могу выполнить загрузку видео на стороне клиента с помощью python youtube-dl и meteorjs
var exec = Meteor.npmRequire('child_process').exec;
var Future = Meteor.npmRequire("fibers/future");
Meteor.methods({
'comman': function(url){
this.unblock();
var future = new Future();
exec("youtube-dl -F " + url, function(error, stdout, stderr) {
future.return({stdout: stdout, stderr: stderr});
});
return future.wait();
}
});
и вызов на клиенте
Meteor.call('comman', url, function(error, result){
if (result.stdout) {
console.log('output:' + result.stdout);
} else {
console.log('error:'+ result.stderr);
}
});
Следующий шаг состоит в том, что пользователь может увидеть миниатюру клипа, список доступных форматов, возможность загрузки и сохранения желаемого формата с клиентской стороны;
Как я могу выполнить это? Любые идеи?
Спасибо за вашу помощь
Спасибо за ответ; именно то, что я ищу. Как насчет загрузки с клиента? как я могу это сделать после получения url? – abdou
в downloadLink (result.formats [0] .url); , если я соединяю каждый формат со ссылкой (); как я могу получить URL-адрес щелкнутой ссылки?, я пытаюсь сделать это с помощью функции click на a и оповестить $ (this) .url, но он всегда бросает одинаковый url для всех форматов. Я что-то пропустил? – abdou
, потому что вы возвращаете форматы [0] - это означает первую ссылку в массиве формата. Вы можете взглянуть на базовый javascript, прежде чем начать с Meteor – mhlavacka