omxplayer-control-layered

1.0.0 • Public • Published

omxplayer-control-layered

An library for Node.js allowing you to have multiple omxplayer instances and control them in-process via the low-latency interprocess communication protocol, D-Bus.

Installation

npm install --save omxplayer-control-layered

Usage

Short example running a video getting the status every 5 seconds and listeing to the aboutToFinis signal

var OmxPlayer = require('omxplayer-control-layered');
var opts = {
    'layer': '1',
    'audioOutput': 'hdmi', //  'hdmi' | 'local' | 'both'
    'blackBackground': false, //false | true | default: true
    'disableKeys': true, //false | true | default: false
    'disableOnScreenDisplay': true, //false | true | default: false
    'disableGhostbox': true, //false | true | default: false
    'subtitlePath': '', //default: ""
    'startAt': 0, //default: 0
    'startVolume': 0.8 //0.0 ... 1.0 default: 1.0
};
var omxp = new OmxPlayer(opts);

omxp.open('path_to_file');
omxp.on('changeStatus',function(status){
    console.log('Status',status);
});
omxp.on('aboutToFinish',function(){
    console.log('File about to finish');
});

#API

List of available commands

Open single file

omxp.open('path_to_file');

Basic commands

omxp.playPause(function(err){});
omxp.play(function(err){});
omxp.pause(function(err){});
omxp.getStatus(function(err, status){}); //Playing, Paused,
omxp.getDuration(function(err, duration){});
omxp.getPosition(function(err, position){});
omxp.setPosition(new_pos, function(err){});
omxp.seek(offset, function(err){});
omxp.getVolume(function(err, volume){});
omxp.setVolume(new_volume, function(err, volume){});
omxp.volumeUp(function(err){});
omxp.volumeDown(function(err){});
omxp.toggleSubtitles(function(err){});
omxp.hideSubtitles(function(err){});
omxp.showSubtitles(function(err){});
omxp.setAlpha(function(err){});
omxp.setVideoPos(function(err){});
omxp.setVideoCropPos(function(err){});
omxp.setAspectMode(function(err){});

Other commands

Change de Alpha of the current window the value must be between 0 and 255

omxp.setAlpha(alpha_value, function(err){});

Set the position of the window, only works in non full screen.

omxp.setVideoPos(x1, y1, x2, y2, function(err){});

Crop the video inside the window.

omxp.setVideoCropPos(x1, y1, x2, y2, function(err){});

Set the aspect mode for the video, must be one of the following: 'letterbox', 'fill', 'stretch', 'default'

omxp.setAspectMode(aspect, function(err){});

Reference:

Issue reporting:

When reporting an issue please add the following information:

  • OS version cat /etc/os-release
  • Node version node --version
  • omxplayer-control-layered version npm ls | grep omxplayer-control-layered
  • A detailed explanation of the issue and/or output.

Package Sidebar

Install

npm i omxplayer-control-layered

Weekly Downloads

1

Version

1.0.0

License

MIT

Unpacked Size

39.2 kB

Total Files

12

Last publish

Collaborators

  • nicolaspennesi