Skip to content
Related Articles

Related Articles

Improve Article

Python VLC MediaPlayer – Setting Subtitle

  • Last Updated : 18 Aug, 2020

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 object

Syntax : 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 :

 Attention geek! Strengthen your foundations with the Python Programming Foundation Course and learn the basics.  

To begin with, your interview preparations Enhance your Data Structures concepts with the Python DS Course. And to begin with your Machine Learning Journey, join the Machine Learning – Basic Level Course




My Personal Notes arrow_drop_up
Recommended Articles
Page :