-
-
Notifications
You must be signed in to change notification settings - Fork 221
-
-
Notifications
You must be signed in to change notification settings - Fork 221
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
WebPlayer not working properly, start button gives JS error #461
Comments
This hasn't happened to everyone, someone previously reported this but then closed it suggesting the problem was with their browser see #403 - I think it might be that the HTML5 player isn't working whereas the flash one does work. We should obviously do more testing to try to figure out why this doesn't consistently work for people. |
jplayer should work fine. |
IMO #249 might track this to some extent. The radio page player seems to use muses and has issues with some rare browser edge cases. The plan is to replace it with jPlayer in an effort to fix this while also consolidating our lib usage. It was unclear why legacy upstream decided to use multiple Javascript frameworks for this and the flash issues being reported only seem to affect muses and not jPlayer. |
Alright. Would indeed be nice to switch to jplayer, which does work on all browsers. |
I just noticed my station is running into this on all of the HTML5 browsers specifically firefox whereas it wasn't an issue before. I noticed this error - As well as these - |
Hello, PS: I am French, I use google translate to communicate. |
This problem is still happening. |
Yes, yes it is. The webplayer widget is pretty buggy and one thing we need to do is some solid testing to determine what OS & browsers it works on and where it fails. We might want to encourage an alternative browser as well and provide documentation for it. Many browsers can listen to icecast streams natively at this point and the best practice for embedded players on websites appears to be a permanent top banner vs. a widget only on a front page. That way people can browse the site and listen at the same time. I haven't invested the time yet into determine what the "solution" for this problem is. |
@Robbt Wasn't jplayer not a solution to solve this ? |
@Power2All would you be interested in creating a PR that addresses this issue and probably also #249 ? I ask because I think project maintainers are currently focused on other big release blockers, like getting LibreTime running on ubuntu 18 / debian 10 with updated packages that will fix a whole bunch of bugs. I personally am more focused on javascript than others and would love to help land this, but have a backlog of other issues i need to address first. |
Yeah this has been on the back of my mind gnawing at me because I'm sure it results in people not listening to my station when they run into the broken widget so I plan on fixing it eventually if someone else doesn't step up first. |
So this is something that someone moderately familiar with javascript and modern HTML5 audio players could help by replacing the flash/javascript hybrid based one we are currently using, it should be able to play a Icecast stream. The widget code is setup here - https://github.com/LibreTime/libretime/blob/master/airtime_mvc/application/views/scripts/embed/player.phtml and at https://github.com/LibreTime/libretime/blob/master/airtime_mvc/application/controllers/EmbedController.php and are using players located here https://github.com/LibreTime/libretime/tree/master/airtime_mvc/public/js/airtime/player. What someone who happens to want to help fix this for Hacktoberfest could do is at the minimum test it out on different browsers and/or put together a PR to use something else or avoid the Muse based swf one since that should never be used with any modern browser that all support playback via HTML5 (I think) |
I would say, look at jPlayer. |
Hello, I am french, I use google translate, sorry for my english. |
I made this reader quickly: In your test, tell me what you think. Url modified sources for testing: |
Thanks @wifiblog do you know how to open up a pull request via github so we can accredit you with the modification ? Or do you just want someone else to do the work of testing and integrating it with the codebase. Either way we thank you for your contribution. |
I'm sorry I do not know how to do with github, but the code still needs to be reworked, it is not finished in my imble opinion. I remind you that I use google translate, I speak only French. |
Pourriez-vous m'envoyer autrement les modifications que vous avez apportées aux fichiers, je pourrais alors faire un effort pour vous et vous faire crédit également. Cela se fait également via Google Translate. ;) |
if that's what you're missing: |
I am using Drupal at my job, but I don't like it's structure. I'm more of a Symfony + Laravel fan, so to speak. |
Wifiblog put the changes on https://github.com/wifiblog/playerHtml5-Libretime which worked for me on the public radio website with one minor change. I am porting the fix to the player inside the login area and can provide a PR afterwards if neccessary. CAVEAT: Modern browser securtity checks will require an icecast2 with SSL support for this to work. But this change is neccessary anyways. Fix for this is to use icecast from the Xeph repository instead of the ubuntu stock version and modify the icecast.xml accordingly. (Ref: https://mediarealm.com.au/articles/icecast-https-ssl-setup-lets-encrypt/ ) |
Requiring Icecast 2 from external repos will break many installations and prevent us from getting LibreTime into Debian/Ubuntu. Stock Icecast can still work behind a reverse proxy that handles SSL. There is good news though - From version 2.4.4-2 (uploaded in November 2019), SSL support is compiled into Icecast in Debian/Ubuntu (Debian Bullseye and Ubuntu 20.04). |
Well, in modern browsers the web player that is bundled is not working. So there's nothing much to break. Maybe add documentation how to change over on the (for now) default Ubuntu 18 and happily use the distro icecast on Ubuntu 20. |
So this would be great to figure out and put a fix into the core. If it requires an external repo for supported distros then perhaps it would be good to add some tested instructions to docs that we can add to release notes. I think that there are some upstream changes require to PropelORM before we can support Ubuntu 20.04 due to php changes. So we will have to do some other work to take advantage of that. |
…attribute This fixes a contributing cause related to libretime#461 and libretime#957.
I think I found the problem (using The variable is pointing to a stream source of I also commented out code on the line the error occurred on because it would add
|
I fixed it locally by changing I would say we can add a parameter to the installer ( |
After making changes suggested by @k-apc, the problem is still persistent on new installs. It appears the stream settings are not being read in correctly from the config file (the config file is being written correctly). |
hi @zklosko, thanks for trying it out! I'm sure this works at least on Debian Buster (10) when using a fqdn.
after that I just need to go to I'm working on what I proposed to do on here and submit a better patch instead of just this workaround. Hope it helps and happy new year! |
Happy new year! I'm confident the issue is with reading/setting the database with initial stream values. The It's a tale of two functions: Database at init:
@hairmare I know you're good with PHP. Hoping you can take a look at it. |
Looks like we are seeing two different things. I trust @zklosko about it being related to the database, but I know for sure that changing Also, even if fixing the ps. I added |
Exactly. Toggling that option or saving the form causes a database write, which inserts the correct values.
This is also a problem. IMO, it would be easier to get everything to work on unsecured HTTP to allow simple on-network access for those deploying that way and encourage the use of a reverse proxy for users who plan on exposing their Libretime instance to the internet. Issues have been had with NGINX; do Lighttp or Caddy work? Something we definitely need to work on. |
The mount point in models/StreamSettings.php still needs to be fixed. It's currently configured for Airtime Pro usage. |
Fixed in #1148 |
Play button on website is bugged.
Seems it tries to do a action, but it doesn't exist.
Disabled any blocking addons but nothing.
Here a screenshot of the log:
The text was updated successfully, but these errors were encountered: