Linux Mint issue tracker
This repository is dedicated to tracking general issues in the Linux Mint system itself (not Cinnamon, Xapps, or any projects which have their own repository).
An M3U IPTV Player
I am trying to install Hypnotix from source.
I downloaded it, extracted it, went to the hypnotix-master directory and typed:
make
It gave a warning about languages with a hyphon in it. As it was just a warning I typed:
sudo make install
And this gave me the following error:
make: *** No rule to make target 'install'. Stop.
This often happens when you forget to do a ./configure, but there is no configure in hypnotix-master.
I tried it on mint mate 20 and lmde4 both with the same result.
What am I doing wrong?
How can I configure video resolution for slow bandwidth internet?
Thx
Hi together,
i can't open streams if Hypnotix is started in a Wayland session like sway.
A workaround for now is to force Hypnotix to use XWayland: env GDK_BACKEND=x11 hypnotix
Here is the error output:
File "/usr/lib/hypnotix/hypnotix.py", line 1018, in on_mpv_drawing_area_realize
self.reinit_mpv()
File "/usr/lib/hypnotix/hypnotix.py", line 1039, in reinit_mpv
input_vo_keyboard=True,osc=True, ytdl=True, wid=str(self.mpv_drawing_area.get_window().get_xid()))
AttributeError: 'GdkWaylandWindow' object has no attribute 'get_xid'
CHANNEL: 'Das Erste HD' (https://mcdn.daserste.de/daserste/de/master_3744.m3u8)
Exception in thread Thread-3:
Traceback (most recent call last):
File "/usr/lib/python3.8/threading.py", line 932, in _bootstrap_inner
self.run()
File "/usr/lib/python3.8/threading.py", line 870, in run
self._target(*self._args, **self._kwargs)
File "/usr/lib/hypnotix/hypnotix.py", line 591, in play_async
self.reinit_mpv()
File "/usr/lib/hypnotix/hypnotix.py", line 1039, in reinit_mpv
input_vo_keyboard=True,osc=True, ytdl=True, wid=str(self.mpv_drawing_area.get_window().get_xid()))
AttributeError: 'GdkWaylandWindow' object has no attribute 'get_xid'
Hi,
Could You add system tray support.
Best regards
I installed the deb package provide with dpkg
. First it was missing the requests
module. So I installed it using pip. But after that, having this error running it through terminal.
Traceback (most recent call last):
File "/usr/lib/hypnotix/hypnotix.py", line 64, in activate
window = MainWindow(self)
File "/usr/lib/hypnotix/hypnotix.py", line 92, in __init__
self.builder.add_from_file(gladefile)
gi.repository.GLib.Error: gtk-builder-error-quark: /usr/share/hypnotix/hypnotix.ui:846:1 Invalid object type 'XAppStackSidebar' (6)
And nothing is happening after that.
Is it possible to build for Fedora? If so, would you be kind enough to share the necessary steps?
Thank you.
I assume this is because I'm still using Linux Mint 19.3, which is Ubuntu Bionic-based and the python3-imdbpy APT package appears in Ubuntu repos starting at Ubuntu Focal. Is there a way to install from the source tarball?
Option to use Tmdb instead of Imdb.
Because tmdb is an open source database that is updated by the users themselves.
https://developers.themoviedb.org/3/getting-started/introduction
https://pypi.org/project/tmdbsimple/
https://pypi.org/project/tmdbv3api/
note:
Also provided in the code to make requests in the system language.
Because currently the synopsis of the films are shown on the screen in English only (Imdb whth hypnotix source code)
Unable to attempt to correct this deficiency ...
$ cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=18.04
DISTRIB_CODENAME=bionic
DISTRIB_DESCRIPTION="Ubuntu 18.04.5 LTS"
$ sudo apt search python3 | grep -i imdb
<>
https://lists.archive.carbon60.com/mythtv/commits/629355 << echos the issue below with 18.04 BIONIC >>
** although on another entity others attempting to use mythtv are also experiencing the same ... **
<>
python3-imdbpy is not available for *ubuntu 18.04 (Bionic) as a result
mythtv-frontend from ppa:mythbuntu/31 will not install.
<>
This isn't a major necessity but just a casual request. I do things in windowed mode a lot and would find it convenient to be able to hide the left content selection sidebar and maybe even getting the video to go to the resolution with resize options if needed.
Edit: the resize and resolution addition is due to the black border bars I see top and bottom in windowed mode.
To avoid the Classic spinner and an annoying buffering %, please do:
If I open hypnotix from the menu, I have no idea what is going on. I just see that nothing happens when I click on all the necessary buttons. When opened from the console however, I do see some logging:
Trying to remove the free playlist:
~$ Loading providers...
Free-IPTV: Getting playlist...
Free-IPTV: Checking playlist...
Free-IPTV: Loading channels...
Traceback (most recent call last):
File "/usr/lib/hypnotix/hypnotix.py", line 774, in on_delete_button_clicked
self.navigate_to("delete_page", name=provider.name)
TypeError: wrapper() got an unexpected keyword argument 'name'
Traceback (most recent call last):
File "/usr/lib/hypnotix/hypnotix.py", line 774, in on_delete_button_clicked
self.navigate_to("delete_page", name=provider.name)
TypeError: wrapper() got an unexpected keyword argument 'name'
Trying to add my own Xtream playlist:
~$ Loading providers...
Free-IPTV: Downloading playlist...
Free-IPTV: Checking playlist...
Free-IPTV: Loading channels...
Shenzen: Downloading playlist...
Shenzen: Checking playlist...
Loading providers...
Free-IPTV: Downloading playlist...
Free-IPTV: Checking playlist...
Free-IPTV: Loading channels...
Shenzen: Downloading playlist...
Shenzen: Checking playlist...
There is however no Shenzen playlist to select after I added it. The only one remains the free list.
I'm running it on Ubuntu 20.04, updated today, downloaded the .deb from github and installed it with apt.
I have multiple paid Xtream subscriptions, none of them work on hypnotix but they do on IPTV Smarters on my Android TV box.
Hi, could you add url support with "User-Agent" and "Referer", as in Kodi?
an example of a minimal add-on for kodi that plays a video with a url that requires "User-Agent" and "Referer"
http://www.mediafire.com/file/90mj1g38sgxg6sk/plugin.video.test-referer.zip/file
url that opens in Kodi:
https://geralorigin.eu-central-1.edge.mycdn.live/live/cultura/video.m3u8|Referer=https://topcanais.com/assistir-tv-cultura-ao-vivo-24-horas-online/&User-Agent=Mozilla/5.0 (Windows NT 6.3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.99 Safari/537.36
my m3u list-test:
gsettings set org.x.hypnotix providers "['Provider_Name:::https://raw.githubusercontent.com/kodi-rc/redecanais/master/teste.m3u']"
ability to connect directly with server url, login & password using xtream API
Streams served via rtsp://
aren't played: Nothing happens on selection (stdout mentions the channel when selected)
Example m3u file from a Fritz!Box DVB-C device:
#EXTM3U
#EXTINF:0,Das Erste
#EXTVLCOPT:network-caching=1000
rtsp://fritz.box:554/?avm=1&freq=120&bw=8&msys=dvbc&mtype=256qam&sr=6900&specinv=0&pids=0,15,17,20,6615
#EXTINF:0,ZDF
#EXTVLCOPT:network-caching=1000
rtsp://fritz.box:554/?avm=1&freq=128&bw=8&msys=dvbc&mtype=256qam&sr=6900&specinv=0&pids=0,15,17,20,6615,6160
#EXTINF:0,3sat
#EXTVLCOPT:network-caching=1000
rtsp://fritz.box:554/?avm=1&freq=132&bw=8&msys=dvbc&mtype=256qam&sr=6900&specinv=0&pids=0,15,17,20,6615,1632
Feature request: Plugin or Addon in python to be able to use web scraping [html request, beautifulsoup, regex, etc ...] and thus create the links at run time with the content that was extracted from html pages.
Because it is very common for live video links to have tokens that expire daily.
And using web scraping makes it easy to capture that link with token at run time
In a similar way as with Kodi addons.
For example, a fixed list would be created with
name, logo, group and a 'URL for Scraping'
Then this 'URL for Scraping' would be manipulated by a Python script and would return the link of the media file to be played.
URL for Scraping:
https://redecanaistv.com/assistir-sbt-online-24-horas-ao-vivo_8a0548907.html
Video link after web scraping:
https://streaming.belugacdn.link/a/hls1/sbt.m3u8?expires=1606600451&token=a1a5f40f1926bcd0a444f079caaae5e6
There is a problem when displaying French-Canadian channel names with accented letters.
country: Canada > channel: "ICI Télé HD" should be "ICI Télé HD" or at least "ICI Tele HD" if accented letters are not possible.
I don’t know if this problem comes from Hypnotix or from https://github.com/Free-IPTV/Countries/blob/master/ZZ_PLAYLIST_ALL_TV.m3u so i also opened an issue there...
can you explain to me how to add this stream as a channel in hypnotix?
i added a channel wrote a name for it copied the url to the spot but it doesnt add a channel...
It would be great if Hypnotix could work as VDR streamdev client: VDR (video disk recorder) is very popular Linux PVR application for DVB devices (not sure if any ATSC or ISDB standard is supported) that also allows streaming and remote control.
The stream is an MPEG-2 transport stream via http as received (so just standard codecs) , that's the easy part, but great would be EPG, manage timers, etc. I would really like that as an application (scroll lists, context menus etc.) and not as video overlay.
Can you make this app Chromecast enabled?
Hello, I am very happy so far with performance. I am wondering how does one correctly add mpv options? I've added my settings into the mpv options spot separated by commas and space ", " but they didn't take affect. I've tried with the settings separated by a comma setting,setting" but that didn't work either.
Here are the options I'm trying to add.
MOUSE_BTN3 ignore
MOUSE_BTN4 ignore
These options disable seeking of playing media with the mouse scroll wheel.
I have these in use in my current mpv install located in /etc/mpv I wonder if there's a way to select the files or link the conf files to the mpv when in use with the app.
If not known these specific settings go into a document called input.conf in /etc/mpv
It would be useful to have a fullscreen mode.
I'd imagine it could be enabled by keyboard shortcut or button in the bottom bar.
Feature request:
Please add the option to send the video to the TV, via DLNA even if you don't have a similar chromecast dongle.
just like this android app does Web Video Cast:
https://play.google.com/store/apps/details?id=com.instantbits.cast.webvideo&hl=pt_BR
First thanks for the work on this!! Something I have been needing as I travel off shore. That said this command -
gsettings set org.x.hypnotix providers "['Provider_Name:::https://m3u_url.m3u']"
that lets you add your own provider works, until the provider stops.
Then you are left with a total non function app. I was able to recover, not by a removal or re-install, not all the files get cleaned up.
I had another pc I was able to use gsettings list-recursively org.x.hypnotix to find how to recover the initial set up.
Maybe in the ReadMe info?
Again thanks for the hard work, if you pm me directly I would like to contribute some $'s.
A play/pause button would be useful
Is it possible to add an option to normalize the audio of all channels regardless of the original audio volume of the streaming file?
Leaving all channels at a standard audio volume
Remember viewed channels and allow easy navigation back and forth between the last few viewed channels. E.g. my IPTV box at home allows to switch the current and the last channel and if you long press back you get the channel view history and can select from the whole list ordered by last time viewed.
Great app. Thanks a lot for your work.
Currently there's no way to add a local file as m3u provider, e.g. DVB-C devices can create those files.
Tried using
gsettings set org.x.hypnotix providers "['Provider_Name:::file:///home/user/tv.m3u']"
but it doesn't work:
No connection adapters were found for 'file:///home/user/tv.m3u'
Traceback (most recent call last):
File "/usr/lib/hypnotix/hypnotix.py", line 50, in activate
window = MainWindow(self)
File "/usr/lib/hypnotix/hypnotix.py", line 152, in __init__
self.reload()
File "/usr/lib/hypnotix/hypnotix.py", line 283, in reload
self.manager.load_channels(provider)
File "/usr/lib/hypnotix/common.py", line 102, in load_channels
with open(provider.path, "r") as file:
FileNotFoundError: [Errno 2] File or directory not found: '/home/user/.hypnotix/providers/providername'
Error in sys.excepthook:
Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/apport_python_hook.py", line 153, in apport_excepthook
with os.fdopen(os.open(pr_filename,
FileNotFoundError: [Errno 2] File or directory not found: '/var/crash/_usr_lib_hypnotix_hypnotix.py.1000.crash'
Original exception was:
Traceback (most recent call last):
File "/usr/lib/hypnotix/hypnotix.py", line 50, in activate
window = MainWindow(self)
File "/usr/lib/hypnotix/hypnotix.py", line 152, in __init__
self.reload()
File "/usr/lib/hypnotix/hypnotix.py", line 283, in reload
self.manager.load_channels(provider)
File "/usr/lib/hypnotix/common.py", line 102, in load_channels
with open(provider.path, "r") as file:
FileNotFoundError: [Errno 2] File or directory not found: '/home/user/.hypnotix/providers/providername'
Exchanging the freeiptv
file with a custom one doesn't work as it gets overwritten.
Doesn't start from menu. When started from terminal have some errors. Any help :-)
`~$ Traceback (most recent call last):
File "/usr/lib/hypnotix/hypnotix.py", line 24, in import mpv
File "/usr/lib/hypnotix/mpv.py", line 567, in _handle_func('mpv_render_context_create', [MpvRenderCtxHandle, MpvHandle, POINTER(MpvRenderParam)], c_int, ec_errcheck, ctx=None)
File "/usr/lib/hypnotix/mpv.py", line 478, in _handle_func func = getattr(backend, name)
File "/usr/lib/python3.6/ctypes/init.py", line 361, in getattr func = self.getitem(name)
File "/usr/lib/python3.6/ctypes/init.py", line 366, in getitem func = self._FuncPtr((name_or_ordinal, self))
AttributeError: /usr/lib/x86_64-linux-gnu/libmpv.so.1: undefined symbol: mpv_render_context_create
Error in sys.excepthook:
Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/apport_python_hook.py", line 154, in apport_excepthook
os.O_WRONLY | os.O_CREAT | os.O_EXCL, 0o640), 'wb') as f:
FileNotFoundError: [Errno 2] No such file or directory: '/var/crash/_usr_lib_hypnotix_hypnotix.py.1000.crash'
Original exception was:
Traceback (most recent call last):
File "/usr/lib/hypnotix/hypnotix.py", line 24, in import mpv
File "/usr/lib/hypnotix/mpv.py", line 567, in _handle_func('mpv_render_context_create', [MpvRenderCtxHandle, MpvHandle, POINTER(MpvRenderParam)], c_int, ec_errcheck, ctx=None)
File "/usr/lib/hypnotix/mpv.py", line 478, in _handle_func func = getattr(backend, name)
File "/usr/lib/python3.6/ctypes/init.py", line 361, in getattr func = self.getitem(name)
File "/usr/lib/python3.6/ctypes/init.py", line 366, in getitem func = self._FuncPtr((name_or_ordinal, self))
AttributeError: /usr/lib/x86_64-linux-gnu/libmpv.so.1: undefined symbol: mpv_render_context_create
`
The Keyboard Shortcuts Menu could use some update, or point to where to edit them, starting with themself ctrl + k for keyboard shortcuts. Many thanks for the great work.
feature request
use up and down arrows to change channels, especially when we are in full screen.
Please add Hdmi-Cec support, only compatible with some HDMI cables.
Example
on a Raspberry pi 3 I have LibreELEC with Kodi 18 I know it has CEC support.
So I can use the IR remote control on my TV to control the Kodi, just using an HDMI cable. Without having any other IR receiver plugged into the Raspberry pi
I don't know if Hdmi-Cec is supported by all graphics cards
note: see too: cec-utils and cec-client
note: libreelec [kodi] use Pulse-Eight/libcec
https://github.com/Pulse-Eight/libcec
I didn't have libmpv1 installed when I installed the deb package mentioned on https://blog.linuxmint.com/?p=3978
App didn't start with rather obvious error message. Installing libmpv1 manually fixed the issue.
Current Linux Mint 20 with up to date packages.
Hello. I have tried Hypnotix from .deb arcchive and it is supossed to be install but in terminal I have got this answTraceback (most recent call last):
File "/usr/lib/hypnotix/hypnotix.py", line 64, in activate
window = MainWindow(self)
File "/usr/lib/hypnotix/hypnotix.py", line 92, in init
self.builder.add_from_file(gladefile)
gi.repository.GLib.Error: gtk-builder-error-quark: /usr/share/hypnotix/hypnotix.ui:846:1 Invalid object type 'XAppStackSidebar' (6)
Any solution? Thank you very much.
Thanks! :)
Adding support for EPG would be great.
Doubt:
could give an example of how the m3u file should be to be included correctly in the Movies and Series categories and can be interpreted by the imdb api.
And how to include image in the channel categories. For example, using the standard 'Free-IPTV / Countries' channel list, the hypnotix already inserts the countries flag.
Would it be possible to insert another custom image, how to do?
In developing countries like India, internet coverage is not great in many areas. Playing videos in HD, is highly impossible, it would be nice to have a quality control, for better experience.
Hi,
Could You add bookmark support.
Best regards
Great app! All is in the title...
It says Hypnotix as the main window title-but in GNOME, Dash and the top says it's "Hypnotix.py"
While it may be for Cinnamon mostly, other GTK distros for people using it shouldn't experience this.
I've tried the released .deb file as well as compiling from source by myself.
It builds ok, just when I try to run it, I get the following.
Traceback (most recent call last): File "/usr/lib/hypnotix/hypnotix.py", line 64, in activate window = MainWindow(self) File "/usr/lib/hypnotix/hypnotix.py", line 92, in __init__ self.builder.add_from_file(gladefile) gi.repository.GLib.Error: gtk-builder-error-quark: /usr/share/hypnotix/hypnotix.ui:846:1 Invalid object type 'XAppStackSidebar' (6)
I'm guessing there is some dependency that's missing on debian?
I have test this program with Kubuntu 20.04.1 LTS and KDE neon 20.04 LTS always based on ubuntu.
I installed the deb file via qapt-deb-installer to simplify the dependency search operation, the installation was done without any problem.
The program once opened shows the main screen as in the photos in the main page of github, but once chosen a country "freezes" as in the following screen, I can go back without any problem only that I can't play any video stream.
I can't understand what it depends also because I don't receive any crash or block the application.
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.