CLIEN

본문 바로가기 메뉴 바로가기 보기설정 테마설정
톺아보기 공감글
커뮤니티 커뮤니티전체 C 모두의광장 F 모두의공원 I 사진게시판 Q 아무거나질문 D 정보와자료 N 새로운소식 T 유용한사이트 P 자료실 E 강좌/사용기 L 팁과강좌 U 사용기 · 체험단사용기 W 사고팔고 J 알뜰구매 S 회원중고장터 B 직접홍보 · 보험상담실 H 클리앙홈
소모임 소모임전체 ·굴러간당 ·아이포니앙 ·주식한당 ·MaClien ·방탄소년당 ·일본산당 ·소시당 ·개발한당 ·자전거당 ·이륜차당 ·AI당 ·안드로메당 ·소셜게임한당 ·골프당 ·바다건너당 ·걸그룹당 ·곰돌이당 ·나스당 ·콘솔한당 ·가상화폐당 ·키보드당 ·클다방 ·패스오브엑자일당 ·리눅서당 ·퐁당퐁당 ·물고기당 ·전기자전거당 ·노젓는당 ·디아블로당 ·찰칵찍당 ·라즈베리파이당 ·3D메이킹 ·X세대당 ·ADHD당 ·AI그림당 ·날아간당 ·사과시계당 ·육아당 ·배드민턴당 ·야구당 ·농구당 ·블랙베리당 ·비어있당 ·FM당구당 ·블록체인당 ·보드게임당 ·활자중독당 ·볼링친당 ·캠핑간당 ·냐옹이당 ·문명하셨당 ·클래시앙 ·요리한당 ·쿠키런당 ·대구당 ·DANGER당 ·뚝딱뚝당 ·개판이당 ·동숲한당 ·날아올랑 ·e북본당 ·갖고다닌당 ·이브한당 ·패셔니앙 ·도시어부당 ·FM한당 ·맛있겠당 ·포뮬러당 ·젬워한당 ·안경쓴당 ·차턴당 ·총쏜당 ·땀흘린당 ·하스스톤한당 ·히어로즈한당 ·인스타한당 ·IoT당 ·KARA당 ·꼬들한당 ·덕질한당 ·어학당 ·가죽당 ·레고당 ·LOLien ·Mabinogien ·임시소모임 ·미드당 ·밀리터리당 ·땅판당 ·헌팅한당 ·오른당 ·영화본당 ·MTG한당 ·소리당 ·노키앙 ·적는당 ·방송한당 ·PC튜닝한당 ·그림그린당 ·소풍간당 ·심는당 ·품앱이당 ·리듬탄당 ·달린당 ·Sea마당 ·SimSim하당 ·심야식당 ·윈태블릿당 ·미끄러진당 ·축구당 ·나혼자산당 ·스타한당 ·스팀한당 ·파도탄당 ·테니스친당 ·테스트당 ·빨콩이당 ·공대시계당 ·여행을떠난당 ·터치패드당 ·트윗당 ·창업한당 ·VR당 ·시계찬당 ·WebOs당 ·위스키당 ·와인마신당 ·WOW당 ·윈폰이당
임시소모임
고객지원
  • 게시물 삭제 요청
  • 불법촬영물등 신고
  • 쪽지 신고
  • 닉네임 신고
  • 제보 및 기타 제안
© CLIEN.NET
공지[점검] 잠시후 서비스 점검을 위해 약 30분간 접속이 차단됩니다. (금일 18:15 ~ 18:45)

리눅서당

Screenshot
Kitty (terminal) + MPD (music) + mpv (movie) 미니멀 커스텀 설정 9

3
IPZ-721
3,606
2023-12-20 16:51:48 수정일 : 2023-12-23 16:50:46 93.♡.75.198

▌ Kitty (terminal) + MPD (music) + mpv (movie) 커스텀 설정


※용도 : AV (Audio Video, Adult Video 아님) :  livetv(mpv) + mpd(nsxiv)


  [Apps. 순서대로] pulsemixer, spt(=spotify-tui), mpv(tv card, 토랭이, 유투브), dunst(spotify coverart), tmux(--> ncmpcpp, cava), nsxiv(mpd coverart), ncspot(spotify 프리미엄 계정 필요)


- qutebrowser,  nsxiv(spootify cover), tmux(--> spt + spt )



※ 준비물:  1. 리눅스,  리눅스 패키지들        2. mpv 커스텀 : 리눅스(또는 Window OS), lua, python, shell. etc...

※가볍고 빠르다. 저사양에서 잘 돌아간다.






※ 1.  mpc + coverart 커스텀. 1-key 단축키

🔎 설치

$ sudo pacman -S kitty mpd mpc ncmpcpp ffmpeg nsxiv tmux fzf rofi
$ yay -S cava dunst-git


🔎 mpd 설정 : 생략


😀 ~/.local/bin/music 

#!/bin/bash

session="Music"
cover="/home/[user]/Music/cover_ori.png"

#mpv --profile=tv -x11-name=livetv  ~/TVChannels/my_tvheadend.m3u & >/dev/null 2>&1

if ! pidof mpd >/dev/null; then mpd; fi
[[ ! -f $cover ]] && ffmpeg -f lavfi -i color=c=red:s=320x240:d=10 -vf "drawtext=fontsize=30:box=1:boxborderw=5:boxcolor=white@0.25:fontcolor=white:x=(w-text_w)/2:y=(h-text_h)/2:text='Clien Linuxer'" $cover;

tmux -2 has-session -t $session
if [ $? -eq 0 ]; then
    tmux -2 attach -t $session
    /usr/bin/kitty --class=music-tmux --hold sh -c "tmux attach-session -t Music" & >/dev/null 2>&1
    /usr/bin/nsxiv -b -N nsxiv-mpd $cover & >/dev/null 2>&1
    exit 0
fi

tmux new-session -d -s $session
tmux set-option status off

tmux send-keys -t "$session:1" '/usr/bin/ncmpcpp' C-m
tmux split-window -t "$session:1"  -v -p 30 -d '/usr/bin/cava'

tmux new-window -t "$session:2"
tmux send-keys -t "$session:2" '~/.local/bin/notification music 2>/dev/null' C-m

tmux select-window -t "$session:1"
#tmux attach-session -t $session

/usr/bin/kitty --class=music-tmux --hold sh -c "tmux attach-session -t Music" & >/dev/null 2>&1
/usr/bin/nsxiv -b -N nsxiv-mpd $cover & >/dev/null 2>&1


😀 ~/.local/bin/notification

#!/bin/bash

MUSIC_DIR="$HOME/Music/"
ICON="$MUSIC_DIR/cover.png"
ICON2="$MUSIC_DIR/cover_ori.png"

function music
{
    while true; do
    mpc idleloop |
    while read update; do
        if [ $update == "player" ]; then
            ffmpeg -i "$MUSIC_DIR/`mpc current -f '%file%'`" -vf scale=100:-1 \
                -codec png -y $ICON >/dev/null 2>&1;
            ffmpeg -i "$MUSIC_DIR/`mpc current -f '%file%'`" -vf scale=480:-1 \
                -codec png -y $ICON2 >/dev/null 2>&1;

            # Get fields from mpc, split by tabs.
            IFS=$'\t' read album artist title \
              <<< "$(mpc --format="%album%\t%artist%\t%title%")"

            notify-send --urgency=normal --expire-time=5000 --app-name=mpd \
              --icon=$ICON "   $title" "  by  $artist"
        elif [ $update == "mixer" ]; then
            # Get volume
            vol=`mpc | tail -n1 | awk '{print $2}'`
            notify-send --urgency=low --expire-time=1000 --app-name=mpd \
              --icon=$ICON " Volume: $vol" "Mixer Changed"
        fi
        done
    done
}

case $1 in
    music)      music   ;;
    *)          exit 1  ;;
esac


😀 ~/.zshrc (or ~/.bashrc)

# fzf {{{
## mpd
fmpc() {
  local song_position
  song_position=$(mpc -f "%position%) %artist% - %title%" playlist | \
    fzf-tmux --header="♬ MPD Playlist Queue" --query="$1" --reverse --select-1 --exit-0 | \
    sed -n 's/^\([0-9]\+\)).*/\1/p') || return 1
  [ -n "$song_position" ] && mpc -q play $song_position
}


$ source ~/.zshrc


😀 ~/.config/cava/config

# The number of bars. 0 (default) sets it to auto (fil upp console).
# width of bras and space between bars in number of characters. Default witdth 3 and space 1.
bars = 0 
bar_width = 1
bar_spacing = 1


😀 ~/.config/dunst/dunstrc

[MPD]
    appname = mpd
    format = "  Mopidy\n\n  %s\n   %b"
    #new_icon = /home/nietz/Music/recover.png 
    timeout = 5


🔎 nsxiv 이미지 뷰어의 backgound 색상 변경
😀 ~/.Xresources

!! 아래 색상값은 kitty 터미널의 Dracula 테마의 "background" 색상임
*background:                    #282a36


$ xrdb -merge .~/.Xresources

 이후. 실행되는 nsxiv 백그라운드 색상은 위의 값으로 나타남.


🔎🔎 Music 실행 방법

🔎 실행 1 :  런처에서 "music" 엔터 

🔎 실행 2 :  또는, 런처에서 "kitty -e music" 엔터

🔎 실행 3 :  또는, 터미널에서  "music" 엔터   (3가지 방법 중에서 택 1)

(저의 경우 런쳐는 "rofi")

1.  drun : "mod4(=윈도우키) + o" ---> "rofi -show drun -show-icons"

2.  run : "mod4(=윈도우키) + shift + o" ---> "rofi -show run -modi 'run'"             <--  이것


🔎 실행 4: ~/.local/bin/music  파일을 WM이나 DE에서 제공하는 단축키 세팅밥법을 통해  키바인딩 , 실행 1과 같은 결과

(정리:  "윈도우키 + shift + o + music + Enter" 하면 실행 됨. 또는 1-key 단축키 바인딩 실행)


🔎 우측 화면에뜨는 "nsxiv" 의 coverart,  "kitty" 터미널의 tmux(ncmpcpp + cava) 윈도우 창은

1. WM/DM 에서 제공하는 룰을 통해 자동 배치 룰을 작성해서 화면 배치, 

2. 또는 2개의 각각의 윈도우 창을 실행 할때, --geometry  옵션을 통해 수동으로 고정

3. 또는 마우스 드래그에서 위치를 수동으로 고정.






※2.  Image Viewer

2.1. feh

 :  저의 메인. 가장 가볍고  빠릅니다.  centerFloat 모드로 실행. ranger나 lf 에서 이미지 파일 하나 선택 실행하면 동일 폴더내에 있는 모든 이미지 파일들을 플레이리스트로 만들어 줍니다.


2.2  sxiv 또는nsxiv(neo sxiv)

 :  title 모드로 실행. .일반적으로 사용하기에 가장 좋습니다.  동일 폴더 내 모든 이미지 파일들의 플레이 리스트를 만듭니다.

 이하. 폴더 recusive  모두 블러 오려면

  | ranger : "s nsxiv *" Enter

  | lf : "! nsxiv *" Enter



2-3: ucollage : https://github.com/ckardaris/ucollage

 : 터미널 이미지 뷰어. 위. nsxiv 와 비슷한 인터페이스.. but  nsxiv 에 비행 실행 속도나. 다음/이전 이미지로 이동 속도가 약간 느리다. tmux 상에서 실행하면  이미지 레이아웃 안 깨지고 자동 조절 잘 된다.

🔎 설치 : $ yay -S ucollage  ueberzugpp

🔎 실행  :  $ ucollage [이미지폴더 경로] 또는 이미지가 들가 있는 폴더 경로로 이동 후

 | ranger :  "s ucollage"  --> "Y"

 | lf : "! ucollage" --> "Y"


2-4. mpv

 : lua 스크립트와 함께 가장 강력합니다. 실시간으로 영역 지정하여 delogo, crop,  SuperResolution 업스케일링 필터, 등 온갖 필터들을 적용할 수 있습니다.

 : 간편하게 미니멀 하게 작동하지만, 그리 동작시키기 위한,  설정 방법은 방대하고 난해합니다.









4. mpv 화질 보정 커스텀 & kitty 터미널 테마 설정 [Link]

 

 4-1.  mpv 화질 보정 : filter / shader 적용

🔎 설치  : $ sudo pacman -S mpv lua python vapoursynth kitty

       (vapoursynth 프레임 보간 할려면, $ yay -S mpv-vapoursynth   이걸로 대체 설치)

🔎 REPL mpv-live-filters :  https://github.com/hdb/mpv-live-filters


😀 ~/.local/bin/tv

mpv $HOME/TVChannels/my_tvheadend.m3u --profile=tv --playlist-start=21


😀 ~/.conofig/mpv/mpv.conf
    위 영상에서 처럼 filter 체인과 custom shader 구성을 수동으로 단축키나 커맨드로 하나 하나씩 직접 입력해도 되지만. 매번 그리하기엔 귀찮으니깐.. 위 영상에서 사용한 오디오/비디오 필터 순서대로, 그리고 커스텀 세이더를 적용해서  [tv] profile 을 구성하면 해당 필터들이 아래 이미지처럼 자동 실행 됩니다. 커스텀 세이더를 사용할 꺼이기 때문에 mpv 내장 스케일링 알고리즘 옵션들은 가능한 다 꺼버립니다.

    ( tv profile :   제 하드웨어 사양에선 CPU: 15%,  GPU:: 25% 정도 먹네요 )

[tv]
#vo=gpu-next
#gpu-api=vulkan
#hwdec=vulkan
#gpu-context=x11vk
vo=gpu-next         #vo=gpu
hwdec=nvdec-copy
no-resume-playback
cache=auto
x11-name=tv
#demuxer-readahead-secs=20
af-clr
vf-clr
glsl-shaders-clr
af="lavfi=[loudnorm=I=-14:TP=-3:LRA=4]"
scale=bilinear
cscale=bilinear
dscale=bilinear
scale-antiring=0
cscale-antiring=0
dither-depth=no
correct-downscaling=no
sigmoid-upscaling=no
deband=no
vf=lavfi=graph="bwdif=mode=send_frame:parity=auto:deint=all"    #deint=interlaced
vf-add=lavfi=graph="unsharp,atadenoise"
vf-add="vapoursynth=~~/vapoursynth/NVDIA_Optical_Flow_b4c8.vpy:buffered-frames=4:concurrent-frames=8"
# Kriigbl Chroma Up/Down Scaling, then SSimDownscaler L2 pass 1
glsl-shaders="~~/shaders/krigbl.glsl:~~/shaders/ssimds.glsl"
screen=1
fs-screen=current





4-2. kitty 색상 테마 설정

 | 워우 헉. 너무 간편합니다.  먼저  아무 터미널이나 실행 한 후(근데 이왕이면 kitty 터미널이 좋겠죠? 다른 터미널은 저장이 안되는 듯)

$ kitten theme

치면,, 테마 선택 윈도우가 뜹니다. 영상에서 처럼 사용하고 싶은 테마를 선택 한 후,  1. Enter    2. m 키(Modify)  를 누르면 테마 색상 값이 변경 됩니다. 이후. 다음 kiity 실행 해 보변. 변경된 색상으로 나옵니다.

kitty 재시동 안하고, 바로 테마 파일이나 kitty 환경 설정 파일 반영할려면,   

- Reload Kitty Terminal: 단축키 : "ctrl  + shift + F5" 키를 누르면 즉각 반영됩니다.

| 테마 파일 저장 위치 :  ~/.config/kitty/current-theme.conf

| kitty 환경 설정 파일 : ~/.config/kitty/kitty.conf  (kitty 터미널창에서 "ctrl + shift + F2" 키를 누르면 해당 환경 설정 파일이 바로 열립니다.

| 심플하게 설정 해 봤습니다. 커스텀 설정 한건 딱 4부분 7라인. ㅠ.ㅠ


😀 ~/.config/kitty/kitty.conf

# BEGIN_KITTY_THEME
# Dracula
include current-theme.conf
# END_KITTY_THEME

font_family      IosevkaTerm Nerd Font Mono
obold_font       auto
italic_font      auto
bold_italic_font auto

font_size 11.0

window_margin_width 16

confirm_os_window_close 0


kitty 터미널이 요즘 대세랍니다.  설명서가 너무 잘 되어 있고, 설정 난이도가 무난한 편인거 같습니다. 근데 저는 기존 사용하던 터미널에 비해.. kitty가 처음 실행 할땍. 렉이 있고 로딩도 느리고,, 반응 속도, cli 앱들 로딩 속도도 느린게 확연히 느껴지는게 좀 갑갑하네요. font 렌더링도 흐릿하게 먼가 깨지는 부분도 있는 것 같구요





(부록) 

▌MPV + Vapoursynth_Nvdia_NVOF + Lua+ Nvdia Shader 환경 구축하기 (윈도우 OS 기준,  Linux  같은 mpv 설정 파일로 동작함)


※ Custom_mpv 설치/설정  한방팩: 3분카레임. 마우스 5번 크릭하면 완료. 아래 링크에 언급된 실시간 보간을 사용할 수 있다(rife 제외, 의미없어서 뺏음)


1. 설치: Window OS 기준 (리눅스 생략, Window 10 에서 설치 동작 확인 완료.)

mpv_custom.7z : https://drive.google.com/drive/folders/11HDjNzo6zkMeJvfeMFui3X6GuHM1mYjS?usp=sharing


1-1. 위 링크에서 mpv_custom.7z 압축 파일을 받아서 아무 폴더에 푼다. portable mpv 설치임. 압축 해제 암호: "URE-091"

압축을 풀면. "mpv\Installer" 폴더가 있음. 걸로 들어가서. 5개 파일 설치한다. 반드시 순서대로. 관리자 권한으로 실행(더블크릭한다) 설치

(mpv.exe 파일을 환경변수 path 에 등록하면 파워셀에서 실행할 경우가 있을때 유용하다)

"mpv\Vapoursynth\plugins" 폴더에 들어가면 vapousynth dll 플러그인이 여러갠 있다. -- dll 파일 전부다 복사해서 "c:\program files(x86)\vapoursnth\plugins" 폴더에다 붙여 넣으면 작동함

하나 빠드렸네요. yt-dlp.exe(구: youtubd-dl.exe) 파일을 mpv 폴더에다 넣어 주세요. mpv.exe. 파일 있는 곳


- lua 설치 파일 제외하곤, 당시 세팅/작성일자 기준(2023-04-14 일자): 전부 최신 최신 버젼의 64bit(x64)설치파일/Vapoursynth Plugin 들입니다. (mpv 는 mpv_Update 파일을 관리자 실행하면 바로 최신버젼으로 업데이트 가능할 거에요. 업데이트 추천안함.버전 올라가서 mpv 옵션값 바뀌부분 잇으면 설정값 다시 수정해줘야함)




2. 설정: 이미 다 되어 있음

mpv.conf : mpv 환경설정 파일

input.conf : mpv 단축키/우크릭 메뉴 설정 파일

3. mpv 데모/사용법 : 윈도우 탐색기에서 음악 파일이나, 영상 파일을 더블 크릭하면 mpv 로 재생된다

아래 링크의 영상이 재생되지 않는다면. 웹에서 재생, Url 재생, 다운받아서 재생

 https://drive.google.com/uc?export=download&id=1LKSBb7enkeCK1uTUdBf2Qm-EAeqcYy9j





| 필터 작동 확인 유무 : "I" 키 + "1" 번키

| Shaders 작동 확인 유무 : "I" 키 + "2" 번키

| 현재 설정된 단축키 목록 보기 : "I" + "4"


- 야동 재생에 필수 단축키 세팅

| 1, 2, 3, 4, 5: 5가지 종류 보간 필터 토글(1키고 다시 1누르면 꺼짐), 모든 적용된 비디오 필터 제거(초기화) : 6번키 or H

| 8번 : fulllscreen 토글(전제화면 모드 켜기/끄기) | 9번 : 자막 단위 역방향 이동, 0번 키: 자막 단위 정방향 이동

| F10, F1, F2 ~~~ F9 : 영상의 첫분분, 10%, 20% ~~~ 90% 구간 이동

| 스킵 재생(Seeking) : 화살표 4개(+10, -5, +60, -60 초), PGUP(+10분), PGDWN(-10분)

| 현재 적용된 모든 Shader 제거: h 키


모든 필터나, 세이더는 중첩해서 여러개 사용 할 수 있다. 실시간 화면 캡쳐 인코딩 하면서, 무거운 CPU 필터 2개 썯더니, 영상이 버벅인다. ㅠ.ㅠ. 평상시 2개는 문제 없이 실시가 재생됨(프레임 드랍, 프레임 스킵 없음)



- FHD 1080p 모니터 기준

480p, 720p 소스를 재생하면, Upscaler 가 작동하고,

4K,2160p 이상의 소스를 재생하면, Downscaler 가 작동한다. 1080p 소스를 fullscreen 재생이 아닌. 72% 정도의 윈도우 창 모드 크기로 재생해도 Downscaler 가 작동한다.


Nvida 카드인 경우 : NVScaler (업스케일러) 세이더, NVSharpen 세이더(1080p 모니터에 1080p 소스를 fullscreen 으로 재생시 작동)

AMD 카드인 경우 : SharpenCAS 세이더, AMD FidelityFX Super Resolutioin 세이더 사용


나머지 비디오 재생 옵션들 설명 생략, mpv.conf 파일 열어보면 잡다한 세팅이 많음.

[야동 480p], [야동 4K-60fps] 등등의 프로파일(=일종의 프리셋) 설정 해 놓았음


 
(2018 년에) SVPflow plugins 페이지 : https://www.svp-team.com/wiki/Manual:SVPflow 에 들어 갔을땐. svpflow1.2.so[dll] 플러그인을 다이렉트 다운받을 수가 잇었는데. 지금 들어 가보니. 페이지 옵션값 설명은 그대로 인데. 전제 SVP4 프로그램 다운페이지로 연결됨 ㅠ.ㅠ

SVP4 평가판 깔아서. svpflow1.dll, 등등 파일 추출 해서, 적용 해 놓았음


윈도우 OS 에서 SVP4 깔아 봤는데. 영상 재생하다가 좀 지나니깐 빨간색 Border가 생김,



우크릭 메뉴 Auto Corp(단축키 "C" 로 활당함) 또는 input.conf 파일의 2 3 4 5 보간 필터값에 아래 화면의 "Crop" 필터값 적용해서, 동서남북 새빨간 Border 4px 씩 날렷음



4. 4K 소스 8K 업스케일 재생시 CPU/GPU 사용율 체크

- 소스 : CAWD-266.mp4 | 20 G 정도(?) | 29.970 fps 파일

- 60 fps 변환 재생, 8K 업스케일 재생, NVScaler 세이더 적용, 화면 캡쳐 인코딩 빼면 GPU 90% 선에서 잘 돌아감

- 캡쳐 영상 : 3840p x 1080p | 60 fps | 좌측이 59.940 fps 보간 재생, 우측이 29.970 fps 원본 프레임 레이트 재생

  웹에서 미재생시(영상 로딩이 안될 시) 해당 파일: https://drive.google.com/uc?export=download&id=1GnNRxrmkIkexdMauP_gtnr6_1hMMgqXb


(누르면 이미지가 커집니다.)

4K 원본 프레임



8K 업스케일링 된 프레임 : NVidia Scaler Shader




^^^ mpv 가 재생이 잘 안될 때, 환경 설정 값 최소치 설정

가-1. mpv.conf: 환경 설정 파일 설정 예시

# this is required for Vapoursynth to "catch" the mpv
input-ipc-server=mpvpipe

# hardware video decoder
hwdec=d3d11va-copy
#hwdec=dxva-copy
hwdec-codecs=all
#hwdec-codecs="h264,hevc,vp8,vp9,av1,mpeg2video"

# may fix audio desync in come cases
hr-seek-framedrop=no

vf="vapoursynth=~~/vapoursynth/NVDIA_Optical_Flow.vpy,lavfi=[gradfun=strength=3.5:radius=16]"

profile=opengl
# high quality video output, require rather fast video card
#profile=opengl-hq

opengl-backend=angle

# "ReClock" replacement
#video-sync=display-resample
#video-sync-max-video-change=5


가-2. input.conf: mpv 단축키 키바인딩 설정 예시

1 vf toggle "vapoursynth=~~/vapoursynth/NVDIA_Optical_Flow.vpy,lavfi=[gradfun=strength=3.5:radius=16]"




※※ 야동 감상 최적화 세팅값

※ "야동-HD" Auto-Profile(프리셋)

| CPU: Ryzen 2700X | GPU: Nvidia GTX 1660 Super 기준 아래 Profile 은 Idle 대비 CPU 50%, GPU 45% 정도의 점유율은 먹는다. 프레임 드롭/프레임 스킵/A-V Desyc 가 발생하지 않는 셋팅값

| mpv.conf

# Auto Profile : Video file, 720p ~ 1080p,  29.970fps ~ 59 fps source, "블라블라/Jav/블라블라" 폴더
[야동-HD]
#profile-desc=cond:get('width', -math.huge) <= 1920 and get('container-fps', 0) <=59
profile-cond=width >=720 and width <= 1920 and fps <=59 and require 'mp.utils'.join_path(working_directory, path):match('/jav/') ~= nil and duration >= 600
af-clr
vf-clr
glsl-shaders-clr
input-ipc-server=/tmp/mpvsocket
hr-seek-framedrop=no
vo=gpu,tct
gpu-api=auto
gpu-context=auto
hwdec=cuda-copy
hwdec-codecs="h264,hevc,vp8,vp9,av1,mpeg2video"     # vc1(wmv) 코덱, 녹색 스크린, 하드웨어 디코딩 에러남.
profile=gpu-hq
scale=ewa_lanczossharp  # mpv 내장 스케일러 : gpu 사용량 높음
cscale=ewa_lanczossoft
dscale=mitchell
cscale=ewa_lanczos
scaler-resizes-only
scale-antiring=0.7
cscale-antiring=0.7
dither-depth=auto
correct-downscaling=yes
sigmoid-upscaling=yes
deband=no      #deband=yes      # 아래 f3kdb vapursynth deband 로 대체함
tscale=sphinx
tscale-blur=0.6991556596428412
tscale-radius=1.05              #lower (e.g. 0.955) = sharper; higher (e.g. 1.005) = smoother
tscale-clamp=0.0
override-display-fps=60
video-sync=display-resample
af="lavfi=[loudnorm=I=-14:TP=-3:LRA=4]"
af-add='dynaudnorm=g=5:f=250:r=0.9:p=0.5'
vf="vapoursynth=~~/vapoursynth/NVDIA_Optical_Flow_b4c8.vpy:buffered-frames=4:concurrent-frames=8,vapoursynth=~~/vapoursynth/flash3kyuu.vpy"
glsl-shader="~~/shaders/krigbl.glsl"     # Chroma Up/Down Scaling, KrigBilateral Downscaling Y pass 1
glsl-shader="~~/shaders/NVSharpen.glsl"    # NVIDIA Image Scaling v1.0.2 - Sharpen
glsl-shader="~~/shaders/NVScaler.glsl"     # NVIDIA Image Scaling v1.0.2 - Scaler
glsl-shader="~~/shaders/ssimds.glsl"     # SSimDownscaler L2 pass 1

[야동-예고편]
profile-cond=require 'mp.utils'.join_path(working_directory, path):match('dmm.co.jp') ~= nil
profile="야동-HD"
vf-clr
glsl-shaders-clr
vf="vapoursynth=~~/vapoursynth/NVDIA_Optical_Flow_b4c8_480p.vpy:buffered-frames=4:concurrent-frames=8,vapoursynth=~~/vapoursynth/flash3kyuu.vpy"
#glsl-shaders="~~/shaders/krigbl.glsl:~~/shaders/ssimsr.glsl:~~/shaders/FSR.glsl:~~/shaders/adasharp.glsl"
#glsl-shaders="~~/shaders/F8.glsl:~~/shaders/krigbl.glsl:~~/shaders/ssimsr.glsl:~~/shaders/ssimds.glsl"
#glsl-shaders="~~/shaders/ravu_L_r4.hook:~~/shaders/krigbl.glsl:~~/shaders/ssimsr.glsl:~~/shaders/ssimds.glsl"
glsl-shaders="~~/shaders/F8.glsl:~~/shaders/krigbl.glsl:~~/shaders/FSR.glsl:~~/shaders/ssimsr.glsl:~~/shaders/ssimds.glsl:~~/shaders/NVSharpen.glsl"


- 로직 : GPU롤 하드웨어 디코딩 한 후, Vapoursynth NVOF로 60fps 보간 하고, Vapoursynth fd3kdb 16bit 디벤딩 필터를 적용 한다. 영상 관련 스케일링 알고리즘은 고품질로 다 때려 박았다. 이 후 각종 Shaders 들을 적용 하였다

| vf=Video filter : mpv 내장 필터(deband, sharpen, denoise, deinterlace 등등), 외부 lavfi(=ffmpeg 외장 필터), 외부 vapoursynth 필터등을 적용 할 수 잇다. 필터 중첩 적용,필터 무한 확장이 가능하다.

| af=Audio filter : 오디오 Normalize 증폭 하였다. MVSD-541 품번의 시작 부분의 "카나 줌마의 배추 씻는 소리가 잘 들리고, 홍콩 가는 소리가 잘 들리는 것 같다.

| profile-cond=width >=720 and width <= 1920 and fps <=59 and require 'mp.utils'.join_path(working_directory, path):match('/jav/') ~= nil and duration >= 600

   * 옵션 설명

     본인의 야동 모으는 폴더는 "/mnt/jav" 야동 파일은 "/mnt/jav/품번/품번.mp4", 본인의 야동 받는 토랭이 폴더는 "/run/media/user/External_HDD/jav/Studio/제작사" 이다.

     2군데 폴더의 공통점은 경로명에 "jav" 가 들어간다는 것. 따라서 2군데의 영상 파일들을 재생한다면

     "/mnt/jav/MVSD-542.mp4" "/run/media/nietz/External_HDD/Jav/Studio/M s Video Group/MVSD-541.mp4" 파일이며, 파일의 절대 경로에는 jav 가 들어 간다. 리눅스 OS인 경우 폴더 구분자 "/jav/", Winidow OS 인 경우 "\\jav\\"

     따라서,

1. 절대경로 파일명에 "jav' 가 들어가며, 해상도는 가로 1280p 보다 크거나 같고, 가로 1920p 보다 작거나 같으며,, 프레임 레이트는 59fps 보다 작으면 "야동-HD" profile 이 실행 된다.

HD: 1280x720p | FHD: 1920x1080p | 29.970 fps, 30 fps 가 여기에 해당 된다.

--- 59.940 fps, 60fps 는 조건보다 크므로 해당 파일은 이 Profile로 실행 되지 않는다., 480p, 4K 파일도 위 조건을 벗어나므로 해당 영상은 이 Profile 이 적용 되지 않는다.

duration : 런타임 재생시간 600초=10분 보다 클 경우. 이미지들은 duration=0, gif, webp, mp3, flac, m4a 등은 10분 보다 작으므로 이 Profile 이 적용 되지 않느다.

영화/드라마/애니메이션 모으는 사람들은 "영화" 폴더, "드라마" 폴더, "애니메이션" 폴더에 아래에 관련 영상들을 모을 것이다.

위. "profile-cond" 조건을 위와 유사하게 설정하여. 해당 영상의 Auto-Profile 를 적용 할 수 잇다. 애니메이션이면, 애니메이션 전용 shader 들을 적용하고, 드라마면 60fps 보간하고, 고품질 세이더 적용하고, 영화 파일이면, 24fps 고정하고, 프레임 보간 하지 않고, 고품질 세이더만 적용 하는 식으로.

보인의 CPU, GPU 사양을 고려하여, 실시간 재생이 부드럽게 되는 세팅 값을,, 모든 종류의 영사들에 자동으로 적용 할 수 있다.

10개에서 15개 정도의 Auto-Profile 을 조건 지정 하여, 영상 옵션들을 세부적으로 다 다르게 지정하여... 모든 종류의 영상들을 최적의 값으로 자동으로 세팅하여, 재생이 가능하게 된다.


[야동-예고편]

profile-cond=require 'mp.utils'.join_path(working_directory, path):match('dmm.co.jp') ~= nil

profile="야동-HD"


야동 예고편 주소는 "https://시시삼공공일.다무무.co.제피/litevideo/freepv/h/h_2/h_237nacr549/h_237nacr549_dmb_w.mp4" 이렇다. 영상 경로에 다무라.xx.xx 가 들어간다.

따라서, profilee-cond는 match('dmm.co.jp')

profile="야동-HD" 라고 기재해서 "야동-HD" 영상 옵션들을 그대로 상속해서 똑같이 사용한다.

그러나 예고편 주소는 해상도가 "720x404p" SD 해상도이다. NVOP vapoursynth 스크립트에서 HD, FHD, 4K 해상도는 nvof_blk = 16 값을 사용하고, SD 해상도는 nvof_blk = 8 값을 사용한다.

또한 FHD 해상도 모니터에서 SD 소스를 재생하므로, Upscaling 이 많이 발생한다.

따라서, vf-clf, glsl-shaders-clr 옵션으로, 기 적용 된 비디오 필터들과 Shader들을 전부 초기화 한 후, SD 해상도에 많는 필터들과, shader 들을 적용 하여야 한다.



mpv는 인자를 절달하여. 외부 프로그램을 실행시키는 것이 가능하다

- input.conf

ctrl+i run "/bin/sh" "-c" "jt ${filename/no-ext} mpris"; run "/bin/sh" "-c" "dunsty_jav.sh ${filename/no-ext}"

| ${filename/no-ext} :  확장자를 제외, 실제 파일 이름을 의미한다.

| ex. 실제 파일 이름이 "hhd800@JUQ-266.mp4" 인 경우, ${filename}=hhd800@JUQ-266.mp4, ${filename/no-ext}=hhd800@JUQ-266


※ 유용한 링크

1. Anime4K : A High-Quality Real Time Upscaler for Anime Video https://github.com/bloc97/Anime4K


Optimized shaders for higher-end GPU:

(Eg. GTX 1080, RTX 2070, RTX 3060, RX 590, Vega 56, 5700XT, 6600XT)
If upscaling to resolutions smaller than 4K, lower end GPUs can be used.

CTRL+1 no-osd change-list glsl-shaders set "~~/shaders/Anime4K_Clamp_Highlights.glsl:~~/shaders/Anime4K_Restore_CNN_VL.glsl:~~/shaders/Anime4K_Upscale_CNN_x2_VL.glsl:~~/shaders/Anime4K_AutoDownscalePre_x2.glsl:~~/shaders/Anime4K_AutoDownscalePre_x4.glsl:~~/shaders/Anime4K_Upscale_CNN_x2_M.glsl"; show-text "Anime4K: Mode A (HQ)"
CTRL+2 no-osd change-list glsl-shaders set "~~/shaders/Anime4K_Clamp_Highlights.glsl:~~/shaders/Anime4K_Restore_CNN_Soft_VL.glsl:~~/shaders/Anime4K_Upscale_CNN_x2_VL.glsl:~~/shaders/Anime4K_AutoDownscalePre_x2.glsl:~~/shaders/Anime4K_AutoDownscalePre_x4.glsl:~~/shaders/Anime4K_Upscale_CNN_x2_M.glsl"; show-text "Anime4K: Mode B (HQ)"
CTRL+3 no-osd change-list glsl-shaders set "~~/shaders/Anime4K_Clamp_Highlights.glsl:~~/shaders/Anime4K_Upscale_Denoise_CNN_x2_VL.glsl:~~/shaders/Anime4K_AutoDownscalePre_x2.glsl:~~/shaders/Anime4K_AutoDownscalePre_x4.glsl:~~/shaders/Anime4K_Upscale_CNN_x2_M.glsl"; show-text "Anime4K: Mode C (HQ)"
CTRL+4 no-osd change-list glsl-shaders set "~~/shaders/Anime4K_Clamp_Highlights.glsl:~~/shaders/Anime4K_Restore_CNN_VL.glsl:~~/shaders/Anime4K_Upscale_CNN_x2_VL.glsl:~~/shaders/Anime4K_Restore_CNN_M.glsl:~~/shaders/Anime4K_AutoDownscalePre_x2.glsl:~~/shaders/Anime4K_AutoDownscalePre_x4.glsl:~~/shaders/Anime4K_Upscale_CNN_x2_M.glsl"; show-text "Anime4K: Mode A+A (HQ)"
CTRL+5 no-osd change-list glsl-shaders set "~~/shaders/Anime4K_Clamp_Highlights.glsl:~~/shaders/Anime4K_Restore_CNN_Soft_VL.glsl:~~/shaders/Anime4K_Upscale_CNN_x2_VL.glsl:~~/shaders/Anime4K_AutoDownscalePre_x2.glsl:~~/shaders/Anime4K_AutoDownscalePre_x4.glsl:~~/shaders/Anime4K_Restore_CNN_Soft_M.glsl:~~/shaders/Anime4K_Upscale_CNN_x2_M.glsl"; show-text "Anime4K: Mode B+B (HQ)"
CTRL+6 no-osd change-list glsl-shaders set "~~/shaders/Anime4K_Clamp_Highlights.glsl:~~/shaders/Anime4K_Upscale_Denoise_CNN_x2_VL.glsl:~~/shaders/Anime4K_AutoDownscalePre_x2.glsl:~~/shaders/Anime4K_AutoDownscalePre_x4.glsl:~~/shaders/Anime4K_Restore_CNN_M.glsl:~~/shaders/Anime4K_Upscale_CNN_x2_M.glsl"; show-text "Anime4K: Mode C+A (HQ)"

CTRL+0 no-osd change-list glsl-shaders clr ""; show-text "GLSL shaders cleared"


2. MPV: User Script:https://github.com/mpv-player/mpv/wiki/User-Scripts


3. Mathematical evaluation of various scalers - My config uses the best scalers/settings from this analysis. https://artoriuz.github.io/blog/mpv_upscaling.html


4. mpv Configuration Guide for Watching Videos by Kokomins : https://kokomins.wordpress.com/2019/10/14/mpv-config-guide/


5. mpv.conf guide by iamscum : https://iamscum.wordpress.com/guides/videoplayback-guide/mpv-conf/


6. uosc : Feature-rich minimalist proximity-based UI for MPV player

https://github.com/tomasklaen/uosc

lua script 로 동작하는 mpv 커스텀/미니멀리즘 UI. 구드 파일 custom_mpv.7z 파일에 이미 적용 시켜 놓음






이거이 리눅스 미니멀 AV 설정 팁이였습니다. 넷북에서도 잘 돌아갑니다. 긴 글 읽어 주셔서 감사합니다.  


출처 : Madonna
IPZ-721 님의 게시글 댓글
  • 주소복사
  • Facebook
  • X(Twitter)
댓글 • [9] 을 클릭하면 간단한 회원메모를 할 수 있습니다.
진짜메뚜기
IP 112.♡.22.242
12-20 2023-12-20 18:11:08
·
닉네임에 어울리는 스샷들 잘 봤습니다
IPZ-721
IP 139.♡.219.146
12-21 2023-12-21 15:53:04
·
@진짜메뚜기님
이거이 진정한 닉값인가요? 야시시한 스샷 알흠다운 세상..
Realtime
IP 75.♡.158.112
12-20 2023-12-20 23:24:12
·
분명 처음엔 건전하게 시작 했는데
어느 순간 정신 차리고 보니…. 아차!
IPZ-721
IP 139.♡.219.146
12-21 2023-12-21 15:54:30
·
@Realtime님
믿음, 사랑, 소망! 저는 믿음을 배신하지 않습니다.
' 아차 에서 점하나를 빼면 그거이 아치 ~~ 아치! 룰루라라 !! '
sephid86
IP 58.♡.5.87
12-21 2023-12-21 01:00:33
·
출처를 보니 확실히 신뢰가 갑니다.
IPZ-721
IP 139.♡.219.146
12-21 2023-12-21 15:57:20
·
@sephid86님
전설적인 영화가 출품되었습니다. 2023-12-26
「세계 제일 호화로운 기념작! ! 마돈나 20주년 기념 탕연무 ** ** 무제한 사상 첫 ALL 전속 버스 투어! ! 전편 4시간 OVER 2장조! ! 」
- JUQ-오일공 - by Madonna
sephid86
IP 58.♡.5.87
12-22 2023-12-22 00:07:33
·
@IPZ-721님
리눅서당의 전설적인 분께서 추천해주시는 전설적인 작품 전설적으로 감사합니다
3G이용자
IP 210.♡.132.153
12-23 2023-12-23 20:11:37
·
터미널에서 야동을 틀기 위해 저렇게 방대한 설정과 노력이 들어가다니...
존경합니다.
IPZ-721
IP 125.♡.235.177
12-24 2023-12-24 17:33:33
·
@3G이용자님
첨엔 영화/드라마 편하게 볼라꼬 시작한 10라인 정도의 세팅파일이, 오랜 시간이 흐르니. 몇만 라인 이상의 세팅 파일들이 되어버렸네요. 설정하는 김에 겸사 겸사 야동 팁도 ㅎㅎㅎ
새로운 댓글이 없습니다.
이미지 최대 업로드 용량 15 MB
업로드 가능 확장자 jpg,gif,png,jpeg,webp
지나치게 큰 이미지의 크기는 조정될 수 있습니다.
목록으로
글쓰기
목록으로 댓글보기 이전글 다음글
아이디  ·  비밀번호 찾기 회원가입
이용규칙 운영알림판 운영소통 재검토요청 도움말 버그신고
개인정보처리방침 이용약관 책임의 한계와 법적고지 청소년 보호정책
©   •  CLIEN.NET
보안 강화를 위한 이메일 인증
안전한 서비스 이용을 위해 이메일 인증을 완료해 주세요. 현재 회원님은 이메일 인증이 완료되지 않은 상태입니다.
최근 급증하는 해킹 및 도용 시도로부터 계정을 보호하기 위해 인증 절차가 강화되었습니다.

  • 이메일 미인증 시 글쓰기, 댓글 작성 등 게시판 활동이 제한됩니다.
  • 이후 새로운 기기에서 로그인할 때마다 반드시 이메일 인증을 거쳐야 합니다.
  • 2단계 인증 사용 회원도 최초 1회는 반드시 인증하여야 합니다.
  • 개인정보에서도 이메일 인증을 할 수 있습니다.
지금 이메일 인증하기
등록된 이메일 주소를 확인하고 인증번호를 입력하여
인증을 완료해 주세요.