movie-monad: Plays videos using GStreamer and GTK+.

[ application, bsd3, multimedia, multimedia-player, program, video ] [ Propose Tags ]

A free and simple to use video player built with Haskell.


[Skip to Readme]

Downloads

Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees

Candidates

Versions [RSS] 0.0.0.0, 0.0.1.0, 0.0.2.0, 0.0.3.0, 0.0.4.0, 0.0.5.0 (info)
Change log CHANGELOG.md
Dependencies base (>=4.9 && <4.10), filepath (>=1.4 && <1.5), gi-gdk (>=3.0 && <3.1), gi-gdkpixbuf (>=2.0 && <2.1), gi-glib (>=2.0 && <2.1), gi-gobject (>=2.0 && <2.1), gi-gst (>=1.0 && <1.1), gi-gstvideo (>=1.0 && <1.1), gi-gtk (==3.0.18), haskell-gi (>=0.20 && <0.21), haskell-gi-base (==0.20.8), MissingH (>=1.4 && <1.5), network-uri (>=2.6 && <2.7), process (>=1.4 && <1.5), system-fileio (>=0.3 && <0.4), system-filepath (>=0.4 && <0.5), text (>=1.2 && <1.3), time (>=1.6 && <1.7) [details]
License BSD-3-Clause
Copyright 2017 David Lettier
Author Lettier
Maintainer Lettier
Category Application , Multimedia , Multimedia Player , Video
Home page https://github.com/lettier/movie-monad
Source repo head: git clone https://github.com/lettier/movie-monad.git
Uploaded by lettier at 2017-12-31T11:55:57Z
Distributions
Reverse Dependencies 1 direct, 0 indirect [details]
Executables movie-monad
Downloads 3585 total (23 in the last 30 days)
Rating 2.0 (votes: 1) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs not available [build log]
All reported builds failed as of 2018-01-01 [all 2 reports]

Readme for movie-monad-0.0.4.0

[back to package description]

Movie Monad

Movie Monad

A free and simple to use video player built with Haskell.

Screenshots

Linux

GUI showing "Caminandes 3: LLamigos" from the Blender Foundation

GUI showing "Sintel" from the Blender Foundation

Mac

GUI showing "Big Buck Bunny" from the Blender Foundation

GUI showing the About window as seen on the Mac

Features

  • Local or Remote Video Playback
    • file://
    • http://
    • https://
  • Window Size Quick Select
  • Responsive Window Resizing
  • Fullscreen Mode
  • Seek
  • Play and Pause
  • Volume
  • Subtitles
    • Disable
    • List and Pick from the Available Languages
  • Command-line Play
    • movie-monad ./path/to/video/file.mp4
    • movie-monad http://www.domain.tld/path/to/video/file.mp4

Keyboard Shortcuts

  • Mute/Unmute
    • m
    • AudioMute
  • Fullscreen/Windowed
    • f
  • Show Controls
    • c
  • Volume Up
    • ArrowUp
    • AudioRaiseVolume
  • Volume Down
    • ArrowDown
    • AudioLowerVolume
  • Seek Left
    • ArrowLeft
  • Seek Right
    • ArrowRight
  • Play/Pause
    • Space
    • AudioPlay

Tested On

Linux

Mac

Dependencies

Run

Build

Install & Run

Linux

AppImage

Download & Run
# Install GTK+ >= 3.10 (https://www.gtk.org/download/index.php)
# Install GStreamer >= 1.0 (https://gstreamer.freedesktop.org/download/)
# Install GStreamer Good Plug-ins (https://gstreamer.freedesktop.org/modules/gst-plugins-good.html)
# Install GStreamer Bad Plug-ins >= 1.8 (https://gstreamer.freedesktop.org/modules/gst-plugins-bad.html)
# Install Wget (https://www.gnu.org/software/wget/)
# Visit https://github.com/lettier/movie-monad/releases
# Download the latest AppImage movie-monad-0.0.4.0-x86_64.AppImage
wget https://github.com/lettier/movie-monad/releases/download/0.0.4.0/movie-monad-0.0.4.0-x86_64.AppImage
chmod a+x movie-monad-0.0.4.0-x86_64.AppImage
./movie-monad-0.0.4.0-x86_64.AppImage
Install
# Install GTK+ >= 3.10 (https://www.gtk.org/download/index.php)
# Install GStreamer >= 1.0 (https://gstreamer.freedesktop.org/download/)
# Install GStreamer Good Plug-ins (https://gstreamer.freedesktop.org/modules/gst-plugins-good.html)
# Install GStreamer Bad Plug-ins >= 1.8 (https://gstreamer.freedesktop.org/modules/gst-plugins-bad.html)
# Install Wget (https://www.gnu.org/software/wget/)
wget "https://raw.githubusercontent.com/lettier/movie-monad/master/scripts/sh/install-app-image.sh" -O "movie-monad-install-app-image.sh"
chmod +x "movie-monad-install-app-image.sh"
./movie-monad-install-app-image.sh

Arch/Manjaro/Antergos

cd
# Install Git (https://git-scm.com/downloads)
sudo pacman -S git
# Install Movie Monad from the AUR (https://aur.archlinux.org/packages/movie-monad/)
mkdir -p movie-monad-tmp
cd movie-monad-tmp
git clone https://aur.archlinux.org/movie-monad.git
cd movie-monad
makepkg -sic
cd
rm -rf movie-monad-tmp
movie-monad

Mac

# Install Homebrew (https://brew.sh/#install)
cd ~/Downloads
brew update && brew upgrade
brew install git
git clone https://github.com/lettier/movie-monad.git
cd movie-monad
brew cask install haskell-platform
brew install pkg-config libffi libav libsvg librsvg libogg libvorbis openh264 theora \
  gobject-introspection cairo gdk-pixbuf gsettings-desktop-schemas gtk+3 gtk-mac-integration \
  gstreamer gst-libav gst-plugins-base gst-plugins-good
brew install --with-gtk+3 gst-plugins-bad
stack setup
stack install hsc2hs
stack install
export PATH=$PATH:"$HOME/.local/bin/"
movie-monad

Hackage

# Install GObject Introspection (https://wiki.gnome.org/action/show/Projects/GObjectIntrospection)
# Install GTK+ >= 3.10 (https://www.gtk.org/download/index.php)
# Install GStreamer >= 1.0 (https://gstreamer.freedesktop.org/download/)
# Install GStreamer Good Plug-ins (https://gstreamer.freedesktop.org/modules/gst-plugins-good.html)
# Install GStreamer Bad Plug-ins >= 1.8 (https://gstreamer.freedesktop.org/modules/gst-plugins-bad.html)
# Install Cabal, GHC == 8.0.2 (https://www.haskell.org/platform/prior.html)
# Install Cabal Install (https://www.haskell.org/platform/prior.html)
cabal install movie-monad
movie-monad

GitHub

# Install GObject Introspection (https://wiki.gnome.org/action/show/Projects/GObjectIntrospection)
# Install GTK+ >= 3.10 (https://www.gtk.org/download/index.php)
# Install GStreamer >= 1.0 (https://gstreamer.freedesktop.org/download/)
# Install GStreamer Good Plug-ins (https://gstreamer.freedesktop.org/modules/gst-plugins-good.html)
# Install GStreamer Bad Plug-ins >= 1.8 (https://gstreamer.freedesktop.org/modules/gst-plugins-bad.html)
# Install Git (https://git-scm.com/downloads)
# Install GNU Make (https://www.gnu.org/software/make/)
# Install Haskell, GHC == 8.0.2 (https://www.haskell.org/platform/prior.html)
# Install Haksell Stack (https://www.haskell.org/platform/)
git clone https://github.com/lettier/movie-monad.git
cd movie-monad/
make
make install
make run

Developer Documentation

Let's make a GTK Video Player with Haskell

License

See LICENSE.

(C) 2017 David Lettier
lettier.com