Coder Social home page Coder Social logo

manifestinteractive / teleprompter Goto Github PK

View Code? Open in Web Editor NEW
302.0 18.0 107.0 898 KB

Browser-based TelePrompter with Remote Control

Home Page: https://promptr.tv

License: Other

CSS 14.62% JavaScript 67.23% HTML 17.99% Dockerfile 0.16%
teleprompter remote-control browser-based text-editor local-storage open-source

teleprompter's Introduction

Project Support

If you or your company enjoy using this project, please consider supporting my work and joining my discord. 💖

Become a GitHub Sponsor Become a Patreon Sponsor Donate via PayPal Join Discord Community


TelePrompter

Browser-based TelePrompter with Remote Control

Screenshot

Features

  • Edit Text in Browser
  • Changes Saved Automatically
  • Handy Keyboard Shortcuts
  • Advanced Controls
  • Remote Control Support

Free to Use

Our Open Source TelePrompter is Available Online:

Launch

Keyboard Shortcuts

Key Alternatives Description
Increase Font Size
Decrease Font Size
PAGE UP Slow Down Teleprompter
PAGE DOWN Speed Up Teleprompter
SPACE B F5 . Start / Stop Teleprompter
ESC Resets GUI

We also made an effort to make sure your text will be easy to read. So if you are pasting text from a word document, we'll do some cleaning up to make the breaks flow more easily.

teleprompter's People

Contributors

dependabot[bot] avatar hemilioaraujo avatar manifestinteractive avatar mcoms avatar peter-schmalfeldt avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

teleprompter's Issues

[Bug]: Font size not changing

Contact Details

[email protected]

What happened?

A bug happened!
No matter if I paste in text from word, or from a text file, when I try change the font, the spacing changes but the text size doesn't. This never used to be the case.
Thanks,
David

What type of browser are you seeing the problem on?

Firefox, Chrome, Microsoft Edge

What type of Operating System are you seeing the problem on?

Windows, Other

Code to produce this issue.

No response

Remove Google fonts and external ressources for selfhosting

Hi there! It would be good for privacy and self hosting, if you could add all external ressources, like fonts and scripts to the repository, so that no external third party connections are needed, especially when self hosting.

I found this references in index.html (and remote.html)

    <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Open+Sans:wght@300;400;600&display=swap">
    <link rel="stylesheet" href="https://code.jquery.com/ui/1.12.1/themes/redmond/jquery-ui.min.css" />
    <link rel="stylesheet" href="assets/css/style.v120.css">
    <link rel="stylesheet" href="assets/css/font-awesome.min.css">

If you agree I would try the first time to create a pull request here. :)

remote control

This is really great! I've been looking for a straightforward teleprompter app. Would you be open to a PR that enables remote control of the prompter? I've had situations where I need to remotely control the speed or pause the prompter next to the camera.

I was thinking about writing a small server-side component to coordinate the viewer with the control computer. I'd like to be able to see a preview of the main screen from an iPhone screen, and be able to do basic controls like pause/speed/scroll. Is this something you'd be interested in including in this package? If not, I'm happy to just do it myself under a new name. Thanks!

cookie storage dont works

hi again, for some reason the cookie storage feature dont works,
Have you thought about replacing it with other technology like localstorage?

[Bug]: Wrong path to assets

Contact Details

[email protected]

What happened?

When open the remote controll some assets didn't load because they were not found.
The path is pointing to the v120 while the project's files are in the v122.

I am opening a PR to fix this.

What type of browser are you seeing the problem on?

Firefox

What type of Operating System are you seeing the problem on?

Windows

Code to produce this issue.

https://github.com/manifestinteractive/teleprompter/blob/d6438e561b0eb7bc50eaea1ec12de9fc7859ed80/remote.html#L19

https://github.com/manifestinteractive/teleprompter/blob/d6438e561b0eb7bc50eaea1ec12de9fc7859ed80/sw.js#L11

Remote Control feature broken on promptr.tv?

Hi,

When I click on the remote control icon (to the right of the font/speed sliders) on promptr.tv, nothing happens.
I'm pretty sure this button was functional in the past.

Happens with Chromium Version 108.0.5359.71 as well as Firefox 108.0 on Linux, so I doubt it's a browser issue.

Could you please look into it?

Kind Regards,
Stefan Baur

Add text control to remote command console

Hi! I think this is an amazing project! And it is really WELL DONE!
I would like to know if it would be possible add the control of text from the remote panel; I mean, if a change in the text is required, it would be nice to be able to change and push it directly from the remote.
Probably it would an easy implementation counting that form remote is already possible to grab others configurations. So the text could be easily considered another "config" and the sharing should be easy.

Thanks for your great work!

setup shortcuts

to be able configure multiple pointers devices without changing the code directly

Font Style

Hi this script is very cool , but i was wondering if it will have more option than 100 zoom size put it 200.
no option for making Bold text or italic
boldnes level is very nesesary :D

one text multiple teleprompters plus remote control

show the same text in diferent instances, the changes made in one get sync in others, plus an operator dashboard/master control to set some configurations (like disallow clients to change the text, themes, text , bla bla bla )

i think in two aproaches:

multi monitor: no lan, every intance comunicate with each other ready and writing in a localdatabase(localstorage) o web socket or service worker, dont really sure

multiple devices: lan required, like the multi monitor but in a lan

0 speed scroll

when the speed is set to 0 the scroll go on, but should stop

Remote Control feature broken

Excuse me for insisting Peter but for me, remote control does not work with version 1.2.0. I downloaded and installed version 1.1.1 and it works perfectly.
Kind regards

save color themes

by now is posible to change the colors(?), speed ans font size, but wil be great if all these changes are saved as a "theme", any user can set the teleprompter just selecting they theme from a list, export and import "theme files" or just save it in local

libs a little bit old

the libs used by the teleprompter are outdated (jquery cookie dont exists formely any more), that is a problem because:

  1. this is a great proyect whit so much potencial ( i tested many teleprompter´s before this), but people will take apart because uses jquery 1 instead 3, by example.

  2. make dificult to interoperate whit other libs, i planned create a sync version named "CliMas" (game of words) that allow to multiples instances see the same text, but some libs nedd jquery 2 or 3 so ended whit various versions of jquery...a mess

  3. buggy performance in phone browsers, i guees is for new versions libs has better code (?)

  4. when added new features will end with various versions of jquery or font awesome (see 2 )

support for cloud sync

I would like to be able to open github gists, hackmd things in this

would be a major quality of life improvement

timer reset ehen pause-unpause

hi, still active?

  • first, non native english,
  • second, awesome work, thanks for sharing

when pause and then un pause the scroll the timer get reset, commenting one code line in script.js solves the problem (already done in my fork):

function start_teleprompter()
{
	$('#teleprompter').attr('contenteditable', false);
	$('body').addClass('playing');
	$('.button.play').removeClass('icon-play').addClass('icon-pause');
	//$('header h1, header nav').fadeTo('slow', 0.15);
	$('.marker, .overlay').fadeIn('slow');

	//window.timer.resetTimer(); <---this is the problem
	window.timer.startTimer();

	pageScroll();
}

upload file and other tweaks

This was the first thing they asked me when I showed the teleprompter to my friends: can i upload files?

I implement it in my fork already, plus charsets encodings, concat text of uploaded files or completely replace it

and soon will be able to color paragraphs to make posible to be used by several people at once (one color for person) and add text in markdown (currently only no format text is allowed)

any way, maybe you would like to add those features to the original branch, so I comment them so you know
the overlay toggleable idea (pull request #1 ) is really good, take a look and merge it if you like it :)

Where are the source files for style.*.css and plugins.*.js?

Question

It looks like style..css is compiled from LESS or similar, and plugins..js is minified. If so, can you include those source files and toolchain instructions for compilation to CSS and JS (i.e., do you use Grunt etc.)? Then we can contribute PRs that affect these assets.

Json API live data url

Hello and thanks for this amazing autocue , is there a way that it can read feed from json api url ?

time guessing

is it posible to Guess how long it takes to read the text according to the speed, the amount of text(lines), resolution and font size?

Video recording option?

Since the Media Recorder API is available in HTML5, it might be a nice option to integrate video recording. Unsure if this would be needed, but it seems a natural fit. Example code below shows API usage.

<!DOCTYPE html>
<html>
  <head>
    <title>MediaRecorder API</title>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <link type="text/css" rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css">
    <style>
      body{
        width: 90%;
        max-width: 960px;
        margin: 0px auto;
      }
      button{
        margin: 10px 5px;
      }
      li{
        margin: 10px;
      }
      #btns{
        display: none;
      }
    </style>
  </head>
  <body>
    <h1>MediaRecorder API example</h1>
    <h4>Supported in Firefox (v30+) and Chrome (v49+)</h4>
    <div id="gUMArea">
      <div>
        Record:
        <input type="radio" name="media" value="video" checked id="mediaVideo">Video
        <input type="radio" name="media" value="audio">Audio
      </div>
      <button class="btn btn-default" id="gUMbtn">Request Stream</button>
    </div>
    <div id="btns">
      <button class="btn btn-default" id="start">Start</button>
      <button class="btn btn-default" id="stop" disabled>Stop</button>
    </div>
    <div>
      <ul class="list-unstyled" id="ul"></ul>
    </div>
  </body>
</html>

<script>
var log = console.log.bind(console),
  id = val => document.getElementById(val),
  ul = id('ul'),
  gUMbtn = id('gUMbtn'),
  start = id('start'),
  stop = id('stop'),
  stream,
  recorder,
  counter=1,
  chunks,
  media;

gUMbtn.onclick = e => {
  var mv = id('mediaVideo'),
      mediaOptions = {
        video: { tag: 'video', type: 'video/webm', ext: '.webm', gUM: {video: true, audio: true} },
        audio: { tag: 'audio', type: 'audio/ogg', ext: '.ogg', gUM: {audio: true} }
      };

  media = mv.checked ? mediaOptions.video : mediaOptions.audio;

  navigator.mediaDevices.getUserMedia(media.gUM).then(_stream => {
    stream = _stream;
    id('gUMArea').style.display = 'none';
    id('btns').style.display = 'inherit';
    start.removeAttribute('disabled');
    recorder = new MediaRecorder(stream);
    recorder.ondataavailable = e => {
      chunks.push(e.data);
      if (recorder.state === 'inactive')
          makeLink();
    };
    log('Acquired media successfully');
  }).catch(log);
}

start.onclick = e => {
  start.disabled = true;
  stop.removeAttribute('disabled');
  chunks = [];
  recorder.start();
}

stop.onclick = e => {
  stop.disabled = true;
  recorder.stop();
  start.removeAttribute('disabled');
}

function makeLink() {
  var blob = new Blob(chunks, {type: media.type })
    , url = URL.createObjectURL(blob)
    , li = document.createElement('li')
    , mt = document.createElement(media.tag)
    , hf = document.createElement('a');

  mt.controls = true;
  mt.src = url;
  hf.href = url;
  hf.download = `${counter++}${media.ext}`;
  hf.innerHTML = `<p>Download ${hf.download}</p>`;
  li.appendChild(mt);
  li.appendChild(hf);
  ul.appendChild(li);
}
</script>

improve performance

i`m not much proficient in JS, so it´s posible to make a code revision for improve the performance enough to use the teleprompter in cheap android devices ?

i have a no brand table (1gb ram, 4x1.2ghz cores, without standard support for android chrome or google play) that is very popular in my country (Venezuela) and a notebook (1x1.1ghz intel core, 2gb ram) very popular too and want to make them the commom devices to run the teleprompter (because they popularity) but the teleprompter gets stuck by seconds o make little jumps when scrolling some text (538 words in 97 lines)

so, i want to make a code performance leaks hunting, if you can give me some tips or a place to start I appreciate it a lot

tricky keyboard

sometimes when i click in the contenteditable area and press f12 to debug the console dont show, same hapens when click on the options bar

QRcode generation

This is not actually an issue.

Wanted help on setting up for generating QRcode on a LAN-based website
Currently, the QRcode is generated using this URL: https://promptr.tv/remote/socket.io/socket.io.js
Tried downloading this JS and using, but didn't work.

Request for the steps to enable generating QRcode locally without internet access.

Regards.

Close caption extractor

Question

Hi,
I would like to use this very good piece of software as prompter and at the same time it would feed a close-caption generator.
In order to do this I would need to extract the top line of what’s actually displayed in the web browser. Then I would send as ASCII to the CC device.

By looking into the JS code I found no « obvious » way to do it. Where should I start ? Many thanks for your insights.

Mirror flip has the text scrolling backwards

Great script - and very useful already. On bug though: when activating the mirror feature, the text is scrolling from bottom to top, it should be reverse ... or maybe I haven't found the right feature?

Docker File

Amazing Application, thanks!

I do not code, but I need to self-host my services and applications, due to poor internet service! But I failed to build a docker image for it! Please Guide me! What am I doing wrong here!

Regards

Here is my docker file:

FROM node:12.22.6-alpine

# Create app directory
WORKDIR /usr/src/app

# Install app dependencies
RUN apk add --update git
RUN git clone https://github.com/manifestinteractive/teleprompter.git /usr/src/app
RUN apk del git

# A wildcard is used to ensure both package.json AND package-lock.json are copied
# where available (npm@5+)
COPY package*.json ./

RUN npm install
# If you are building your code for production
# RUN npm ci --only=production

# Bundle app source
COPY . .

ENV PORT=8080
ENV PORT=3000

EXPOSE 8080
EXPOSE 3000
CMD [ "npm", "start" ]

Escape key not working after editing

It seems like after editing content the keyboard shortcuts become unavailable, most importantly the escape key.

Ideally, after editing the user would hit the escape key to go back to 'presentation' mode where the keyboard shortcuts would become available again (space and arrow keys).

[Bug]: problem with remote control

Contact Details

No response

What happened?

Hi Peter,
Sorry to bother you again but if I scan the QRcode with a smartphone, this is what I get. The remote controls do not work. I tried with several phones and from several hosts.
bug-promptr

What type of browser are you seeing the problem on?

Chrome

What type of Operating System are you seeing the problem on?

Windows

Code to produce this issue.

No response

Support for speech recognition to scroll texts (🗣📜)

I like TelePrompter very much! It is easy to use and looks sleek! Just recently, I have used the Prompt Smart App which supports speech recognition to scroll texts. I know that there is a Web Speech API, so it would be super nice to use webkitSpeechRecognition to also scroll texts with the spoken word in TelePrompter.

Resources:

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.