2

I had been searching a lot, how to play music through terminal while working and again time to time basic controlling the music, e.g. Fast Fwd, Fast Backward, Next, Previous, Play/Pause, Stop and Exit. But did not get any. I came across SoX, but did not come in any help. Later in mplayer man page I found lots of cmd_line options.

In there I found -ss (seeking by seconds), -sb (seeking by bytes), -endpos (to stop after the specified time).

I am wondering,

  1. How to use those options. Because once I play a track using: mplayer track.ext the terminal is engaged in showing details from the play.

Again,

  1. Can you please suggest options for rewind, next, previous, etc?

  2. Can you please suggest any other alternative which is easy in basic controlling music play?

  3. How can I play the file and same time work in the terminal?

2

Basic Navigation:

You are after these basic navigation keys for MPlayer, which will all operate while your clip is playing:

Basic keys: (complete list in the man page, also check input.conf)
 <-  or  ->       seek backward/forward 10 seconds
 down or up       seek backward/forward  1 minute
 pgdown or pgup   seek backward/forward 10 minutes
 < or >           step backward/forward in playlist
 p or SPACE       pause movie (press any key to continue)
 q or ESC         stop playing and quit program
 + or -           adjust audio delay by +/- 0.1 second
 o                cycle OSD mode:  none / seekbar / seekbar + timer
 * or /           increase or decrease PCM volume
 x or z           adjust subtitle delay by +/- 0.1 second
 r or t           adjust subtitle position up/down, also see -vf expand

These can be seen in the man pages of course but the small selection demonstrated here is taken from the list shown by simply running the command mplayer in a Terminal window.

Complex Navigation and Control:

If you are after more complex control you can create the file input.conf in the $HOME/.mplayer directory and place within this file the following details:

##
## MPlayer input control file
##
## You are able to redefine default keyboard/joystick/mouse/LIRC bindings, or
## add new ones here.
## See DOCS/tech/slave.txt for possible commands that can be bound.
## Also see mplayer -input cmdlist for other possible options.
## The file should be placed in the $HOME/.mplayer directory.
##
## If you wish to unbind a key, use key ignore.
## e.g. ENTER ignore
##

RIGHT seek +10
LEFT seek -10
DOWN seek -60
UP seek +60
PGUP seek 600
PGDWN seek -600
m mute
# switch_audio          # switch audio streams
+ audio_delay 0.100
= audio_delay 0.100
- audio_delay -0.100
[ speed_mult 0.9091 # scale playback speed
] speed_mult 1.1
{ speed_mult 0.5
} speed_mult 2.0
BS speed_set 1.0    # reset speed to normal
q quit
ESC quit
ENTER pt_step 1 1       # skip to next file
p pause
. frame_step            # advance one frame and pause
SPACE pause
HOME pt_up_step 1
END pt_up_step -1
> pt_step 1             # skip to next file
< pt_step -1            #         previous
INS alt_src_step 1
DEL alt_src_step -1
o osd
I osd_show_property_text "${filename}"     # display filename in osd
P osd_show_progression
z sub_delay -0.1        # subtract 100 ms delay from subs
x sub_delay +0.1        # add
9 volume -1
/ volume -1
0 volume 1
* volume 1
1 contrast -1
2 contrast 1
3 brightness -1
4 brightness 1
5 hue -1
6 hue 1
7 saturation -1
8 saturation 1
( balance -0.1          # adjust audio balance in favor of left
) balance +0.1          #                                  right
d frame_drop
D step_property deinterlace  # toggle deinterlacer, requires -vf yadif or kerndeint
r sub_pos -1            # move subtitles up
t sub_pos +1            #                down
#? sub_step +1      # immediately display next subtitle
#? sub_step -1      #                     previous
#? sub_scale +0.1   # increase subtitle font size
#? sub_scale -0.1   # decrease subtitle font size
f vo_fullscreen
T vo_ontop              # toggle video window ontop of other windows
w panscan -0.1          # zoom out with -panscan 0 -fs
e panscan +0.1          #      in
c capturing             # save (and append) file/stream to stream.dump with -capture
s screenshot            # take a png screenshot with -vf screenshot
                        # S will take a png screenshot of every frame

h tv_step_channel 1
l tv_step_channel -1
n tv_step_norm
b tv_step_chanlist

##
## Joystick section
## WARNING: joystick support has to be explicitly enabled at
##          compiletime with --enable-joystick
##

JOY_RIGHT seek 10
JOY_LEFT seek -10
JOY_UP seek 60
JOY_DOWN seek -60
JOY_BTN0 pause
JOY_BTN1 osd
JOY_BTN2 volume 1
JOY_BTN3 volume -1
JOY_BTN4 set_menu main

##
## Apple Remote section
##
## To use OSD menu with Apple Remote, set key AR_MENU to any OSD menu command,
## or just comment out the 'AR_MENU osd' line and uncomment the line after it.
##

AR_PLAY pause
AR_PLAY_HOLD quit
AR_NEXT seek 30
AR_NEXT_HOLD seek 120
AR_PREV seek -10
AR_PREV_HOLD seek -120
AR_MENU menu up
#AR_MENU menu cancel
AR_MENU_HOLD mute
AR_VUP volume 1
AR_VDOWN volume -1

##
## OSD Menu movement keys
##
## If you are using only the keyboard it is enough to define one command (like
## "menu up"), because then that single key will display the menu, which can
## then be navigated with the cursor keys and ENTER (defined in menu.conf).
##
## LIRC users should bind each "menu" command to a button on their remote.
##
## The set_menu command directly displays the (sub)menu specified as
## its argument. Usage should be self-explanatory (although not likely
## to be needed), after reading input.conf.
##

#MOUSE_BTN0 menu up
#y menu down
#y menu ok
#y menu cancel
#y menu hide
#y set_menu general_pref

##
## DVDNAV
## Requires dvdnav://
##

UP    {dvdnav} dvdnav up          # DVDNav UP
DOWN  {dvdnav} dvdnav down        # DVDNav DOWN
LEFT  {dvdnav} dvdnav left        # DVDNav LEFT
RIGHT {dvdnav} dvdnav right       # DVDNav RIGHT
ESC   {dvdnav} dvdnav menu        # DVDNav MENU
ENTER {dvdnav} dvdnav select      # DVDNav SELECT (ok)
BS    {dvdnav} dvdnav prev        # DVDNav PREVIOUS menu (in the order chapter->title->root)

AR_VUP    {dvdnav} dvdnav up      # DVDNav UP
AR_VDOWN  {dvdnav} dvdnav down    # DVDNav DOWN
AR_PREV   {dvdnav} dvdnav left    # DVDNav LEFT
AR_NEXT   {dvdnav} dvdnav right   # DVDNav RIGHT
AR_MENU   {dvdnav} dvdnav menu    # DVDNav MENU
AR_PLAY   {dvdnav} dvdnav select  # DVDNav SELECT (ok)

#? seek_chapter -1      # skip to previous dvd chapter
#? seek_chapter +1      #         next

##
## Advanced seek
## Uncomment the following lines to be able to seek to n% of the media with
## the Fx keys.
##
#F1 seek 10 1
#F2 seek 20 1
#F3 seek 30 1
#F4 seek 40 1
#F5 seek 50 1
#F6 seek 60 1
#F7 seek 70 1
#F8 seek 80 1
#F9 seek 90 1
#
## Use - to combine multiple keys into a key combination
##
#CTRL-. osd_show_property_text "Playing: ${filename}"

Spend as much time as you wish tweaking these options :)

Work on something else:

As for working while your clip is playing: my own practice is to open a new Terminal window but another option is to open another Tab in your existing Terminal window, if this is supported.

  • Then how and why to use -ss option? – user455473 Dec 30 '17 at 8:49
  • @رشادخان Only really of use at startup of a media file, from the commandline, the keys mimic this behaviour while the file is playing... – andrew.46 Dec 30 '17 at 8:53

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy