Closed dradenvandewind closed 3 years ago
Hi @dradenvandewind,
you can enable gstreamer debugging output by setting the environment variable GST_DEBUG, like so:
$ GST_DEBUG node ./script.js
as for your example, you have to make sure your node script does not quit early - a gstreamer-superficial pipeline does not keep the node process running by itself. Your example works, if you add at the bottom:
setInterval( function() {
console.log("running")
}, 1000 );
inspired by your example, i have added a small self-contained example here: glshader.js
hello can you explain how enable gst_debug for watch log ? I want implement this example https://gstreamer.freedesktop.org/documentation/opengl/glshader.html?gi-language=javascript
However, my pipeline no work
bellow my test code :
!/usr/bin/env node
const gstreamer = require('../..'); const { exec } = require('child_process');
function execPromise(command) { return new Promise(function(resolve, reject) { exec(command, (error, stdout, stderr) => { if (error) { reject(error); return; } resolve(stdout.trim()); }); }); }
async function set_shader(obj) {
try { var result = await execPromise('cat myshader.frag'); console.log(result); var test = typeof 'result'; //console.log('arg',test); console.log(obj) obj['fragment'] = result; console.log(obj)
} catch (e) { console.error(e.message); } }
const pipeline = new gstreamer.Pipeline('videotestsrc ! glupload ! glshader name=glshader ! glimagesink' )
pipeline.play(); if( pipeline != 0) { console.log(' start pipeline'); }
const glshader = pipeline.findChild('glshader') if(glshader != 0) { set_shader(glshader); } else { console.log('gltransformation isn t available '); }