Extended Shortcode - bilibili

The bilibili shortcode embeds a responsive video player for bilibili videos.
When the video only has one part, only the BV id of the video is required, e.g.:
| |
Example bilibili input:
| |
The rendered output looks like this:
When the video has multiple parts, in addition to the BV id of the video,
p is also required, whose default value is 1, e.g.:
| |
Example bilibili input with p:
| |
The rendered output looks like this: