Giter Club home page Giter Club logo

orion's Introduction

Orion

Build status Build Status

Webpage

QML/C++-written desktop client for Twitch.tv

Features:

  • Login by twitch credentials
  • Desktop notifications
  • Integrated player
  • Chat support
  • Support for live streams and vods

Available on Play Store

Screencaptures

Dependencies

  • mpv (default), qtav or qt5-multimedia

Building on linux

(Using arch linux examples, but can be applied to other distros as well)

Install needed libraries and software

sudo pacman -S git gcc qt5-base qt5-quickcontrols qt5-svg qt5-quickcontrols2 qt5-graphicaleffects mpv

If using backend other than mpv, install those packages instead.

Choosing player backend (optional)

To select a backend used, pass CONFIG-variable a suitable backend for qmake (alternatively edit straight to .pro file):

  • MPV: CONFIG+=mpv
  • QtAV: CONFIG+=qtav
  • Qt5 Multimedia: CONFIG+=multimedia

As default, mpv is used (if nothing is passed)

Get orion from github and install

git clone https://github.com/alamminsalo/orion
cd orion
mkdir build && cd build
qmake ../
make && sudo make install

Building on MacOS

Install needed libraries and software

brew install qt mpv
brew link --force qt

You need to force link qt to get qmake. Note that this can cause problems with other make tools. For more information see brew info qt.

Get orion from github and install

git clone https://github.com/alamminsalo/orion
cd orion
mkdir build && cd build
qmake ../
make

There will now be an orion.app application in the build directory.

Qt version

Minimum supported Qt version is currently 5.8

Misc

Supports environment variables such as QT_QUICK_CONTROLS_MATERIAL_ACCENT, to customize UI colors.

Example

# linux example, but similar in other OSes
QT_QUICK_CONTROLS_MATERIAL_BACKGROUND="#00101f" QT_QUICK_CONTROLS_MATERIAL_ACCENT="#FF5722" orion

And this looks like:

See more on qt material docs.

Windows troubleshooting

You need Visual C++ 2015-runtime installed.

Installer can be found in the application's install directory (I'll make it install automatically in the next version)

Known issues

  • If network goes down while Orion is running, the images stop loading until application restart. Otherwise the application should work fine after network is back up
  • Sometimes the stream hangs and doesn't load on start. Restarting the stream should work
  • Vods are sometimes having issues, skipping some parts of the video. Needs further investigating

orion's People

Contributors

ahjolinna avatar alamminsalo avatar bebu avatar d42 avatar eclipseo avatar idarktemplar avatar lolzballs avatar mrgreywater avatar rakslice avatar scdf avatar sum01 avatar xenonpk avatar zabuldon avatar zryogi avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

orion's Issues

MPRIS support

could you add d-bus interface for MPRISv2?

for me I would need it for example for kde-connect to pause the stream when someone calls so I can hear the phone ringing, at least if I have my headset on. Also the Media Controller plasmoid (and alike) will also work with orion. ...+ remember to implement volume management through MPRIS2 interface

MPRIS D-Bus Interface Specification

livestreamer for MPV?

watching any video streams on MPV doesn't work that well, I can't remember the reason why the buffering wont work (it's a known problem in MPV/ffmpeg), but if you are using MPV with livestreamer then it will work just fine.

the command for it to work with mpv is:
livestreamer -p mpv <url> <quality> --player-continuous-http
example:
livestreamer -p mpv https://www.twitch.tv/angryjoeshow best --player-continuous-http

with orion or mpv in general I can't watch the source quality at all but with livestreamer it does work just fine (in web browser or/and my phone), I have a 150M connection so it should be enough

add to linux-apps.com?

have you thought about adding this app to linux-apps.com, there was qt-apps.com but it has been replaced with that.

you only need to add basic stuff, like source file and changelogs...and oc description/pics

why? well this app would get more attention among linux users.

flatpak or snap pkgs?

have you thought about making/supporting some of these "sandbox pkg formats" like flatpak or snap..there is also AppImage...but who cares

I would personally go with flatpak because its xdg standard, snap is from Canonical so you will never know what will happen

[feature] update/version checker(/updater?)

I think it would be nice for windows (and mac?) user if the orion would check for updates and maybe even install the update (once you accept it), maybe even add mpv version checker to the mix.
maybe using the qt's online installer?

and for Linux users it would just notify for newer version

Chat not working on OS X

I'm trying you client on OSX - El Capitan, it works great except for the chat: it doesn't show any message at all.

Let me know if I can provide more details about it.

Thanks!

Twitch Chat Improvement Suggestion

ME Again :D !
Just wondering will the twitch chat of orion show the emotes instead of texts in the future versions?
It will be great if this feature is adding or planning to add to the app.
Thank you for putting so many efforts to it and listening to the users' suggestions.

Maximized status lost during fullscreen

Maximize window -> enter fullscreen -> exit fullscreen -> window is resized and moved to the size/location it was at before hitting maximize button.
Expected behavior would be to still have a maximized window upon exiting fullscreen mode.

scrolling anywhere affects audio volume lvl

so if I start to scroll anywhere in orion it also affects the audio's volume level, its really annoying when you scroll down and the audio mutes.


also it would be nice if orion's volume level thing would be "global" aka. when I change the volume in kde it shows/affects in orion ...(1am, to tierd to remember the right words...sigh)


inxi -xSCGAI
System:    Host: manjaro-pc Kernel: 4.9.8-1-MANJARO x86_64 (64 bit gcc: 6.3.1)
           Desktop: KDE Plasma 5.9.0 (Qt 5.8.0) Distro: Manjaro Linux
CPU:       Quad core Intel Core i5-6600K (-MCP-) cache: 6144 KB
           flags: (lm nx sse sse2 sse3 sse4_1 sse4_2 ssse3 vmx) bmips: 28040
           clock speeds: max: 4500 MHz 1: 4499 MHz 2: 4499 MHz 3: 4499 MHz 4: 4499 MHz
Graphics:  Card: NVIDIA GM204 [GeForce GTX 970] bus-ID: 01:00.0
           Display Server: X.Org 1.19.1 driver: nvidia Resolution: [email protected], [email protected]
           GLX Renderer: GeForce GTX 970/PCIe/SSE2 GLX Version: 4.5.0 NVIDIA 375.26 Direct Rendering: Yes
Audio:     Card-1 NVIDIA GM204 High Definition Audio Controller driver: snd_hda_intel bus-ID: 01:00.1
           Card-2 Intel Sunrise Point-H HD Audio driver: snd_hda_intel bus-ID: 00:1f.3
           Sound: Advanced Linux Sound Architecture v: k4.9.8-1-MANJARO
Info:      Processes: 324 Uptime: 2 days Memory: 8744.3/15991.2MB Init: systemd Gcc sys: 6.3.1
           Client: Shell (bash 4.4.111) inxi: 2.3.8

possibility to restart the stream

if the streamer has some problems like the stream crashes and/or the stream has be to restarted, it would be nice if you had the possiblity to restart the video playback manually if it wont automatically reconnect...and without "loosing" the chat (log) by reconnecting/refreshing it also.

Switching between pause/play doesn't work, the apps still thinks the stream is offline (and chat works just fine)

orion wont open (stays hidden) after latest git commits

I just updated orion git build on my openSUSE system and it wont open anymore, it does run but wont open aka just stays hidden... I tried gdb and I didn't see any errors, here is strace log ...I also even tried removing cache & confs to check if that was the problem..nope

system:

inxi -xSCGI
System:    Host: linux.suse Kernel: 4.4.49-16-default x86_64 (64 bit gcc: 4.8.5)                                                                                                                                                                   
           Desktop: KDE Plasma 5.9.2 (Qt 5.8.0) Distro: openSUSE Leap 42.2
CPU:       Quad core Intel Core i5-6600K (-MCP-) cache: 6144 KB
           flags: (lm nx sse sse2 sse3 sse4_1 sse4_2 ssse3 vmx) bmips: 28031
           clock speeds: max: 4500 MHz 1: 1007 MHz 2: 1052 MHz 3: 961 MHz 4: 839 MHz
Graphics:  Card: NVIDIA GM204 [GeForce GTX 970] bus-ID: 01:00.0
           Display Server: X.Org 1.19.3 driver: nvidia Resolution: [email protected], [email protected]
           GLX Renderer: GeForce GTX 970/PCIe/SSE2 GLX Version: 4.5.0 NVIDIA 375.39 Direct Rendering: Yes
Info:      Processes: 324 Uptime: 17:40 Memory: 10986.8/15986.9MB Init: systemd runlevel: 5 Gcc sys: 4.8.5
           Client: Shell (bash 4.3.421) inxi: 2.3.8 

stream video arent "smooth"

maybe its "connected" to the recent stream stop / "lag" issues.
But stream video arent smooth anymore, it feel "laggy"

watch the stream on orion & twitch at the same time, the difference is very noticiable :(

No idea what's wrong

I keep getting seg faults recently.

So for whatever reason recently I've gotten lots of seg faults. I believe it has to do with the chat but I'm not sure how to resovle the issue. I think it mostly happens with lots of chat spam. so when watching large streams I'll see it crash most often.
(I'm using Qt 5.8, dunno if you've tried it with 5.8 at all yet)

Here is the backtrace from gdb:
Thread 30 "QSGRenderThread" received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7fff36ffd700 (LWP 17673)]
0x00007fffe4c13761 in ?? () from /usr/lib/libfreetype.so.6
(gdb) bt
#0 0x00007fffe4c13761 in ?? () from /usr/lib/libfreetype.so.6
#1 0x00007fffe4c58051 in ?? () from /usr/lib/libfreetype.so.6
#2 0x00007fffe4c2de5c in ?? () from /usr/lib/libfreetype.so.6
#3 0x00007fffe4c2eb6a in ?? () from /usr/lib/libfreetype.so.6
#4 0x00007fffe4c2fdf0 in ?? () from /usr/lib/libfreetype.so.6
#5 0x00007fffe4c153ae in FT_Load_Glyph () from /usr/lib/libfreetype.so.6
#6 0x00007fffe4c63099 in ?? () from /usr/lib/libfreetype.so.6
#7 0x00007fffe4c15585 in FT_Load_Glyph () from /usr/lib/libfreetype.so.6
#8 0x00007fffc3886469 in QFontEngineFT::loadGlyph(QFontEngineFT::QGlyphSet*, unsigned int, QFixed, QFontEngine::GlyphFormat, bool, bool) const ()
from /usr/lib/libQt5XcbQpa.so.5
#9 0x00007fffc38890b1 in QFontEngineFT::loadGlyphFor(unsigned int, QFixed, QFontEngine::GlyphFormat, QTransform const&, bool, bool) () from /usr/lib/libQt5XcbQpa.so.5
#10 0x00007fffc388a9a9 in QFontEngineFT::alphaMapForGlyph(unsigned int, QFixed, QTransform const&) () from /usr/lib/libQt5XcbQpa.so.5
#11 0x00007fffc3882e4e in QFontEngineFT::alphaMapForGlyph(unsigned int, QFixed) () from /usr/lib/libQt5XcbQpa.so.5
#12 0x00007ffff0968f5f in QFontEngine::alphaMapForGlyph(unsigned int, QFixed, QTransform const&) () from /usr/lib/libQt5Gui.so.5
#13 0x00007fffc388ab1d in QFontEngineFT::alphaMapForGlyph(unsigned int, QFixed, QTransform const&) () from /usr/lib/libQt5XcbQpa.so.5
^ does that for a couple thousand times.

32 bits version

Hey man! I've been using orion since you made the post on reddit, but the last updates were only for 64 bits computers, do you think you can make a 32 bits version any time soon? Thanks! ^.^

Not all followed channels that are live appear live

After playing around some more with this, I noticed that not all my followed channels that are live are actually displayed as such in the Favorites tab. 16 of the channels I followed are live, Orion for some reason only shows 10 of them as live. First suspected that it just fails to reload this list, as I had it open for quite a while - the issue occurs after a fresh start as well though.
The channels do appear in the Favorites list, but are showed as offline, when this is clearly not the case. It also appears that these are always the same channels - after several restarts, always the same ones are wrongly displayed as offline. Screenshot for comparison.
Are some channels handled differently by the Twitch API, as it is always specific channels failing to appear online?

Cursor does not autohide

this has been irritating me for a long time, but for some reason I always forgot to report it...

anyway, so at least with qt-multimedia backend I will always see the damn cursor on video playback and it's mostly annoying when you are in fullscreen mode, I don't mind if it stays on in the chat area and windowed mode but at least enable autohide for fullscreen.

I'm currently using v1.4.3 (git)
my system spec:

 inxi -xSCGAI
System:    Host: manjaro-pc Kernel: 4.9.9-1-MANJARO x86_64 (64 bit gcc: 6.3.1)
           Desktop: KDE Plasma 5.9.1 (Qt 5.8.0) Distro: Manjaro Linux
CPU:       Quad core Intel Core i5-6600K (-MCP-) cache: 6144 KB
           flags: (lm nx sse sse2 sse3 sse4_1 sse4_2 ssse3 vmx) bmips: 28040
           clock speeds: max: 4500 MHz 1: 4499 MHz 2: 4500 MHz 3: 4499 MHz 4: 4499 MHz
Graphics:  Card: NVIDIA GM204 [GeForce GTX 970] bus-ID: 01:00.0
           Display Server: X.Org 1.19.1 driver: nvidia Resolution: [email protected], [email protected]
           GLX Renderer: GeForce GTX 970/PCIe/SSE2 GLX Version: 4.5.0 NVIDIA 375.26 Direct Rendering: Yes
Audio:     Card-1 NVIDIA GM204 High Definition Audio Controller driver: snd_hda_intel bus-ID: 01:00.1
           Card-2 Intel Sunrise Point-H HD Audio driver: snd_hda_intel bus-ID: 00:1f.3
           Sound: Advanced Linux Sound Architecture v: k4.9.9-1-MANJARO
Info:      Processes: 301 Uptime: 12:09 Memory: 6503.2/15991.2MB Init: systemd Gcc sys: 6.3.1
           Client: Shell (bash 4.4.111) inxi: 2.3.8 

Add --silent option

It would be useful to have an option to start Orion with it already minimized to the task tray, so you can start Orion on boot without needing to close the window first.

Allow undocked chat with opacity setting

For example, a user could mouse over to a corner and have a mostly transparent chat box pop out without shrinking the video to make room or obstructing the view of the video.

running orion on osx

Been kind of a slog trying to figure out dependencies. I got libmpv installed, but the application is still failing with the following message:

Dyld Error Message:
  Library not loaded: @rpath/QtOpenGL.framework/Versions/5/QtOpenGL
  Referenced from: /Volumes/VOLUME/Orion.app/Contents/MacOS/orion
  Reason: image not found

I did an install of qt5, which didn't resolve the issue. What else am I missing :\

No playback if Fluendo's gst codec pack is installed

so I just installed the Fluendo's gstreamer codec pack and after that orion wouldn't work anymore, other gst based players seem to work just fine.

you have to keep in mind that I use openSUSE leap 42.2. and it uses Qt5.6.1 instead of Qt5.7.

here is the gdb output: link
only thing new was: warning: Cannot parse .gnu_debugdata section; LZMA support was disabled at compile time

I think it seems to be "running" but it just wont show the playback.


the codec pack is 20โ‚ฌ/year, if you dont want/cant spend the money I could send a copy (there is prebuild rpm and deb version)

At launch, all online stream notifications pop up one by one

On running Orion, notifications for each followed stream that is currently live are displayed one by one. If you are following a lot of people, it can take like 5 minutes before it stops popping up notifications. Please make it so that Orion does not show notifications for all live streams upon launching Orion.

video archive support

it would be nice if you could at least watch those video archives of whom you have in your favourites list.

Nothing shows up..

Have logged in and authorized yet nothing shows up under any tabs...

No error msgs

could not find or load the Qt platform plugin "xcb"

Getting this error on Ubuntu 16.04:

me@host:~$ /home/me/Downloads/Orion-1.4.1.AppImage 
This application failed to start because it could not find or load the Qt platform plugin "xcb"
in "".

Available platform plugins are: xcb.

Reinstalling the application may fix this problem.
Aborted

[question] opensuse LEAP 42.2 / Qt5.6.1

I just installed/switched to the new openSUSE leap 42.2 -kde and it uses Qt5.6.1 (LTS), as orion seems to require 5.7+ (mandatory requirement?) I was wondering how I can get it installed?
also the problem is that I'm no RPM expert I havent been using RPM/opensuse in over 5 years now.

flatpak could be an option, but its not support in leap offically only in the tumbleweed version (rolling version), oc you can always install some unoffical version.

thought I have notice with many proprietary apps (discord, franz, spotify, svp, viber) that using a pre-compiled binary works just fine, maybe that could be an option?


I will reinstall chakraOS on my 2nd SSD when the new ISO arrives, for mainly testing usage.

Why I switched to opensuse leap? well I wanted a solid KDE distro and when I hate ubuntu/deb based distros ...they aren't an option...and fedora isnt for normal desktop usage, at least from gaming perspective, so openSUSE leap is the best middle ground

top row icons unclear

The top row icons (? / follow / chat) could use some tooltips to indicate what they are for; it's still not even clear to me what the left one does

video quality always resets to source

When loading a new video stream, quality always switches back to source. On the Twitch website, the player uses the previous quality setting if transcodes are available for the current stream. A default quality selection in the settings would mostly serve the same purpose.

Keep Settings

I would like to keep my settings when closed and open Orion (Settings and volume).
Also, a background play (Close windows and follow playing the stream) should be great :D

COPR package is missing a dependency on qt5-quickcontrols

Without any KDE / QT libraries, I installed orion using the COPR package and got an error at startup :

$ orion
QQmlApplicationEngine failed to load component
qrc:/main.qml:17 module "QtQuick.Controls" is not installed

After installing qt5-qtquickcontrols it started.

chat `/me` actions don't display correctly

A chat action (e.g. the result of a command like /me does a thing) shows up in chat view as the PRIVMSG representation, e.g. username: \u0001ACTION does a thing\u0001 (where \u0001 is the unicode code point 1) instead of the usual Twitch representation for /me, e.g. Username does a thing.

Adding Twitch Chat Suggestion

Is it possible there will be twitch chat adding to the application in the future?
I really like this app, adding chat to it will make it perfect!

show preview when mouse hovers on seek bar for VOD's

I don't if this is feasible on VOD's, but it would be nice to see a small preview when you put your mouse on the seek bar, at least there have been times when you need/like to find and start from a specific spot ....there are also other reasons reasons or another why this is nice...

I really don't care if it shows the nearest keyframe instead of exact frame, also you could add the current timerange/timestamp thing under the "preview img"

VOD playback problems

first I like to remind that I use the qt5-multimedia backend...anyway the problem what I have is with the pause/resume when checking vod's...also it takes a while for the playback to start, maybe adding some "buffering/loading" animation/screen?

PS. the there is only play button no pause, or at least it doesn't switch to the pause one

no way to have chat show automatically

When I switch to the playback view, chat is always closed, even if I previously had chat open. (The Twitch website remembers the previous setting). I generally want to see chat unless I explicitly close it, but I can understand that many users never want to see chat unless they explicitly open it. I would settle for a checkbox in the settings that makes chat open by default.

Package correction

sudo pacman -S git gcc qtcreator qt5-svg qt5-webengine qtav

Qt Creator is not needed. qmake will be sufficient.

Stream randomly stop

Hello, since somes days, somes stream randomly "freeze" ( like if it was dropping frame ) and just stop

It's an orion issue, since if i watch at the same time the stream on twitch, there is no issues at all.

stream playback info

it would be nice to have the possibility see the same playback stat/info of the playback what twitch provides, at least the same extent...oc the more the better.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.