Linux Programmer

MPV 리눅스 미디어 플레이어 설정 본문

컴퓨터 관련/리눅스 데스크탑

MPV 리눅스 미디어 플레이어 설정

sunyzero 2018. 8. 19. 14:20

1. MPV 설정 파일 (mpv.conf, input.conf)

mpv 설정 파일은 크게 2가지가 있다. 첫번째로 mpv.conf라는 화면 크기, 위치, 재생 상태, 폰트 크기, 볼륨 등 mpv 본래의 기능을 설정하는 파일이고, 두번째로 input.conf는 단축키를 재지정할 수 있는 설정 파일이 있다.

 

1.1. mpv.conf 메인 설정 파일

mpv는 리눅스에서 가장 많이 애용되는 미디어 플레이어이다. default 설정도 크게 불편하지는 않지만 조금 더 손보면 좋다.

mpv.conf 설정 파일의 위치는 ~/.config/mpv/mpv.conf 이다. 디렉터리는 mpv를 한번이라도 실행하면 자동으로 만들어지지만, 직접 만들어도 된다. 우선 본인이 쓰는 설정은 대충 다음과 같다.

hwdec=auto
keep-open=always                                                                                                                              
geometry=50%:60%
autofit=1600
no-border
osd-blur=2.5
osd-border-size=1
osd-level=1
osd-align-y=bottom

sub-font="NanumGothic:style=Bold"
sub-blur="0.3"
sub-border-size="3"
sub-scale="1.2"
sub-codepage="cp949"
sub-pos="95"

volume="50"

# 캐시 기능을 항상 켜기 (인터넷 스트리밍 및 로컬 파일 모두 적용)
cache=yes

# 종료 할 때 창의 위치, 크기, 동영상 파일의 재생 위치 등을 기억하도록 하는 기능이다.
save-position-on-quit=yes

 

각 기능에 대한 자세한 설명은 man mpv 의 맨페이지에서 볼 수 있다. 그리고 모든 설정 기능은 명령행에서 롱 옵션인 --를 붙여서 사용할 때와 동일하다. 예를 들어 keep-open 옵션은 명령행에서 --keep-open=always 로 명령한 것과 같다.

hwdec=auto는 하드웨어 디코더를 자동 선택하라는 것이다. 이 부분이 없으면 간혹 소프트웨어 디코딩으로 작동한다. 2023년 이후의 CPU들은 너무 강력해서 소프트웨어 디코딩을 사용해도 영상 재생은 충분히 가능하지만, 아무래도 더 많은 전력을 사용해서 랩탑의 경우 많이 뜨거워질 수 있다. 따라서 hwdec를 사용하도록 해주는게 좋다.

autofit은 창의 width pixel크기이다. 적당한 크기로 맞추면 된다. 절대값을 입력하거나 퍼센트로 입력할 수도 있다.(1600은 절대값, 90%는 상대적인 비율) 이외에 영상이 크거나 작은 경우에만 autofit을 하도록 하는 autofit-lager와 autofit-smaller도 있다.

no-border를 사용하면 깔끔해지지만 윗부분의 데코레이션 창 타이틀바 부분이 없어지므로 Super+Mouse1 혹은 Alt+Mouse1 키로 창을 잡고 이동해야 한다. 크기 조절도 border가 없으므로 모서리 근처에서 Super+Mouse2(휠 버튼) 혹은 Alt+Mouse2 버튼으로 조절해야 한다. 닫을때는 Alt-F4가 대부분 단축키로 되어있다.

subtitle을 사용하는 경우 기본적으로 자동판단이 가능하지만, 간혹 실패하는 경우 sub-codepage 설정을 잡아주면 된다. 예를 들어 sub-codepage=cp949로 지정하면 윈도우즈 한글 완성형으로 읽어온다.

이 외에 항상 모든 창의 맨 위에 두고 싶다면 ontop 옵션을 지정하면 된다.

예를 들어 아래와 ontop을 기본값으로 켤 수 있다. 실행 중에 ontop기능을 toggle하고 싶다면 T (대문자t)를 누르면 된다.  예를 들어 아래 설정은 ontop과 loop-playlist를 추가한 모습이다.

hwdec=auto
keep-open=always
geometry=50%:60%
autofit=1800

...생략...

ontop
loop-playlist=inf

 

 

1.2. input.conf 단축키 설정 파일

mpv의 단축키 설정은 input.conf 파일을 이용한다. 설정 파일의 위치는 ~/.config/mpv/input.conf 이다. 아래는 본인이 쓰는 설정이다.

Wheel_up add volume +1
Wheel_down add volume -1
w seek -30
s no-osd seek 30
a no-osd seek -10
d no-osd seek 10
e script-binding osc/visibility

 위 설정은 마우스 휠로 볼륨을 +1 하거나 -1하는 설정이 있고, w는 30초 이전, s는 30초 앞으로, a는 -10초, d는 +10초이다. e키를 누르면 OSD 화면 표시 방식을 고정하거나 숨기거나 한다.


 

2. mpv 패키지 설치 방법

혹시 mpv 설치를 못하는 경우가 있을 수 있어 간략하게 설명해둔다.

Fedora에서 mpv를 설치할 때는 다음과 같이 명령한다. (rpmfusion에 가면 원래 설치법을 볼 수 있다.)

명령은 총 2번에 걸쳐서 내린다. 첫번째는 rpmfusion repository를 추가하는 것이고, 두번째는 mpv를 설치하는 명령이다. 최근에는 설치하면서 rpmfusion이 활성화 시켜주는 옵션이 있어서 활성화 되어있다면 첫번째 명령에서 이미 설치되었다고 하면서 스킵될 것이다.

# dnf -y install https://download1.rpmfusion.org/{free/fedora/rpmfusion-free,nonfree/fedora/rpmfusion-nonfree}-release-$(rpm -E %fedora).noarch.rpm

# dnf -y install mpv

 

혹시 dnf -y install mpv가 잘 안될 때는 cache를 다시 가져오기 위해 dnf check-update 명령을 한번 내린 뒤에 하는 것도 방법이다.

만일 centos를 사용한다면 아래와 같이 명령하면 된다.

# yum -y install https://download1.rpmfusion.org/{free/el/rpmfusion-free,nonfree/el/rpmfusion-nonfree}-release-$(rpm -E %centos).noarch.rpm

# yum -y install mpv

 

2.1. mpv용 코덱 설치

mpv만 설치한다고 끝나는 것이 아니라 mpv가 사용할 코덱도 설치해야 한다. 여기서 코덱의 라이선스 문제에 대해서 잠깐 언급하도록 하겠다. 대부분의 영상 코덱은 라이선스가 복잡하게 얽혀있다. 따라서 기본으로 설치되는 코덱은 라이선스 문제를 피해가기 위해 성능에 문제가 생겼다. 즉 동영상 재생시 끊김이나 느려질 수 있다. 특히 2k나 4k같은 대용량 영상은 기본 코덱으로는 무리다.

기본 코덱은 보통 libavcode-freeworld라는 이름으로 제공되는데, rpmfusion에서 제공하므로 위에서 dnf 명령으로 rpmfusion repository를 추가한 뒤에 명령을 내릴 수 있다. (최근의 fedora에서는 설치과정에서 기본으로 활성화 되기도 한다)

하지만 아래에서 보듯이 만일 기존 다른 코덱이 있다면 충돌나서 설치가 안된다. 따라서 충돌이 발생하면 dnf -y --allowerasing install libavcodec-freeworld 으로 명령해서 설치하면 된다.

$ sudo dnf -y install libavcodec-freeworld
… 아래처럼 에러가 발생할 경우에는 --allowerasing을 추가해 주면 된다.

$ sudo dnf -y install libavcodec-freeworld --allowerasing

 

2.3. AMD, Intel, nvidia 드라이버 설치 필요

AMD 내장 그래픽이나 인텔 내장 그래픽을 사용하는 경우 추가적인 드라이버 패키지를 필요로 한다.

AMD의 경우 mesa-va-drivers-freeworld를 필요로 하는데, 간혹 gstreamer1-vaapi가 제대로 설치되지 않은 경우, 패키지 의존성에 문제가 생길 수도 있어서 gstreamer1-vaapi도 추가해야 한다.

sudo dnf in mesa-va-drivers-freeworld gstreamer1-vaapi

 

Intel의 경우 intel-media-driver 를 설치해야만 한다.

sudo dnf install intel-media-driver gstreamer1-vaapi

 

nvidia의 경우 일단 Fedora에서 드라이버가 설치되었다고 가정한다. 설치 방법은 이 블로그 어딘가에 적어두었다. 드라이버가 제대로 설치된 다음에 libva-nvidia-driver이 설치되면 된다.

sudo dnf in libva-nvidia-driver gstreamer1-vaapi

 

설치 후 동영상 가속이 되는지 확인은 동영상 플레이중에 nvtop에서 DEC(디코더)의 사용률이 올라가는지 살펴보면 된다. 참고로 nvtop은 원래 nvidia전용으로 만들었지만, 나중에 패치되어 지금은 AMD, Intel, Nvidia, Apple M칩을 모두 지원한다.

 

 


 

4. 기타

mpv를 쓰지 않고 기본으로 설치되는 동영상 프로그램인 totem도 꽤 쓸만한 편이다. 따라서 totem을 쓰고자 하는 사람들은 2.1.의 mpv용 코덱 설치 부분만 하면 되겠다. (토템은 deprecated되었다. showtime으로 대체되었다)


4.1. celluloid (mpv 프론트 엔드), showtime

mpv용 GTK 프론트 엔드는 celluloid를 주로 사용한다. 다만 celluloid를 사용하면 약간의 오버헤드가 있으므로 저성능의 데스크탑이라면 mpv를 그대로 쓰는 것을 추천한다. 그러나 최근 PC라면 거의 오버헤드를 느끼지 못할 것이다.

최근의 Fedora 43 리눅스부터는 showtime이라는 동영상 프로그램이 추가되었다. 이는 토템(totem player)를 대체해서 만들어진 프로그램으로 최신의 libadwaita기반이라서 깔끔하고 매끄럽다. 즉 Celluloid가 옛날 GTK4 방식이라고 보면 되고, showtime은 새로운 UI 스타일을 이용한 프로그램이라고 보면 된다. 내부적으로 GStreamer를 기반으로 작동하므로 시스템 기본 코덱을 사용하는데 있어서 좀 더 매끄럽다. 그렇다고 showtime이 celluloid보다 우수하고 그런건 아니고 그냥 기호식품의 차이라고 보면 된다. 일반 사용자는 showtime만으로도 대부분 문제가 없지만, mpv의 커스텀 키바인딩이나 각종 커스텀 설정을 그대로 쓰고 싶다면 celluloid를 쓰는 쪽을 추천한다.

 

이 외에 동영상을 플레이할때 앞의 2~5초 정도 음성이 나오지 않는 경우가 있을 수 있는데, 이는 절전 기능 때문에 생기는거라서 여기서 다루기는 애매하고, 다음번에 다른 글에서 다루도록 하겠다.

 

 

 

히스토리

2026-06-28 옛날 설정 방식 제거, 새로운 방식의 코덱 설치 및 드라이버 설치 부분 추가

2024-04-13 x264 항목 순서 수정, 코덱 설치 부분 추가

2018-08-19 초안

반응형
Comments