Giter Site home page Giter Site logo

pi-uhf-tv-station's Introduction

pi-tv-station

youtubescreenshot

The purpose of this project is to give you the feel of late 1900's broadcast television using modern hardware and software. This broadcast can be viewed on vintage televisions as well as modern telelvisions.

The Raspberry Pi makes an excellent candidate for a homebrew UHF television station because it has composite video out baked into the hardware. That's a rare thing to find on a modern device.

Plugging the Pi directly into a Hlly UHF transmitter makes for a clean solution. This gives you over the air television like what you would experience in the late 1900's.

The UHF wireless transmitter is optional, but a very cool option at that. However it is expensive.

It is a perfectly fine solution to connect the pi directly to a vintage CRT television over RCA (composite video) cables or even to a modern television over HDMI. In this mode I would pretend that the pi is a mini cable TV box from 1995. That would feel suitable to the experience in my opinion.

If using the UHF transmitter, by adding a smart wall-plug (via IFTTT) to control the power to the transmitter, this makes for a fully remote controlled solution. At a whim you can power on an old UHF television, open up the remote software on a phone or PC, toggle the power on, and start streaming from a selection of playlists.

remote app

The controls for advancing through playlists and episodes has been refined while still keeping a remote control feel.

Channel Up/Down progress through playlists.

Forward/Back progress through episodes in the playlists

Punching in digits on the number pad will go to that video number after a short delay

Navigating through playlists or episodes gives quick feedback on the LCD screen, while also preventing spamming of change video requests

youtube video thumbnail

Hardware Options

The point of this project was to make use of my Game Gear TV Tuner, so this requires a UHF transmitter. However you could plug the pi directly into an old CRT TV, and old VCR, or a modern TV with composite inputs.

There are a few options for buying or building a UHF transmitter.

Option 1: Hlly TVX-50M

tv transmitter

This is the most expensive solution but the most robust. You can set the device to any frequency for video and audio, this means you can pick which channel it broadcasts on and which audio profile it has so that it supports both PAL and NTSC TV.

This device also has an impressive range.

I bought mine off ebay and it was about $100

Option 2: UHF 200mW video wireless transmitter

This is a very good option if you have a PAL television. This is not a good option for NTSC televisions because the audio will not work.

This option is cheap and has a surprisingly clean signal for both video and audio. The range is not as good as option 1. You can choose from a subset of frequencies/channels.

What I love about this option is that you could solder it directly to the audio/video pins on the pi itself, giving you a all-in-one solution.

I bought this device for $15 off AliExpress.

pal uhf transmitter

Option 3: Build your own transmitter using a VCR and Signal Booster

Like in this video, you can use an old VCR with coax output, run into a signal booter to build a poor-mans UHF transmitter. I think this is an excellent solution if you can get your hands on the parts for free or cheap. I personally don't know where I would find the booster other than a random find at a thrift store. I'll be keeping an eye out for these.

YOUTUBE: Turn your old VHS video player into a TV transmitter

Installation Prerequisites

sudo apt-get update

sudo apt-get install omxplayer #command line video play for raspberry pi, written by member of Kodi team

npm install pm2@latest -g #optional but recommended, used to have the API and App as system services

pm2 startup #so that pm2 will start on reboot

Setup API as service

cd api

nvm use

npm install

pm2 start api.js --watch --name=uhf-api

Setup APP as Service

cd app

nvm use

npm install

npm run build

cd dist

pm2 serve . --watch --name=uhf-app

Mount Videos From Network

sudo apt-get install smbclient

vi /etc/fstab

//[IP-OF-SERVER]/Video /media/video cifs user=[SAMBA USERNAME],pass=[SAMBA PASSWORD] 0 0

mkdir /media/video

mount -a

Configure Smart Plug Power On/Off

Create an account at ifttt.com

Create two webhooks called uhf_power_on and uhf_power_off

Associate these webhooks with your smart plug of choice

Get your API key

Add IFTTT_KEY=[your key] to the .env in the api directory (see .env.example)

webhook

pi-uhf-tv-station's People

Contributors

ssshake 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

pi-uhf-tv-station's Issues

attempt to build fails

i follow the steps and get to npm install pm2@latest -g.
I get the following error message.

-bash: npm: command not found

i was able to use github to download the code i had to do the clone using the https since this os doesnt want to recognize the gh command. i am using the raspiOS lite and the raspiOS full with desktop and both give me the same error message.

Unsure on what to do?

What Pi should I use, what do I do for the AliExpress transmitter? I would please like some steps in the right direction.

I must be missing something

I followed all the instructions in the readme and the app doesn't do anything that I can tell (nothing shows up in the "display"). Maybe I have my video directories the wrong way. I know very little about node.js, so I am having a hard time debugging the problem. Any help would be appreciated. Thanks.

API: serve APP behind express route

There shouldn't be a need to run two separate processes, or access the app and api over two separate ports.

Configure the node process to do a live build and host the dist dir behind route.

A good side effect would be that we dont need to do the ticket where we pull in the api url from config in the vue app

Would already be helpful to other people too:

image

Follow this tutorial to combine the front and back end: https://dennisreimann.de/articles/vue-cli-serve-express.html

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.