The input.conf configuration of the mpv player solves the problem that the arrow keys fast forward and rewind are invalid (always jump to key frames)

The key is

LEFT no-osd seek -5 exact #arrow key left back
RIGHT no-osd seek 5 exact #Direction key right forward

To write no-osd and exact, the input.conf found online are all cliches and nonsense, and these two keywords are not written.

mpv.conf

##Decoding/Rendering Settings##

#Video output driver, Windows can choose gpu/gpu-next/direct3d, etc., gpu is the most mature and stable, gpu-next is experimental, direct3d is only used when it is compatible with old system hardware
vo=gpu
#Set the hard decryption API, auto/auto-copy/no corresponds to automatic/auto-copy back to memory/soft decryption
hwdec=auto
#API used for rendering, optional auto/d3d11/opengl/vulkan
gpu-api=auto
#Try to use the hard-decoded format (default h264, vc1, hevc, vp8, vp9, av1; all is a special value referring to all formats)
#hwdec-codecs=all
When #gpu-api=d3d11 (win default api), specify the GPU to be used on the multi-GPU platform. Refer to the device manager for the GPU name. This option is identified based on the first string. If the GPU is not from the same manufacturer, there is no need to enter the full name. If using Vulkan, vulkan-device=
#d3d11-adapter=AMD
#d3d11-adapter=Intel
#d3d11-adapter=NVIDIA
#d3d11va Zero copy mode can reduce gpu 3D engine usage
#d3d11va-zero-copy=yes

##Cache Settings##

#Enable caching
cache=yes
#Maximum cache size (KiB or MiB)
demuxer-max-bytes=64MiB
#Use memory instead of disk cache
cache-on-disk=no
#caching time
#cache-secs=8

##Playing status record##

#Remember the playback status when exiting (including whether to pause, volume, playback speed, position, etc.)
save-position-on-quit
#Playing state save location
#watch-later-directory=D:\Cache\watch_later
#Do not record whether to pause (except for pause, you can write fullscreen, mute, speed, ontop and other parameters in the same way)
watch-later-options-remove=pause
#Ignore the file path when recording playback status (convenient for backup/sharing, but will affect the distinction of files with the same name)
#ignore-path-in-watch-later-config

##Window settings##

#Edge adsorption (limited to windows platform)
snap-window=yes
#High resolution screen window scaling (yes/no)
#hidpi-window-scale=no
#Rimless
#border=no
#sticky
ontop=yes
#full screen
#fullscreen=yes
#Window maintains video proportions
#keepaspect-window=no
#Keep it open after playing (yes|no|always)
#keep-open=no
#Scale the window in window mode to the largest or smallest percentage of the screen
#autofit-larger=90%x90%
#autofit-smaller=30%x30%
#Set the default window size and position (the following example is 1280x720, lower left corner of the screen)
#geometry=1280x720 + 100% + 100%

##OSD Settings##

#Close the information bar display on the screen
#osd-bar=no
#osd-bar width[1,100], percentage of screen width
osd-bar-w=100
#osd-bar height[0.1,50]Percentage of screen height
osd-bar-h=0.4
#Position [-1,1] x is from left to right, y is from top to bottom
osd-bar-align-y=1
#OSD color, RGB hexadecimal representation
osd-color="#7FFFD4"
#OSD information position, font size, border size (left/center/right, top/center/buttom)
osd-align-x=left
osd-align-y=top
osd-font-size=22
osd-border-size=2
#Set the duration of OSD text information (milliseconds) (default: 1000)
osd-duration=2000
#OSD scales with window size (yes/no)
osd-scale-by-window=no

##Video/Audio/Subtitles/Screenshot Settings##

#Read Dolby Vision metadata (need to change vo=gpu to experimental vo=gpu-next)
#vf=format:dolbyvision=yes
#colormanage
#icc-profile-auto=yes
#video sync
#video-sync=display-resample
#interpolation=yes
#Pitch correction during variable speed playback
audio-pitch-correction=yes
#Maximum speed without mute for pitch correction
#af=scaletempo2=max-speed=4
#Automatically load external subtitle files. (fuzzy loads a subtitle file containing the video file name in the same folder)
sub-auto=fuzzy
#Automatically load audio files containing video file names
#audio-file-auto=fuzzy
#Font size, this value is based on the screen with a height of 720, larger or smaller screens will scale
sub-font-size=44
#Unspecified style subtitle font
sub-font=sans-serif
#Unspecified style subtitle border
sub-border-size=2
#Force plug-in ass subtitles to use black borders
sub-ass-force-margins=yes
#Specify priority to use audio tracks (using ISO-639 language code, priority in descending order)
alang=zh,chi,chs,sc,zh-hans,en,eng
#Specify priority to use subtitle track (using ISO-639 language code, priority in descending order)
slang=zh,chi,chs,sc,zh-hans,en,eng
#List playback loop mode, N|inf|no, loop N times/always loop/no loop
loop-playlist=inf
#Start default volume
volume=90
#Program maximum volume [100,1000]
volume-max=100
#Screenshot file format (optional: jpg, jpeg, png, webp, jxl)
screenshot-format=jpg
#Screenshot file saving path
#screenshot-directory=C:\Image

##Miscellaneous##

#Disable the built-in shortcut key scheme. Compared with default, builtin does not affect the preset shortcut keys of the script.
no-input-builtin-bindings
#Turn off the built-in on-screen control On Screen Controller (OSC)
#osc=no
#Output logs to the desktop
#log-file = "~~desktop/mpv.txt"
#Record media stream to specified file
#stream-record=C:\Videos\output.mp4

##Configuration Group##
#Do not insert regular configuration between configuration groups

#Do not pin to top when paused or full screen
[ontop-playback]
profile-cond=pause or fullscreen
ontop=no
profile-restore=copy

#When the file path contains 'music', disable recording playback status and OSC resident
#[music]
#profile-cond=require 'mp.utils'.join_path(working_directory, path):match('music') ~= nil
#save-position-on-quit=no
#script-opts-add=osc-visibility=always
#profile-restore=copy

input.conf

#input.conf
MBTN_LEFT ignore #Mouse left button no operation
MBTN_LEFT_DBL cycle fullscreen #Double left click to switch to full screen
MBTN_RIGHT cycle pause #Right click to switch to pause
MBTN_MID ignore #Mouse middle button no operation
MBTN_BACK playlist-prev #Side button forward playlist previous
MBTN_FORWARD playlist-next #Side button backwards playlist next
WHEEL_UP add volume 5 #Scroll wheel up volume + 5
WHEEL_DOWN add volume -5 #Scroll wheel down volume -5
WHEEL_LEFT seek 2 #Wheel to the left and forward for 2 seconds (applicable to touchpad)
WHEEL_RIGHT seek -2 #Wheel to the right and back for 2 seconds

ESC set fullscreen no #ESC exit full screen
SPACE cycle pause #space switch pause
ENTER cycle fullscreen #Enter to switch to full screen
KP_ENTER cycle fullscreen #Enter on the small keyboard to switch to full screen

UP add volume 2 #Direction key up volume + 2
DOWN add volume -2 #Down the arrow keys volume -2
Shift + UP add volume 10 #Volume + 10
Shift + DOWN add volume -10 #volume-10
LEFT no-osd seek -5 exact #arrow key left back
RIGHT no-osd seek 5 exact #Direction key right forward
Shift + LEFT seek -60 #Go back 60 seconds
Shift + RIGHT seek 87 exact #Forward 87 seconds (with exact slower but accurate)
Ctrl + UP add audio-delay -0.1 #Audio delay-0.1
Ctrl + DOWN add audio-delay + 0.1 #Audio delay + 0.1
Ctrl + LEFT add sub-delay -0.1 #Subtitle delay-0.1
Ctrl + RIGHT add sub-delay 0.1 #Subtitle delay + 0.1
BS seek 0 absolute #Backspace return to the beginning
PGUP playlist-prev #Previous playlist
PGDWN playlist-next #Playlist next
HOME add chapter -1 #Previous chapter
END add chapter 1 #Next chapter
F8 show-text ${playlist} #F8 shows playlist
F9 show-text ${track-list} #F9 displays video, audio, and subtitle track information
F10 playlist-shuffle; show-text "playlist-shuffle" #Shuffle playlist

z set speed 1.0 #Set the playback speed to 1
x add speed -0.1 #Playback speed-0.1
c add speed 0.1 #Playback speed + 0.1
X multiply speed 0.5 #Playback speed x0.5
C multiply speed 2.0 #Playback speed x2
v frame-back-step #Previous frame
V sub-seek -1 #previous subtitle
b frame-step #next frame
B sub-seek 1 #last subtitle
n add sub-pos -1 #Subtitles move up 1
m add sub-pos + 1 #Subtitles move down 1
, add sub-scale -0.05 #Subtitles reduced by 5%
. add sub-scale + 0.05 #Subtitle enlargement 5%
/set sub-pos 100;set sub-scale 1;set audio-delay 0;set sub-delay 0 #Restore subtitle position & amp; size & amp; delay and audio delay

a cycle audio #switch audio track
s cycle sub #Switch subtitle track
d cycle sub-visibility #Switch subtitles on/off
f cycle mute #Mute on/off
g cycle ontop #top on/off
G cycle border #No border on/off
h cycle-values hwdec "auto" "no" #Switch hard solution to soft solution
j cycle deinterlace #Switch deinterlacing
k cycle-values video-aspect-override "16:9" "4:3" "2.35:1" "-1" #Cycle video ratio
l ab-loop #Set/clear A-B loop point
K cycle-values loop-file inf no #Switch file loop
L cycle-values loop-playlist inf no #Switch list loop
; script-binding osc/visibility #Switch OSC visibility (resident, hidden, automatic)
' cycle-values osd-level "1" "2" "3" #Switch OSD display level

TAB script-binding stats/display-stats-toggle #Switch statistical information on/off, 1234 can turn pages
q add brightness -1 #brightness-1
w add brightness 1 #brightness + 1
e add contrast -1 #contrast-1
r add contrast 1 #contrast + 1
t add gamma -1 #gamma-1
y add gamma 1 #gamma + 1
u add saturation -1 #saturation-1
i add saturation 1 #saturation + 1
o add hue -1 #色-1
p add hue 1 #hue + 1
[ set contrast 0; set brightness 0; set gamma 0; set saturation 0; set hue 0 #Video equalizer reset to zero
] show-text "Speed=${speed} On top=${ontop} Subtitle delay=${sub-delay} Audio delay=${audio-delay} Single loop=${loop-file} Full loop=${ loop-playlist} brightness=${brightness} contrast=${contrast} gamma=${gamma} saturation=${saturation} hue=${hue}" #Display status information
\ show-progress Show playback progress

` script-binding console/enable #Open the console and exit with ESC
1 set window-scale 0.333 #Set the window to 0.333 times the original video output
2 set window-scale 0.667 #Set the window to 0.667 times the original video output
3 set window-scale 1.0 #Set the window to the original output size of the video
4 add current-window-scale -0.1 #Reduce the window
5 add current-window-scale 0.1 #Enlarge window
6 add video-zoom -0.01 #Reduce video (log2 logarithmic ratio)
7 add video-zoom 0.01 #enlarge video
8 add panscan -0.1 #Reduce cropping
9 add panscan 0.1 #Crop video to reduce black edges
0 cycle-values "!reverse" video-rotate "no" "90" "180" "270" #Reverse cycle no rotation/90/180/270
- set video-zoom 0; set panscan 0 #Reset video zoom and cropping
 + screenshot window #With interface (OSC/OSD) screenshot
= screenshot video #Video screenshot
\t\t\t
#Media shortcut keys
POWER quit
PLAY cycle pause
PAUSE cycle pause
PLAYPAUSE cycle pause
PLAYONLY set pause no
PAUSEONLY set pause yes
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