silvermine / videojs-airplay Goto Github PK
View Code? Open in Web Editor NEWLicense: MIT License
License: MIT License
I run into problems in "Building the plugin locally" steps 2 & 3.
I've just cloned the repository and ran into this:
npm install
> [email protected] install /home/runcloud/webapps/kuu/kato/videojs-airplay-master/node_modules/node-sass
> node scripts/install.js
Downloading binary from https://github.com/sass/node-sass/releases/download/v4.13.1/linux-x64-57_binding.node
Download complete .] - :
Binary saved to /home/runcloud/webapps/kuu/kato/videojs-airplay-master/node_modules/node-sass/vendor/linux-x64-57/binding.node
Caching binary to /home/runcloud/.npm/node-sass/4.13.1/linux-x64-57_binding.node
> [email protected] postinstall /home/runcloud/webapps/kuu/kato/videojs-airplay-master/node_modules/core-js
> node -e "try{require('./postinstall')}catch(e){}"
Thank you for using core-js ( https://github.com/zloirock/core-js ) for polyfilling JavaScript standard library!
The project needs your help! Please consider supporting of core-js on Open Collective or Patreon:
> https://opencollective.com/core-js
> https://www.patreon.com/zloirock
Also, the author of core-js ( https://github.com/zloirock ) is looking for a good job -)
> [email protected] postinstall /home/runcloud/webapps/kuu/kato/videojs-airplay-master/node_modules/node-sass
> node scripts/build.js
Binary found at /home/runcloud/webapps/kuu/kato/videojs-airplay-master/node_modules/node-sass/vendor/linux-x64-57/binding.node
Testing binary
Binary is fine
npm WARN prepublish-on-install As of npm@5, `prepublish` scripts are deprecated.
npm WARN prepublish-on-install Use `prepare` for build steps and `prepublishOnly` for upload-only.
npm WARN prepublish-on-install See the deprecation note in `npm help scripts` for more information.
> @silvermine/[email protected] prepublish /home/runcloud/webapps/kuu/kato/videojs-airplay-master
> grunt build
fatal: not a git repository (or any of the parent directories): .git
Loading "Gruntfile.js" tasks...ERROR
>> Error: Command failed: git describe --always --dirty --tags
>> fatal: not a git repository (or any of the parent directories): .git
Warning: Task "build" not found. Use --force to continue.
Aborted due to warnings.
npm ERR! code ELIFECYCLE
npm ERR! errno 3
npm ERR! @silvermine/[email protected] prepublish: `grunt build`
npm ERR! Exit status 3
npm ERR!
npm ERR! Failed at the @silvermine/[email protected] prepublish script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm ERR! A complete log of this run can be found in:
npm ERR! /home/runcloud/.npm/_logs/2020-12-17T11_24_34_961Z-debug.log
grunt build
module.js:550
throw err;
^
As for step 3.
grunt build
Error: Cannot find module 'findup-sync'
at Function.Module._resolveFilename (module.js:548:15)
at Function.Module._load (module.js:475:25)
at Module.require (module.js:597:17)
at require (internal/module.js:11:18)
at Object.<anonymous> (/usr/lib/nodejs/grunt-cli/bin/grunt:8:14)
at Module._compile (module.js:653:30)
at Object.Module._extensions..js (module.js:664:10)
at Module.load (module.js:566:32)
at tryModuleLoad (module.js:506:12)
at Function.Module._load (module.js:498:3)
FYI:
uname -a
Linux kuu 4.15.0-99-generic #100-Ubuntu SMP Wed Apr 22 20:32:56 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
The log file:
2020-12-17T11_26_14_504Z-debug.log
Thank you.
npm install silvermine-videojs-airplay --save
npm ERR! code E404
npm ERR! 404 Not Found: silvermine-videojs-airplay@latest
Is it still available?
Users of the library are seeing this warning in the browser console:
VIDEOJS: WARN: videojs.extend is deprecated as of Video.js 7.22.0 and will be removed in Video.js 8.0.0
How to solve the warn log? Thx~
Hi guys, how are you ?
we are using the last version of videojs, 7.6.6 version.
is videojs-airplay working fine with that version ?
because we tried in some browsers, and it doesn't work in all!
ex: we tried in Safari, the button showed up, but when we click on it, nothing happens.
I'm using Brightcove + videojs-airplay. When I send the video to Airplay output, the big play button appears over the "This video is playing on 'X'" message, and the player emits a "paused" event.
While the video is playing on the AppleTV, I can call player.paused()
and the result is true.
Is this expected behaviour?
I see that there's no incidence of "pause" in the videojs-airplay code.
Hmm, this sounds similar:
The event listener is not removed when the AirPlayButton is disposed, so if the event is raised, AirPlayButton tries to hide or show itself, but this._el
is null and an error is throw.
You are requiring underscore but it is not listed as a dependency in your package.json. Is this plugin still maintained? Thanks.
While videojs-airplay works fine for unprotected content - great work on that - it fails for me when I am trying to send FairPlay protected content that is being played back by videojs-contrib-eme.
In this case, audio starts playing back on the AppleTV I am sending to, but video is still being shown only on the source device.
Not sure whose responsibility this is as the documentation on the inner workings of AirPlay is quite sparse.
Will there be an update to move toward E6 classes to replace the videojs.extend method?
I'd like to see more frequent releases. Majority of the time PRs get merged but no new tags are created. As a user I occasionally mention maintainers in issues/PRs in the hope they see it, but lots of times it takes months before even gets noticed or delegated to the right person, and even longer before it gets merged.
With new fixes/changes in the current master
branch, it would be very much appreciated if a maintainer could create a new tag.
Note
The same goes for silvermine/videojs-chromecast
This is a runtime dependency and has to be downloaded, extracted, parsed by every enduser.
Please replace the extend call with Object.assign or some other plain method and drop the dependency.
I am using @silvermine/airplay library for casting. I am facing issue while connecting to airplay. It immediately disconnects if I am casting with overrideNative flag set to true.
I have set the overrideNative:true as without this I am unable to get the 'vhs' inside the tech Object present in player instance, which is required to get the available resolutions.
videojs version: 7.20.3
silvermine/airplay version: 1.1.0
Configuration:
html5: {
vhs: {
overrideNative: false
},
}
The option to specify the location of the airplay button would be nice. You could use the same logic as for the Chromecast plugin.
Could you add that option also in the airplay plugin?
Currently, the AirPlay plugin allows you to pass a string literal option called buttonText
that becomes the button's .vjs-control-text
text. However, the AirPlay Button component overrides the createControlTextEl
method and does not add the aria-label
to the button as its parent does.
A simpler method would be to call this.controlText('Start AirPlay')
from the constructor, and let the Button component handle adding the control text. This has the added advantage of integrating with Video.js' localization API.
We should add a configuration option that allows users to disable the automatic insertion of the AirPlay button into the player's control bar.
Plugin users may want to specify where the AirPlay button appears in the player UI's component hierarchy using Video.js configuration options. With the way the plugin is now, the AirPlay button will be inserted into the control bar if the plugin does not find it at the root level of the controlBar
component. If a plugin user specifies the AirPlay button to appear nested within an element in the controlBar
, for example, the plugin will insert another AirPlay button at the root controlBar
level.
this is an example: http://rs.vod-platform.net/salloum/
it tries to load but nothing happens.
we are using videojs 6 and hls contrib 5.14
npm install sil... (error 404)
grunt build
fatal: Not a git repository (or any of the parent directories): .git
Loading "Gruntfile.js" tasks...ERROR
Error: Command failed: git describe --always --dirty --tags
fatal: Not a git repository (or any of the parent directories): .git
any fix? can you make the dist available on a CDN?
Currently, the peerDependencies
setting in package.json includes only Video.js version 6.x, but this plugin is also compatible with 7.x. Please update the peerDependencies
setting and the README to reflect this.
The airplay button opens a menu with the available devices on my wifi, but after selecting a target device, the video player only displays the "Airplay" logo on black background for a second or so, until returning to the in-browser video player.
From Youtube in the same browser, I can connect just fine, so I assume I need to adjust some configuration in my implementation - but without any error messages, I don't know where to start digging. Is there a way to get some feedback on what went wrong during the connection attempt?
hello, any plans to support airplay 2?
Hi everyone,
could someone help me how to make text tracks working on airplay?
The problem is that I'm not able to see text tracks in the airplay subtitles option.
I'm using .vtt subtitles, which are working on Chrome browser or iOS (Safari) devices.
Thanks a lot!
Same issue as zloirock/core-js#1292, babel/babel#16219.
It seems to exclusively occur in Android WebView, even though theoretically that should be nearly identical to the latest version of Chrome. (Currently I have 1.20.x vs Chrome at 1.21.x, but it makes no difference in regular Android Chrome.)
Should be fixed by babel/babel#16225, available in v7.23.9
Something along these lines suffices to run grunt build
, but the end result doesn't appear to be completely correct for Video.js purposes. Hopefully it's a quick fix for someone who knows what they're doing. ;-)
@babel/core": "7.23.9",
is for the bug fix, "grunt-contrib-uglify": "5.2.1",
is because older than v2 doesn't support keywords like const
, which apparently doesn't play together with the newer babel/core.
diff --git a/package.json b/package.json
index ae16f82..1bc4728 100644
--- a/package.json
+++ b/package.json
@@ -35,7 +35,7 @@
},
"homepage": "https://github.com/silvermine/videojs-airplay#readme",
"devDependencies": {
- "@babel/core": "7.21.0",
+ "@babel/core": "7.23.9",
"@babel/preset-env": "7.20.2",
"@silvermine/eslint-config": "3.0.1",
"@silvermine/standardization": "2.2.1",
@@ -43,7 +43,7 @@
"babel-eslint": "10.1.0",
"babelify": "10.0.0",
"check-node-version": "4.0.2",
- "core-js": "3.28.0",
+ "core-js": "3.35.1",
"coveralls": "3.0.2",
"eslint": "6.8.0",
"expect.js": "0.3.1",
@@ -51,7 +51,7 @@
"grunt-browserify": "5.3.0",
"grunt-contrib-clean": "1.1.0",
"grunt-contrib-copy": "1.0.0",
- "grunt-contrib-uglify": "3.0.1",
+ "grunt-contrib-uglify": "5.2.1",
"grunt-contrib-watch": "1.1.0",
"grunt-postcss": "0.9.0",
"grunt-sass": "3.1.0",
There's been several commits to this repo since the 1.0.0 release in April 2018.
Why hasn't a release been published to npm?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.