Git Product home page Git Product logo

omxplayer's Introduction

OMXPlayer

OMXPlayer is a commandline OMX player for the Raspberry Pi. It was developed as a testbed for the XBMC Raspberry PI implementation and is quite handy to use standalone.

Downloading OMXPlayer

git clone git://github.com/huceke/omxplayer.git

Compiling OMXPlayer

GCC version 4.7 is required.

Cross Compiling

You need the content of your sdcard somewhere mounted or copied. There might be development headers to install on the running Pi system for the crosscompiling.

Edit Makefile.include and change the settings according your locations.

make ffmpeg
make
make dist

Installing OMXPlayer

Copy over omxplayer-dist/* to the Pi /. You may want to specify a valid font path inside the omxplayer shell script.

Compiling on the Pi

You can also compile it on the PI the native way ;) Run this script (which will install packages and update firmware) ./prepare-native-raspbian.sh and build with make ffmpeg make

Using OMXPlayer

Usage: omxplayer [OPTIONS] [FILE]
Options :
     -h / --help                    print this help
     -v / --version                 print version info
     -k / --keys                    print key bindings
     -n / --aidx  index             audio stream index    : e.g. 1
     -o / --adev  device            audio out device      : e.g. hdmi/local
     -i / --info                    dump stream format and exit
     -s / --stats                   pts and buffer stats
     -p / --passthrough             audio passthrough
     -d / --deinterlace             force deinterlacing
          --nodeinterlace           force no deinterlacing
     -w / --hw                      hw audio decoding
     -3 / --3d mode                 switch tv into 3d mode (e.g. SBS/TB)
     -y / --hdmiclocksync           adjust display refresh rate to match video (default)
     -z / --nohdmiclocksync         do not adjust display refresh rate to match video
     -t / --sid index               show subtitle with index
     -r / --refresh                 adjust framerate/resolution to video
     -g / --genlog                  generate log file
     -l / --pos n                   start position (in seconds)
     -b / --blank                   set background to black
          --boost-on-downmix        boost volume when downmixing
          --vol n                   Set initial volume in millibels (default 0)
          --subtitles path          external subtitles in UTF-8 srt format
          --font path               subtitle font
                                    (default: /usr/share/fonts/truetype/freefont/FreeSans.ttf)
          --font-size size          font size as thousandths of screen height
                                    (default: 55)
          --align left/center       subtitle alignment (default: left)
          --lines n                 number of lines to accommodate in the subtitle buffer
                                    (default: 3)
          --win "x1 y1 x2 y2"       Set position of video window
          --audio_fifo  n           Size of audio output fifo in seconds
          --video_fifo  n           Size of video output fifo in MB
          --audio_queue n           Size of audio input queue in MB
          --video_queue n           Size of video input queue in MB
          --threshold   n           Amount of buffered data required to come out of buffering in seconds
          --key-config <file>       Uses key bindings specified in <file> instead of the default

For example:

./omxplayer -p -o hdmi test.mkv

Key Bindings

While playing you can use the following keys to control omxplayer:

z			Show Info
1			Decrease Speed
2			Increase Speed
j			Previous Audio stream
k			Next Audio stream
i			Previous Chapter
o			Next Chapter
n			Previous Subtitle stream
m			Next Subtitle stream
s			Toggle subtitles
d			Subtitle delay -250 ms
f			Subtitle delay +250 ms
q			Exit OMXPlayer
Space or p	Pause/Resume
-			Decrease Volume
+			Increase Volume
Left Arrow	Seek -30 s
Right Arrow	Seek +30 s
Down Arrow	Seek -600 s
Up Arrow	Seek +600 s

Key Config Syntax

A key config file is a series of rules of the form [action]:[key]. Multiple keys can be bound to the same action, and comments are supported by adding a # in front of the line. The list of valid [action]s roughly corresponds to the list of default key bindings above and are:

DECREASE_SPEED
INCREASE_SPEED
REWIND
FAST_FORWARD
SHOW_INFO
PREVIOUS_AUDIO
NEXT_AUDIO
PREVIOUS_CHAPTER
NEXT_CHAPTER
PREVIOUS_SUBTITLE
NEXT_SUBTITLE
TOGGLE_SUBTITLE
DECREASE_SUBTITLE_DELAY
INCREASE_SUBTITLE_DELAY
EXIT
PAUSE
DECREASE_VOLUME
INCREASE_VOLUME
SEEK_BACK_SMALL
SEEK_FORWARD_SMALL
SEEK_BACK_LARGE
SEEK_FORWARD_LARGE
STEP

Valid [key]s include all alpha-numeric characters and most symbols, as well as: left right up down esc

For example:

EXIT:esc
PAUSE:p
#Note that this next line has a space after the :
PAUSE: 
REWIND:left
EXIT:q

omxplayer's People

Contributors

agherzan avatar bengt avatar hackedd avatar huceke avatar julianscheel avatar maxnet avatar mdraves91 avatar popcornmix avatar roel-gerrits avatar ryatkins avatar skgsergio avatar stasik0 avatar stevenhickson avatar torarin avatar turingmachine avatar xavm avatar

Watchers

 avatar  avatar

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.