Python VLC MediaPlayer – Setting Subtitle
In this article we will see how we can set current subtitle for media of the MediaPlayer object in the python vlc module. VLC media player is a free and open-source portable cross-platform media player software and streaming media server developed by the VideoLAN project. MediPlyer object is the basic object in vlc module for playing the video. Subtitles are text derived from either a transcript or screenplay of the dialogue or commentary in films, television programs, video games, and the like, usually displayed at the bottom of the screen, but can also be at the top of the screen if there is already text at the bottom of the screen.
In order to do this we will use
video_set_spu
method with the MediaPlayer objectSyntax : media_player.video_set_spu(id)
Argument : It takes subtitle id as argument
Return : It returns 0 on success, -1 if out of range.
Below is the implementation
# importing vlc module import vlc # importing time module import time # creating vlc media player object media_player = vlc.MediaPlayer() # media object media = vlc.Media( "death_note.mkv" ) # setting media to the media player media_player.set_media(media) # setting subtitle media_player.video_set_spu( 2 ) # setting video scale media_player.video_set_scale( 0.6 ) # start playing video media_player.play() # wait so the video can be played for 5 seconds # irrespective for length of video time.sleep( 5 ) |
Output :
Another example
Below is the implementation
# importing vlc module import vlc # importing time module import time # creating vlc media player object media_player = vlc.MediaPlayer() # media object media = vlc.Media( "1mp4.mkv" ) # setting media to the media player media_player.set_media(media) # setting video scale media_player.video_set_scale( 0.6 ) # setting subtitle media_player.video_set_spu( 2 ) # start playing video media_player.play() # wait so the video can be played for 5 seconds # irrespective for length of video time.sleep( 5 ) # getting subtitle count value = media_player.video_get_spu_count() # printing value print ( "Subtitle Count: " ) print (value) |
Output :