Sunday, July 16, 2017

tomxplayer: The Raspberry Pi Video Player (Comming Soon)

     Recently I got my self a Raspberry Pi 3 Model B. It's a tiny computer... blah blah blah... google it. I purchased it because it was capable of running Ubuntu Mate and I've been running Ubuntu Mate as my primary OS for along while now. For me, there are times when a low power PC would come in handy. It was not long before I noticed that video playback is a little non-standard on the PI. The only player capable of taking advantage of the Pi's hardware acceleration is omxplayer ( a cmdline only application ).

There are a few projects I've seen but they all have the video open outside the window and they feel counter-intuitive. Every one knows what a standard video player should act like. Video applications like mplayer, vlc and "media player" for windows have been around for a long time and they all have the video window inside their window bounds. There is also a project where by you can control omxplayer through a webpage and various other remote control options.

None of these were going to work for me. I wanted a standard video player, like vlc, So I decided to write my own. It's still in the testing phase but things seem pretty stable so far. tomxplayer is not available for download yet but here is a video of me testing it.

  • Video moves with the window.
  • Video disappears when window is minimized (audio still plays).
  • Window stays on top and stays on current work space.
  • Aspect ratio: Letterbox or stretch.
  • Manual overscan offset adjustments.
  • Continuous Playback (build a playlist from directory and loop).
  • Volume controls
  • Fast Forward (10s) / Rewind (10s) / |  Slider for exact position
  • Previous / Next
  • Fullscreen
    • Video controls re-appear on mouse move and re-disappear after 5 seconds of no mouse movement.
  • Keyboard controls
    • Escape = Exit fullscreen
    • F11 = Toggle fullscreen
    • p = Toggle Play /Pause
    • Up = Volume Up
    • Down = Volume Down
    • Right = Fast forward
    • Left = Rewind

No comments: