All Projects → JohnCiubuc → StreamLinkerino

JohnCiubuc / StreamLinkerino

Licence: other
Twitch.tv client using only StreamLink, MPV, and Chatterino

Programming Languages

C++
36643 projects - #6 most used programming language
Dockerfile
14818 projects
QMake
1090 projects
CMake
9771 projects

Projects that are alternatives of or similar to StreamLinkerino

twitchpipe
Pipe your favorite Twitch streams to the media player of your choice, or a file to save them for later. Supports low-latency playback.
Stars: ✭ 28 (+7.69%)
Mutual labels:  twitch, stream, mpv
Orion
Cross platform Twitch.tv client
Stars: ✭ 298 (+1046.15%)
Mutual labels:  twitch, stream, mpv
TwitchPotPlayer
Extensions for PotPlayer to watch Twitch streams without streamlinks or any crap.
Stars: ✭ 159 (+511.54%)
Mutual labels:  streamlink, twitch, stream
Pbjvideoplayer
▶️ video player, simple way to play and stream media on iOS/tvOS
Stars: ✭ 620 (+2284.62%)
Mutual labels:  player, stream
Live Torrent
Torrent Web Client
Stars: ✭ 546 (+2000%)
Mutual labels:  player, stream
React Player
A React component for playing a variety of URLs, including file paths, YouTube, Facebook, Twitch, SoundCloud, Streamable, Vimeo, Wistia and DailyMotion
Stars: ✭ 5,931 (+22711.54%)
Mutual labels:  player, twitch
Mpv.js
🎥 mpv pepper plugin
Stars: ✭ 323 (+1142.31%)
Mutual labels:  player, mpv
Player
▶️ video player in Swift, simple way to play and stream media on iOS/tvOS
Stars: ✭ 1,849 (+7011.54%)
Mutual labels:  player, stream
Backoffice Administration
Stars: ✭ 89 (+242.31%)
Mutual labels:  player, stream
Magicalexoplayer
The Easiest Way To Play/Stream Video And Audio Using Google ExoPlayer In Your Android Application
Stars: ✭ 171 (+557.69%)
Mutual labels:  player, stream
SFMediaStream
HTML5 media streamer library for playing music, video, playlist, or even live streaming microphone & camera with node server
Stars: ✭ 97 (+273.08%)
Mutual labels:  player, stream
Bilidan
Play videos on Bilibili.com with MPV and Danmaku2ASS
Stars: ✭ 525 (+1919.23%)
Mutual labels:  player, mpv
Bilibili Mac Client
An unofficial bilibili client for mac
Stars: ✭ 3,967 (+15157.69%)
Mutual labels:  player, mpv
Pip Tool
PiP tool is a software to use the Picture in Picture mode on Windows. This feature allows you to watch content (video for example) in thumbnail format on the screen while continuing to use any other software on Windows.
Stars: ✭ 572 (+2100%)
Mutual labels:  player, twitch
Moonplayer
Video player that can play online videos from youtube, bilibili etc.
Stars: ✭ 399 (+1434.62%)
Mutual labels:  player, mpv
Hls.js
HLS.js is a JavaScript library that plays HLS in browsers with support for MSE.
Stars: ✭ 10,791 (+41403.85%)
Mutual labels:  player, stream
Smudge
Control the Spotify app from within Emacs.
Stars: ✭ 186 (+615.38%)
Mutual labels:  player, integration
NativeTwitch
Native Twitch Player
Stars: ✭ 64 (+146.15%)
Mutual labels:  streamlink, twitch
twitch-vod-chat
No description or website provided.
Stars: ✭ 20 (-23.08%)
Mutual labels:  player, twitch
Mu
An open-source music manager.
Stars: ✭ 260 (+900%)
Mutual labels:  player, qt5

Official Chatterino Implementation

Integration of this application into a first-class chatterino feature is currently in process. Pull request can be viewed here

Testing Branch

Testing branch does not require chatterino to be patched, but it does have a considerable delay (5-10s) on switching streams due to chatterino json writing frequency.

Pre-Release Windows Port

dewcked is working on a windows port version of this project. Repository can be viewed here: https://github.com/dewcked/StreamLinkerino/releases

streamlinkerino

Ever wanted to use StreamLink + MPV + Chatterino all in one application? Look no further, as this project has your solution!

streamlinkerino embeds MPV (using StreamLink as its base) and Chatterino into one application. If you patch Chatterino (Git Link) with the supplied patch file, the MPV stream will auto-update if you switch channels in Chatterino!

Why does this application exist

This project was created for the following reasons:

  1. Avoiding usage of the twitch web application
    • It is unfortunately laggy and resource heavy
    • Embedded stream ads can not be avoided
    • Twitch Player is feature poor (compared to other players)
    • Several bug with streams not loading when using third party extensions like FFZ/BTTV
  2. Avoiding Electron / JS applications
    • Alternatives such as StreamLink Twitch GUI do exist, but you still have to deal with the resource heaviness of electron-based apps and the website itself
  3. Performance
    • The base app and chatterino is C++/Qt. The Player is MPV and StreamLink is used for an ad-free stream experience.
    • The result is a light weight, high performance twitch client

Features

  1. High performance, low memory, and responsive

  2. No mid-roll ads (Thanks streamlink!)

  3. MPV player features:

    • Pause
    • Rewind
    • Fast forward
    • And more!
  4. Streamlink and Chatterino Integration

  5. Seamless stream switching (Chatterino patch required)

Building

Building streamlinkerino

Contributed by dewcked from Release #22:

  1. Install docker and git
  2. git clone https://github.com/JohnCiubuc/streamlinkerino.git --recurse-submodules
  3. git submodule update --recursive --remote
  4. cd streamlinkerino
  5. Pull docker image from Here.
  • Linux) docker run -it --rm -v $(pwd):/src/ --device /dev/fuse --cap-add SYS_ADMIN --security-opt apparmor:unconfined reivilo1234/qt-linux-cmake:qt5.15.1 bash
  • Windows) docker run -it --rm -v %CD%:/src/ --device /dev/fuse --cap-add SYS_ADMIN --security-opt apparmor:unconfined reivilo1234/qt-linux-cmake:qt5.15.1 bash
  1. mkdir build && cd build
  2. cmake ../src && make

Patching Chatterino

  1. Copy chatterino.patch from the streamlinkerino Patch directory, into chatterino's submodule project directory (same location as chatterino.pro)
  2. patch -p0 < chatterino.patch
  3. Create build folder mkdir build && cd build
  4. Go into build directory
  5. qmake .. && make

TODO:

1. Detect if streamlink is installed, and if not, prompt user

2. Detect if chatterino is installed, and if not, prompt user

3. On switching streams, setup two mpv clients -- one playing current stream and the other loading new stream. When new stream finishes loading, swap to the new client

  1. Currently can only change stream based on chatterino. Add option to change stream ignoring chatterino (or if chatterino isn't patched)

  2. Resize chatterino window

6. Create a settings dialog to specify streamlink/chatterino location and settings

7. Link the settings button in chatterino (if patched) with the settings dialogue in streamlinkerino

  1. Auto apply patch and build chatterino together with streamlinkerino via CMakeLists

Screenshots

ss1

(Older Version)

(Current Version)

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].