This is a modified version of the player example that comes with PyQt5. The program has been modified to support subtitle (.srt) file creation with a (hopefully) self-explanatory UI.
Numpad (with NumLock enabled) is rewired to provide easy controls:
5: Play/Pause
4: Pause and step backward (custom millisecond amount)
6: Pause and step forward (custom millisecond amount)
7: Pause and mark current position as start
9: Pause and mark current position as end
2: Add subtitle text at currently marked start and end positions to the queue
8: Move to position marked as start and start playing
1: Move to nearest previous subtitle (within 10 s) and start playing
You can also use keys A, S, D, F, E, O to control the interface.
The control surface is toggled by pressing Ctrl + Tab.
D: Play/Pause
A: Pause and step backward (custom millisecond amount)
F: Pause and step forward (custom millisecond amount)
S: Pause and mark current position as start
E: Pause and mark current position as end
O: Add subtitle text at currently marked start and end positions to the queue
W: Move to position marked as start and start playing
Q: Move to nearest previous subtitle (within 10 s) and start playing