Mpv: support high speed playback without skipping

Created on 29 Jan 2019  路  4Comments  路  Source: mpv-player/mpv

mpv version and platform

platform
Linux aarch 4.19.2-arch1-1-ARCH #1 SMP PREEMPT Tue Nov 13 21:16:19 UTC 2018 x86_64 GNU/Linux
version

[cplayer] Command line options: '--v'
[cplayer] mpv 0.29.1 Copyright 漏 2000-2018 mpv/MPlayer/mplayer2 projects
[cplayer]  built on Thu Nov 15 11:19:15 CET 2018
[cplayer] ffmpeg library versions:
[cplayer]    libavutil       56.22.100
[cplayer]    libavcodec      58.35.100
[cplayer]    libavformat     58.20.100
[cplayer]    libswscale      5.3.100
[cplayer]    libavfilter     7.40.101
[cplayer]    libswresample   3.3.100
[cplayer] ffmpeg version: n4.1
[cplayer]
[cplayer] Configuration: ./waf configure --prefix=/usr --confdir=/etc/mpv --enable-cdda --enable-dvb --enable-dvdnav --enable-libarchive --enable-libmpv-shared --enable-libsmbclient --enable-tv --enable-zsh-comp
[cplayer] List of enabled features: 52arch alsa asm atomics audio-input build-date caca cdda cplayer cplugins cuda-hwaccel debug-build drm drmprime dvbin dvdnav dvdread-common egl-drm egl-helpers egl-x11 fchmod ffmpeg ffnvcodec gbm gbm.h gl gl-wayland gl-x11 glibc-thread-name glob glob-posix gnuc gpl iconv jack jpeg lcms2 libaf libarchive libass libass-osd libav-any libavcodec libavdevice libbluray libdl libm libmpv-shared librt libsmbclient libv4l2 linux-fstatfs lua optimize oss-audio plain-gl posix posix-or-mingw posix-spawn posix-spawn-native pthreads pulse rubberband shaderc shaderc-shared stdatomic tv tv-v4l2 uchardet vaapi vaapi-drm vaapi-egl vaapi-glx vaapi-wayland vaapi-x-egl vaapi-x11 vdpau vdpau-gl-x11 videodev vt.h vulkan wayland wayland-protocols x11 xv zlib zsh-comp
[cplayer] Reading config file /etc/mpv/encoding-profiles.conf
[ifo] Opening /home/user/.config/mpv/input.conf
[ifo_dvdnav] Opening /home/user/.config/mpv/input.conf
[bdmv/bluray] Opening /home/user/.config/mpv/input.conf
[file] Opening /home/user/.config/mpv/input.conf
[input] Parsing input config file /home/user/.config/mpv/input.conf
[input] Input config file /home/user/.config/mpv/input.conf parsed: 15 binds
[cplayer] mpv 0.29.1 Copyright 漏 2000-2018 mpv/MPlayer/mplayer2 projects
[cplayer]  built on Thu Nov 15 11:19:15 CET 2018
[cplayer] ffmpeg library versions:
[cplayer]    libavutil       56.22.100
[cplayer]    libavcodec      58.35.100
[cplayer]    libavformat     58.20.100
[cplayer]    libswscale      5.3.100
[cplayer]    libavfilter     7.40.101
[cplayer]    libswresample   3.3.100
[cplayer] ffmpeg version: n4.1
[cplayer]
[cplayer] Usage:   mpv [options] [url|path/]filename
[cplayer]
[cplayer] Basic options:
[cplayer]  --start=<time>    seek to given (percent, seconds, or hh:mm:ss) position
[cplayer]  --no-audio        do not play sound
[cplayer]  --no-video        do not play video
[cplayer]  --fs              fullscreen playback
[cplayer]  --sub-file=<file> specify subtitle file to use
[cplayer]  --playlist=<file> specify playlist file
[cplayer]
[cplayer]  --list-options    list all mpv options
[cplayer]  --h=<string>      print options which contain the given string in their name
[cplayer]
[ytdl_hook] script-opts/ytdl_hook.conf not found.
[ytdl_hook] lua-settings/ytdl_hook.conf not found.
[ytdl_hook] Exiting...
[stats] script-opts/stats.conf not found.
[stats] lua-settings/stats.conf not found.
[stats] Exiting...
[osc] script-opts/osc.conf not found.
[osc] lua-settings/osc.conf not found.
[osc] Exiting...

Reproduction steps

play video/audio of speech

Expected behavior

play video at high playback speed without skipping/cutting, like Chromium does.
you can try it by using this extension.

Actual behavior

it cuts/skips milliseconds of audio,
it's very hard to understand speech at high speed when syllables are cut out.

Most helpful comment

Did you try --af=rubberband?

All 4 comments

Did you try --af=rubberband?

Thanks that worked! you can't know that by RTFM/D, similar issues or the wiki.
here's my mpv.conf

profile=gpu-hq
scale=ewa_lanczossharp
cscale=ewa_lanczossharp
video-sync=display-resample
interpolation
tscale=oversample
af=rubberband

the other ones are all the high quality configs I copied from the Arch Wiki.

since the time I got it to work, I've noticed that there's some (reverb I think it's called?), how can I remove it? Chromium's has none no matters how high the video playback speed is.

Chromium is open-source. You are free to port the algorithm to mpv. This issue is then a duplicate of #4418.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

laichiaheng picture laichiaheng  路  3Comments

ww7 picture ww7  路  3Comments

szg0000 picture szg0000  路  3Comments

SPDurkee picture SPDurkee  路  3Comments

paper9oll picture paper9oll  路  3Comments