shell_exec не может получить URL-адрес видео.
Процесс завершается с пустым результатом без каких-либо ошибок.
// main.php
shell_exec($bin_path .' '. __DIR__ . "/ffprobe_hosts.py " . $video_url ." 2>&1");
// index.js
exports.handler = function(event, context, callback)
{
var php = spawn('/var/task/php-7-bin/bin/php',['/var/task/main.php']);
var output = "";
//send the input event json as string via STDIN to php process
php.stdin.write(JSON.stringify(event));
//close the php stream to unblock php process
php.stdin.end();
//dynamically collect php output
php.stdout.on('data', function(data) {
output+=data;
});
//react to potential errors
php.stderr.on('data', function(data) {
console.log("STDERR: "+data);
});
//finalize when php process is done.
php.on('close', function(code) {
context.succeed(JSON.parse(JSON.stringify(output)));
});
}
Как сделать этот URL-адрес синхронным. Думаю, это проблема асинхронного характера.
Когда я попробовал с локальным URL-адресом видео, например: /var/task/video.mp4, это сработало.
Но URL, как это не работает: http://techslides.com/demos/sample-videos/small.mp4.
Задача ещё не решена.
Других решений пока нет …