Skip to main content

Control VLC media player via telnet from Python

Project description

televlc

                                                      ######                 
                                                ##################           
             ###                                ##    #############          
            #####                               ###################          
           #######                                       ##########          
          ********                     ############################  ****** 
         ***********                  ############################# *********
        ##*********##                ##############################  *********
       ###############   <-------->  ############                 *************
      *##############*                #########   *****************************
     *******************               ######### *****************************
     *******************                ######## ***************************  
 ####******************####                     *********                    
########***********#########                    *******************          
############################                    *************    **          
############################                     *****************
                                                      *******

Python library to control VLC media player via telnet protocol

Installation

    ~$ pip install televlc

Usage

Creating a vlc instance and interface, then connecting

    import televlc

    # Initialize the vlc object
    vlc = televlc.VLC()

    # Open a VLC instance and create the telnet interface
    vlc.start_telnet_interface()

    # Connect to the telnet interface
    vlc.connect_to_telnet_interface()

    # Run a command (volume up)
    vlc.do(["volup", "50"])

    # Disconnect from telnet interfac
    vlc.disconnect_from_telnet_interface()
    # or
    vlc.do(["exit"])
    # or end VLC instance and telnet interface
    vlc.do(["shutdown"])

Connecting to an existing vlc instance and interface

create the vlc instance and interface in the terminal

    ~$ vlc --extraintf --telnet --telnet-password myPassword --telnet-host myHost --telnet-port myPort

connect via python

    import televlc

    # Set the interface data
    PASSWORD = myPassword
    HOST = myHost
    PORT = myPort

    # Initialize the vlc object
    vlc = televlc.VLC(PASSWORD, HOST, PORT)

    # Run a command
    command = ["volup", "50"]
    vlc.do(command)

    # Quit
    vlc.disconnect_from_telnet_interface()

Commands

command description
add XYZ add XYZ to playlist
enqueue XYZ queue XYZ to playlist
playlist show items currently in playlist
search [string] search for items in playlist (or reset search)
delete [X] delete item X in playlist
move [X][Y] move item X in playlist after Y
sort key sort the playlist
sd [sd] show services discovery or toggle
play play stream
stop stop stream
next next playlist item
prev previous playlist item
goto, gotoitem goto item at index
repeat [on off] toggle playlist repeat
loop [on off] toggle playlist loop
random [on off] toggle playlist random
clear clear the playlist
status current playlist status
title [X] set/get title in current item
title_n next title in current item
title_p previous title in current item
chapter [X] set/get chapter in current item
chapter_n next chapter in current item
chapter_p previous chapter in current item
seek X seek in seconds, for instance `seek 12'
pause toggle pause
fastforward set to maximum rate
rewind set to minimum rate
faster faster playing of stream
slower slower playing of stream
normal normal playing of stream
rate [playback_rate] set playback rate to value
frame play frame by frame
fullscreen, f, F [on off] toggle fullscreen
info [X] information about the current stream (or specified id)
stats show statistical information
get_time seconds elapsed since stream's beginning
is_playing 1 if a stream plays, 0 otherwise
get_title the title of the current stream
get_length the length of the current stream
volume [X] set/get audio volume
volup [X] raise audio volume X steps
voldown [X] lower audio volume X steps
achan [X] set/get stereo audio output mode
atrack [X] set/get audio track
vtrack [X] set/get video track
vratio [X] set/get video aspect ratio
vcrop, crop [X] set/get video crop
vzoom, zoom [X] set/get video zoom
vdeinterlace [X] set/get video deinterlace
vdeinterlace_mode [X] set/get video deinterlace mode
snapshot take video snapshot
strack [X] set/get subtitle track
vlm load the VLM
description describe this module
help, ? [pattern] a help message
longhelp [pattern] a longer help message
lock lock the telnet prompt
logout exit (if in a socket connection)
quit quit VLC (or logout if in a socket connection)
shutdown shutdown VLC

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release. See tutorial on generating distribution archives.

Built Distribution

televlc-0.2-py3-none-any.whl (17.0 kB view hashes)

Uploaded py3

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Huawei Huawei PSF Sponsor Microsoft Microsoft PSF Sponsor NVIDIA NVIDIA PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page