On Android, there are separate volume channels for ringtone + notification, media, alarm. etc.
- Media volume: Music, videos, games, other media
- Call volume: Volume of the other person during a call
- Ring volume: Phone calls, notifications
- Alarm volume
When you set the volume to vibrate, most likely it only sets ringtone + notification to vibrate but doesn't change other volume channels. This is because pressing the volume up/down button will only change the volume for the active audio stream.
By default, pressing the volume control modifies the volume of the active audio stream. If your app isn't currently playing anything, hitting the volume keys adjusts the music volume (or the ringer volume before Android 9).
To watch the video on mute, you need to manually adjust the volume for media to 0 too.