Skip to content
/ SubX Public

A subtitle application that lets you display subtitles over presentations and control each of them independently.

License

Notifications You must be signed in to change notification settings

mhmoodlan/SubX

Repository files navigation

SubX

A subtitle application that lets you display subtitles over presentations and control each of them independently.

Build Status

TOC

  1. What is SubX ?
  2. Getting Startrd
  3. How does it work ?
  4. Built With
  5. Authors
  6. License
  7. Acknowledgments

What is SubX ?

A desktop application that can be used in events and conferences to provide subtitles/captions to the foreign audience without the need of another screen or projector also it separates the presentation control (done by the speaker) from the subtitles control (done by a staff member). SubX displays subtitls over presentations (powerpoint, etc...) without preventing the speaker from controlling his/her slides by providing a subtitle control panel that can be accessed through another computer.

Getting Started

These instructions will get you a copy of the project up and running on your local machine for development and testing purposes.

Prerequisites (Developing & installing)

First you need java (1.8+) installed on your machine,

You can check wikihow's guide on installing java on windows, mac and linux.

Or instead you can check oracle's guide 🐸

You can check if java is installed by opening a terminal ( windows, mac, linux ) and excuting the command :

java -version

This will give you the java version installed on your machine (which means you are good to go 👍) -this project was built upon java 1.8 so you may want to install the same or a newer version.

Development Environment

This is a netbeans project so if you're already using it you ready to go.

If you're using a different java IDE you can easily copy classes from scr.

How does it work ?

  1. First you need java see Prerequisites.

  2. Next download SubX

  3. Extract the SubX-vx.x.rar file and you will find the following files :

  • SubX Server.jar (the server program)
  • SubX Client.jar (the client program)
  • SubXServer.ini (the server's configuration file)
  • SubXClient.ini (the client's configuration file)
  • defaultSubtitle.txt (the subtitles file loaded by default)
  1. Subx lets you run presentation slides and display subtitles on the same screen and control each of them independently. To do that the program is divided into two parts :

    1. SubX Client : displays the subtitles. (on the same computer as the slides)

    2. SubX Server : controls the subtitles.

    description of the two parts

    Laptop vector Designed by Layerace / Freepik

    1. The first computer will display the slides and the subtitles :

      must contain SubX Client.jar and SubXClient.ini files -make sure that you put them in the SAME folder.

    2. The second computer will control the subtitle :

      must contain SubX Server.jar, SubXServer.ini and defaultSubtitle.txt files -make sure that you put them in the SAME folder.

    NOTE : controlling slides could be done by the speaker using a remote controller or by using the first computer.

  2. Connect the two parts :

    1. The two computers must be on the same network (WIFI, LAN, etc...)

    2. The Server (second computer) must have a fixed IP address keep this IP we'll need it later --see how to set a static IP for your computer on windows, mac and linux.

    3. The SubXServer,ini file would look like this :

      port = 6666
      defaultFile = defaultSubtitle.txt
      

      The port = 6666 line defines the port the server is listening to which will be used by clients to connect to the server.

      The defaultFile = defaultSubtitle.txt defines the default loaded subtitles file (you can change this to what ever subtitles file you want but make sure to put it in the same folder and apply to the subtitle file format).

    4. The client computer connects with the server by reading the host and the port values from the SubXClient.ini, example :

      host = 127.0.0.1
      port = 6666
      

      The host = 127.0.0.1 refers to the static IP address of the server (here you should replace 127.0.0.1 with your static IP defined in step ii ).

      The port = 6666 defines the port that the server is listening to. (if you changed it in the SubXServer.ini you should change it here too).

  3. After setting the IP, you can now run the SubX Server.jar on the server computer and SubX Client.jar on the client computer and you're ready to go. 🎉

IMPORTANT NOTE : To give the speaker the ability to control the slides while the SubX Client.jar is running make sure to return the focus to the slides by clicking on the presentation program (the subtitles will stay on top).

Subtitle File Format

The format is very simple put your subtitles in a plain text file (NOT a word processor) and separate every sentence you want to appear individually by a one line, example :

The first line this will appear in a separate line
The second line this also will be displayed individually
and so on...

NOTE : The subtitle bar can be customized by changing its width, height, position and font size from the server control panel.

Built With

Authors

See also the list of contributors who participated in this project.

License

This project is licensed under the MIT License - see the LICENSE.md file for details

Acknowledgments

This project was initially developed to be used in TedxMimasStreet main event to make its talks more accessible to the foreign audience.