Usando o MPV para reproduzir filmes em DVD

1

Além do VLC, poucos reprodutores de DVD têm acesso a todas as opções de filmes em DVD, ou seja, menus e mpv não é um deles, mas eu uso mpv para acessar legendas externas com DVDs e comecei a apreciar muito, muito simples e leve, mas muito capaz, de modo que eu gostaria de fornecer uma resposta sobre como o mpv pode ser usado como o principal reprodutor de DVD apesar de (ou talvez porque) ser mínimo GUI.

    
por cipricus 26.02.2016 / 00:04

1 resposta

3

Para iniciar o fluxo principal de um DVD de vídeo com mpv (em vez de simplesmente arrastar e soltar a pasta VIDEO_TS na janela do mpv), use o comando:

mpv dvd://

(conforme especificado por jasonwryan em um comentário abaixo), ou até mesmo (substituindo username por yours )

mpv /media/username/*/VIDEO_TS

Então, basta usar isso com um atalho de teclado ou em um lançador; ou um arquivo .desktop específico pode ser criado na área de trabalho ou em ~/.local/share/applications da mesma forma (editor de texto como gedit é sua escolha):

gedit ~/.local/share/applications/mpv_dvd.desktop

com

[Desktop Entry]
Categories=AudioVideo;Audio;Video;Player;TV;
Exec=mpv dvd://
Icon=/path/to/your/mpv_icon.png
MimeType=
Name=Play DVD in mpv Media Player
StartupNotify=true
Terminal=false
Type=Application

Edite o caminho do ícone também: use este

ou este .

Obotão/íconedolançadorpodesercolocadonodesktop,nopaineloupodeserpesquisadoeexecutadoapartirdeum"lançador de aplicativos" (Dash, Synapse, Kickoff, Menu Wisker, Slingshot etc)

Para acessar mais do que o fluxo principal (vídeos secundários, conteúdo de menu, imagens), pode-se acessar a pasta VIDEO_TS do DVD e procurar por mais, ou você pode tentar um comando diferente (para ser usado como acima uma tecla de atalho ou lançador):

mpv /dev/sr0

que reproduzirá e procurará por todos os fluxos incluídos, incluindo menus, como se estivessem em um único arquivo. Mas os resultados disso podem variar de bom a muito ruim (por algum motivo a imagem é horrível às vezes com esse comando).

O mpv gui é muito minimalista, mas inclui dois botões para alternar streams e legendas de áudio, e eles também funcionam para DVDs. Os botões seguinte / anterior irão alterar os capítulos dentro do fluxo de vídeo (não os diferentes fluxos / títulos)

Temmuitosatalhospossíveis.Ospadrõessãodescritosdaseguinteforma:

NAMEmpv-amovieplayerSYNOPSISmpv[options][file|URL|-]mpv[options]--playlist=PLAYLISTmpv[options]filesmpv[options]{groupoffilesandoptions}mpv[bd]://[title][/device][options]mpvdvd://[title|[start_title]-end_title][/device][options]mpvdvdnav://[longest|menu|title][/device][options]mpvvcd://[/device]mpvtv://[channel][/input_id][options]mpvradio://[channel|frequency][/capture][options]mpvpvr://[options]mpvdvb://[card_number@]channel[options]mpvmf://[filemask|@listfile][-mfoptions][options]mpvcdda://track[-endtrack][:speed][/device][options]mpv[file|mms[t]|http|httpproxy|rt[s]p|ftp|udp|smb]://[user:pass@]URL[:port][options]mpvedl://[edlspecificationasinedl-mpv.rst]DESCRIPTIONmpvisamovieplayerbasedonMPlayerandmplayer2.Itsupportsawidevarietyofvideofileformats,audioandvideocodecs,andsubtitletypes.SpecialinputURLtypesareavailabletoreadinputfromavarietyofsourcesotherthandiskfiles.Dependingonplatform,avarietyofdifferentvideoandaudiooutputmethodsaresupported.Usageexamplestogetyoustartedquicklycanbefoundattheendofthismanpage.INTERACTIVECONTROLmpvhasafullyconfigurable,command-drivencontrollayerwhichallowsyoutocontrolmpvusingkeyboard,mouse,joystickorremotecontrol(withLIRC).Seethe--input-optionsforwaystocustomizeit.KeyboardControlLEFTandRIGHTSeekbackward/forward10seconds.Shift+arrowdoesa1secondexactseek(see--hr-seek).UPandDOWNSeekforward/backward1minute.Shift+arrowdoesa5secondexactseek(see--hr-seek).PGUPandPGDWNSeekforward/backward10minutes.[and]Decrease/increasecurrentplaybackspeedby10%.{and}Halve/doublecurrentplaybackspeed.BACKSPACEResetplaybackspeedtonormal.<and>Gobackward/forwardintheplaylist.ENTERGoforwardintheplaylist,evenovertheend.p/SPACEPause(pressingagainunpauses)..Stepforward.Pressingoncewillpausemovie,everyconsecutivepresswillplayoneframeandthengointopausemodeagain.,Stepbackward.Pressingoncewillpausemovie,everyconsecutivepresswillplayoneframeinreverseandthengointopausemodeagain.q/ESCStopplayingandquit.QLikeq,butstorethecurrentplaybackposition.Playingthesamefilelaterwillresumeattheoldplaybackpositionifpossible.UStopplaying(andquitif--idleisnotused).+and-Adjustaudiodelayby+/-0.1seconds./and*Decrease/increasevolume.9and0Decrease/increasevolume.(and)Adjustaudiobalanceinfavorofleft/rightchannel.mMutesound._Cyclethroughtheavailablevideotracks.#Cyclethroughtheavailableaudiotracks.TAB(MPEG-TSandlibavformatonly)Cyclethroughtheavailableprograms.fTogglefullscreen(seealso--fs).TTogglestay-on-top(seealso--ontop).wandeDecrease/increasepan-and-scanrange.oToggleOSDstates:none/seek/seek+timer/seek+timer+totaltime.dToggleframedroppingstates:none/skipdisplay/skipdecoding(see--framedrop).vTogglesubtitlevisibility.jandJCyclethroughtheavailablesubtitles.FToggledisplaying"forced subtitles".

       x and z
              Adjust subtitle delay by +/- 0.1 seconds.

       V      Toggle   subtitle   VSFilter   aspect  compatibility  mode.  See
              --ass-vsfilter-aspect-compat for more info.

       r and t
              Move subtitles up/down.

       s      Take a screenshot.

       S      Take  a  screenshot,  without  subtitles.  (Whether  this  works
              depends on VO driver support.)

       I      Show filename on the OSD.

       P      Show  progression  bar,  elapsed  time and total duration on the
              OSD.

       ! and @
              Seek to the beginning of  the  previous/next  chapter.  In  most
              cases,  "previous"  will  actually  go  to  the beginning of the
              current chapter; see --chapter-seek-threshold.

       D (--vo=vdpau, --vf=yadif only)
              Activate/deactivate deinterlacer.

       A      Cycle through the available DVD angles.

       c      Change YUV colorspace.

       (The following keys are valid only  when  using  a  video  output  that
       supports  the  corresponding  adjustment,  or  the  software  equalizer
       (--vf=eq).)

       1 and 2
              Adjust contrast.

       3 and 4
              Adjust brightness.

       5 and 6
              Adjust gamma.

       7 and 8
              Adjust saturation.

       (The following keys are valid only on OSX.)

       command + 0
              Resize movie window to half its original size.

       command + 1
              Resize movie window to its original size.

       command + 2
              Resize movie window to double its original size.

       command + f
              Toggle fullscreen (see also --fs).

       command + [ and command + ]
              Set movie window alpha.

       (The following keys are valid if you have a  keyboard  with  multimedia
       keys.)

       PAUSE  Pause.

       STOP   Stop playing and quit.

       PREVIOUS and NEXT
              Seek backward/forward 1 minute.

       (The following keys are only valid if you compiled with TV or DVB input
       support.)

       h and k
              Select previous/next channel.

       n      Change norm.

       u      Change channel list.

   Mouse Control
       button 3 and button 4
              Seek backward/forward 1 minute.

       button 5 and button 6
              Decrease/increase volume.

Os que eu acho especialmente úteis são:

r and t
              Move subtitles up/down.




j and J
              Cycle through the available subtitles.




 #      Cycle through the available audio tracks.


  w and e
              Decrease/increase pan-and-scan range.

Eles podem ser personalizados em

gedit ~/.config/mpv/input.conf

Por padrão, é:

# mpv keybindings
#
# Location of user-defined bindings: ~/.config/mpv/input.conf
#
# Lines starting with # are comments. Use SHARP to assign the # key.
# Copy this file and uncomment and edit the bindings you want to change.
#
# List of commands and further details: DOCS/man/input.rst
# List of special keys: --input-keylist
# Keybindings testing mode: mpv --input-test --force-window --idle
#
# Use 'ignore' to unbind a key fully (e.g. 'ctrl+a ignore').
#
# Strings need to be quoted and escaped:
#   KEY show-text "This is a single backslash: \ and a quote: \" !"
#
# You can use modifier-key combinations like Shift+Left or Ctrl+Alt+x with
# the modifiers Shift, Ctrl, Alt and Meta (may not work on the terminal).
#
# The default keybindings are hardcoded into the mpv binary.
# You can disable them completely with: --no-input-default-bindings

# Developer note:
# On compilation, this file is baked into the mpv binary, and all lines are
# uncommented (unless '#' is followed by a space) - thus this file defines the
# default key bindings.

# If this is enabled, treat all the following bindings as default.
#default-bindings start

#MOUSE_BTN0 ignore                      # don't do anything
#MOUSE_BTN0_DBL cycle fullscreen        # toggle fullscreen on/off
#MOUSE_BTN2 cycle pause                 # toggle pause on/off
#MOUSE_BTN3 seek 10
#MOUSE_BTN4 seek -10
#MOUSE_BTN5 add volume -2
#MOUSE_BTN6 add volume 2

# Mouse wheels, touchpad or other input devices that have axes
# if the input devices supports precise scrolling it will also scale the
# numeric value accordingly
#AXIS_UP    seek 10
#AXIS_DOWN  seek -10
#AXIS_LEFT  seek 5
#AXIS_RIGHT seek -5

## Seek units are in seconds, but note that these are limited by keyframes
#RIGHT seek  5
#LEFT  seek -5
#UP    seek  60
#DOWN  seek -60
# Do smaller, always exact (non-keyframe-limited), seeks with shift.
# Don't show them on the OSD (no-osd).
#Shift+RIGHT no-osd seek  1 exact
#Shift+LEFT  no-osd seek -1 exact
#Shift+UP    no-osd seek  5 exact
#Shift+DOWN  no-osd seek -5 exact
# Skip to previous/next subtitle (subject to some restrictions; see manpage)
#Ctrl+LEFT   no-osd sub-seek -1
#Ctrl+RIGHT  no-osd sub-seek  1
#PGUP add chapter 1                     # skip to next chapter
#PGDWN add chapter -1                   # skip to previous chapter
#Shift+PGUP seek 600
#Shift+PGDWN seek -600
#[ multiply speed 0.9091                # scale playback speed
#] multiply speed 1.1
#{ multiply speed 0.5
#} multiply speed 2.0
#BS set speed 1.0                       # reset speed to normal
#q quit
#Q quit-watch-later
#q {encode} quit 4
#ESC set fullscreen no
#ESC {encode} quit 4
#p cycle pause                          # toggle pause/playback mode
#. frame-step                           # advance one frame and pause
#, frame-back-step                      # go back by one frame and pause
#SPACE cycle pause
#> playlist-next                        # skip to next file
#ENTER playlist-next                    # skip to next file
#< playlist-prev                        # skip to previous file
#O no-osd cycle_values osd-level 3 1    # cycle through OSD mode
#o show-progress
#P show-progress
#I show-text "${filename}"              # display filename in osd
#z add sub-delay -0.1                   # subtract 100 ms delay from subs
#x add sub-delay +0.1                   # add
#ctrl++ add audio-delay 0.100           # this changes audio/video sync
#ctrl+- add audio-delay -0.100
#9 add volume -2
#/ add volume -2
#0 add volume 2
#* add volume 2
#m cycle mute
#1 add contrast -1
#2 add contrast 1
#3 add brightness -1
#4 add brightness 1
#5 add gamma -1
#6 add gamma 1
#7 add saturation -1
#8 add saturation 1
# toggle deinterlacer (automatically inserts or removes required filter)
#d cycle deinterlace
#r add sub-pos -1                       # move subtitles up
#t add sub-pos +1                       #                down
#v cycle sub-visibility
# stretch SSA/ASS subtitles with anamorphic videos to match historical
#V cycle ass-vsfilter-aspect-compat
# switch between applying no style overrides to SSA/ASS subtitles, and
# overriding them almost completely with the normal subtitle style
#u cycle-values ass-style-override "force" "no"
#j cycle sub                            # cycle through subtitles
#J cycle sub down                       # ...backwards
#Ctrl+A cycle audio                      # switch audio streams
#_ cycle video
#T cycle ontop                          # toggle video window ontop of other windows
#f cycle fullscreen                     # toggle fullscreen
#s screenshot                           # take a screenshot
#S screenshot video                     # ...without subtitles
#Ctrl+s screenshot window               # ...with subtitles and OSD, and scaled
#Alt+s screenshot each-frame            # automatically screenshot every frame
#w add panscan -0.1                     # zoom out with -panscan 0 -fs
#e add panscan +0.1                     #      in
#cycle video aspect ratios; "-1" is the container aspect
#A cycle-values video-aspect "16:9" "4:3" "2.35:1" "-1"
#POWER quit
#PLAY cycle pause
#PAUSE cycle pause
#PLAYPAUSE cycle pause
#STOP quit
#FORWARD seek 60
#REWIND seek -60
#NEXT playlist-next
#PREV playlist-prev
#VOLUME_UP add volume 2
#VOLUME_DOWN add volume -2
#MUTE cycle mute
#CLOSE_WIN quit
#CLOSE_WIN {encode} quit 4
#E cycle edition                        # next edition
#l ab_loop                              # Set/clear A-B loop points
#L cycle-values loop "inf" "no"         # toggle infinite looping
#ctrl+c quit 4

# Apple Remote section
#AR_PLAY cycle pause
#AR_PLAY_HOLD quit
#AR_CENTER cycle pause
#AR_CENTER_HOLD quit
#AR_NEXT seek 10
#AR_NEXT_HOLD seek 120
#AR_PREV seek -10
#AR_PREV_HOLD seek -120
#AR_MENU show-progress
#AR_MENU_HOLD cycle mute
#AR_VUP add volume 2
#AR_VUP_HOLD add chapter 1
#AR_VDOWN add volume -2
#AR_VDOWN_HOLD add chapter -1

# For tv://
#h cycle tv-channel -1                  # previous channel
#k cycle tv-channel +1                  # next channel

#
# Legacy bindings (may or may not be removed in the future)
#
#! add chapter -1                       # skip to previous chapter
#@ add chapter 1                        #         next

#
# Not assigned by default
# (not an exhaustive list of unbound commands)
#

# ? add sub-scale +0.1                  # increase subtitle font size
# ? add sub-scale -0.1                  # decrease subtitle font size
# ? sub-step -1                         # immediately display next subtitle
# ? sub-step +1                         #                     previous
# ? cycle-values window-scale 0.5 2 1   # switch between 1/2, 2x, unresized window size
# ? cycle colormatrix
# ? add audio-delay 0.100               # this changes audio/video sync
# ? add audio-delay -0.100
# ? cycle angle                         # switch DVD/Bluray angle
# ? add balance -0.1                    # adjust audio balance in favor of left
# ? add balance 0.1                     #                                  right
# ? cycle sub-forced-only               # toggle DVD forced subs
# ? cycle program                       # cycle transport stream programs
# ? stop                                # stop playback (quit or enter idle mode)

Todas as explicações necessárias estão dentro deste arquivo.

Os atalhos de teclado padrão são codificados no binário mpv. Você pode desativá-las completamente com: --no-input-default-bindings , mas é mais útil usar novas chaves mais intuitivas e ações de mouse que podem ser adicionadas no final desse arquivo, como:

Alt+a cycle-values video-aspect "16:9" "4:3" "2.35:1" "-1"
Ctrl+a cycle audio                      # switch audio streams
Ctrl+f cycle fullscreen        # toggle fullscreen on/off
Ctrl+s cycle sub                            # cycle through subtitles
Meta+UP add sub-pos -1                       # move subtitles up
Meta+DOWN add sub-pos +1                       #                down
Meta+Alt+s cycle sub-visibility             # show/hide subtitles
Ctrl+z add panscan +0.1                    # zoom in
Ctrl+< add panscan -0.1                    # zoom out
MOUSE_BTN0 ignore                      # don't do anything
MOUSE_BTN0_DBL cycle fullscreen        # toggle fullscreen on/off
MOUSE_BTN2 cycle pause                 # toggle pause on/off
MOUSE_BTN3 add volume 2                # increase volume with mouse wheel
MOUSE_BTN4 add volume -2               # decrease volume with mouse wheel
#MOUSE_BTN5 add volume -2
#MOUSE_BTN6 add volume 2
MOUSE_BTN1 cycle-values video-aspect "16:9" "4:3" "2.35:1" "-1"
Ctrl+RIGHT seek  60
Ctrl+LEFT  seek -60
UP    add volume 2
DOWN  add volume -2

Como já mencionado, mpv é a melhor maneira de adicionar legendas externas aos DVDs .

    
por 26.02.2016 / 00:33