Portál AbcLinuxu, 6. května 2025 16:29

Dotaz: mpv a obrázek

6.3.2022 14:08 jejda | skóre: 25 | blog: jejda
mpv a obrázek
Přečteno: 533×
Odpovědět | Admin
Ahojte! Používám mpv nejenom jako přehrávač videa a zvuku ale taky jako prohlížeč obrázků. Smysl je ten, že když pošlu mpv přehrát adresář kde jsou typy souborů všeho druhu, tak aby mpv přehrál/zobrazil vše co umí podle definovaných pravidel. Animované obrázky ve smyčce, statické zobrazil na deset sekund. Vytvořil jsem na to takové profily:
[image-static]
profile-cond=audio_codec == nil and container_fps == 1
profile-restore=copy
image-display-duration=10
sub-auto=no
audio-file-auto=no
interpolation=no

[image-gif]
profile-cond=get("file-format", nil) == "gif"
profile-restore=copy
sub-auto=no
audio-file-auto=no
loop-file=inf
Takto to jakžtakž funguje ale občas se mi stane, že některé statické obrázky to zobrazí jenom na zlomek sekundy místo deseti sekund. Obrázek
mpv --no-config --vo=x11 --image-display-duration=10 PB030539.JPG
 (+) Video --vid=1 (mjpeg 2560x1920 1.000fps)
[vo/x11] Warning: this legacy VO has bad performance. Consider fixing your graphics drivers, or not forcing the x11 VO.
VO: [x11] 2560x1920 yuvj422p
VO: [x11] 640x480 yuvj422p
V: 00:00:00 / 00:00:00 (100%)

Exiting... (End of file)
Jenom to problikne a zmizí.
mpv --vo=x11 --keep-open=yes PB030539.JPG
 (+) Video --vid=1 (mjpeg 2560x1920 1.000fps)
[vo/x11] Warning: this legacy VO has bad performance. Consider fixing your graphics drivers, or not forcing the x11 VO.
[auto_profiles] Applying auto profile: image-static
VO: [x11] 2560x1920 yuvj422p
V: 00:00:00.000 / 00:00:00.040 (0%)
[>---------------------------------------------------------------------------------------------------]
VO: [x11] 640x480 yuvj422p
V: 00:00:00.040 / 00:00:00.040 (100%)
[###################################################################################################>]


problikne jeden veliký a zapauzuje se to na 640x480. Nevím proč to ukazuje rozlišení dvakrát, pokaždé jinačí. Je chyba v tom obrázku nebo v mpv? Nebo jak upravit ty profily aby se to chovalo aspoň trochu inteligentně?
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

6.3.2022 14:27 X
Rozbalit Rozbalit vše Re: mpv a obrázek
Odpovědět | | Sbalit | Link | Blokovat | Admin
Problikne to protoze se to snazi prehrat jako video. Tady to bude mozna lepsi profil.
6.3.2022 19:16 jejda | skóre: 25 | blog: jejda
Rozbalit Rozbalit vše Re: mpv a obrázek
To je zvláštní, že mi to dělá jenom u několika málo specifických obrázků. Používám ten stejný konfigurák už několik let a nikdy to nezlobilo, až teď. Dám to sem celé.
# mpv configuration

# terminal
term-osd=auto
term-osd-bar=yes
term-osd-bar-chars="[#>-]"

# log
#msg-level=vfilter=6:afilter=6:identify=6
msg-level=all=status
screenshot-format=png
screenshot-high-bit-depth=no
script-opts=osc-timems=yes,stats-duration=12,stats-plot_perfdata=yes
script-opts-append=ytdl_hook-ytdl_path=yt-dlp

# playback
hr-seek=yes
keep-open=yes
keep-open-pause=no
save-position-on-quit=no
resume-playback=no

# GUI
force-window=yes
geometry=50%:50%
#autofit=100%x100%
autofit-larger=100%x100%
autofit-smaller=480x480
stop-screensaver=yes
keepaspect=yes

# video
vo=x11

# audio
#ao=pulse
audio-channels=2
alang=slk,pol,jpn,kor,rus,eng,ces,cze
volume=80
volume-max=150
audio-normalize-downmix=no
audio-file-auto=fuzzy

# subtitles
#sub-auto=fuzzy
sub-auto=all
sub-ass=no
slang=cze,ces,slk,slo,pol,eng
sub-codepage=cp1250
sub-scale=1.1
sub-border-color="#000000"
sub-border-size=9
sub-blur=4
#sub-back-color="#333333"
embeddedfonts=no
stretch-image-subs-to-screen=no

# OSD
#osd-font-provider=auto
#osd-font="Luxi Mono"
osd-scale=1
osd-level=1
#osd-playing-msg='${working-directory}/${filename}\n${file-size}'
osd-playing-msg='${stream-open-filename}\n${file-size}'
osd-duration=5000
osd-fractions=yes
osd-msg3='${estimated-frame-number} / ${estimated-frame-count}'

# profiles
[big-cache]
cache=yes
demuxer-seekable-cache=yes
demuxer-max-bytes=10737418240 # 10GB
demuxer-max-back-bytes=10737418240
cache-on-disk=yes
cache-dir=/tmp
cache-unlink-files=whendone # immediate/whendone/no

[image-static]
profile-cond=audio_codec == nil and container_fps == 1
profile-restore=copy
image-display-duration=10
sub-auto=no
audio-file-auto=no
interpolation=no

[image-gif]
profile-cond=get("file-format", nil) == "gif"
profile-restore=copy
sub-auto=no
audio-file-auto=no
loop-file=inf

[protocol.https]
ytdl-format=bestvideo[vcodec^=avc][fps<=30][height<=600]+bestaudio/best[vcodec^=avc][height<=600]/best[height<=600]/best
profile=big-cache

[protocol.http]
profile=protocol.https

[pyradio]
volume=50

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.