Make Your Own Damn Channel!

With respect to Lloyd Kaufman.


Navigation:

The Medium/Probnot Tutorial | The EMN Pro/PseudoTV Tutorial


Throughout the years I’ve made a handful of tutorials and tip compilations on how to set up EMN, which I am mirroring here. While I’m always iterating and incorporating new techniques to make EMN work, and some of this information becomes a little outdated as the years go on, I hope that reposting these guides can give visitors to this site their own basic foundation upon which to start and, indeed, Make Their Own Damn Channel.


The EMN Pro/PseudoTV Tutorial

Originally Posted on an online forum: February 4th, 2024

Make Your Own Magic Wrestling Box: The EMN Effortpost

Hey! Guess what! Picking and choosing things to watch sucks!! Ever since I was little I’ve been dreaming of turning my TV on just in time to see The Acolytes defeat the New Age Outlaws in two minutes, but only after two interminable talking segments about The Greater Power, and I’m sure you have too. Once upon a time, the only way to do that would be to watch Monday Night Raw on USA at 9 PM in 1999, but now, I’m happy to report that technology has advanced past the need for constantly making decisions. Picking? Choosing? A thing of the past. If you’re like me and miss the old WWE Network live stream but also wish it had more Aja Kong murder, read on, because I’m going to give you several inconvenient hacky ways to make a magic wrestling box just like mine.

Table of Contents

Introduction
Part 1: Hardware & Software
Part 2: Frequently Asked Questions
Part 3: The Probnot Method
Part 4: The PseudoTV Method
Part 5: Adding Your Branding & Advanced Setup
Part 6: Where To Find Wrestling
Part 7: Conclusion


Introduction

For a quick demonstration of EMN Pro in action, check this out:

Pretty great, right? Five channels, ads breaks between shows, and you never know when you might run into the Briscoes brawling with Age of The Fall. If you want to see exactly what I have on my channel, I have my main file list and my interstitial file list. Gotta love what it does to Japanese text.

Back in 2020, I wanted to have a “channel” I could watch on the guest room TV, which was a Durabrand CRT TV I bought at Goodwill for $10. It started because I watched a video by Probnot’s Tech, a guy who created a script to shuffle videos on a drive, and after I had set it up using his instructions I realized I wanted to go further. I’ll be linking his method in the “Probnot Method” section of this post, and it still works great as a very basic way to set up a box and watch some TV. After that I’ll dive into the “PseudoTV Method”, which is the way I’m able to shuffle in interstitials/ads and even have multiple programming guides. The cool part is that for both methods you can have a network logo in the corner, which is an essential part of any TV channel. I’ll explain how to do that at the end.

This guide assumes some familiarity with basic computing, and it isn’t meant to be a perfect step-by-step tutorial by any means. It hopefully has enough info to give you the paths to follow, though, and through the resources in it it should get you off the ground. And of course, I’ll answer any thread questions, provide updates, etc.


Part 1: Hardware and Software

So first, here’s a totally beautiful diagram of my current setup.

You’re not going to build this, but I’ll hopefully give you enough knowledge that you’ll be able to build this one day, if you really want.

Required Hardware:
-Raspberry Pi 3B+
-MicroSD card
-HDMI Cable
-MicroUSB cable and either a powered USB port or brick to plug it into
-A USB keyboard and mouse for initial setup (I use this neat wireless mini one!)
HDMI-to-AV Adapter
-A USB drive – I use a 2TB but it’s up to you
-A TV to plug it into!

Required Software:
LibreElec 9
balenaEtcher
FileZilla or a similar FTP program
-A text editor – I use Notepad++

Optional Hardware:
-An RF modulator – you can use anything from an old VCR, an off-the-shelf AV modulator, the ChannelPlus 3025 units I use, or if you’re more advanced than me a Blonder Tongue rack or similar.
-Coaxial cable
-A case for the Pi

Optional Software:
This old fork of PseudoTV by fnord12 (If you want the PseudoTV method)
-Image-editing software (to create your own custom channel logo!)
Angry IP Scanner (In the event that the IP address of the unit changes this is a quick way to find out the new IP)


Part 2: Frequently Asked Questions

1. What is EMN?

It’s the name I give to the collection of channels running in my house and in general a few projects I work on because it’s fun to build a brand around it. It stands for the names of me and my partner, with Network at the end. It used to be just one channel, called EMN, and then we figured out ways to build more and modulate them. We’re pretty content now with five. They consist of EMN, EMN2 (a channel with different themes every month), EMN Marathons (uninterrupted programming of a specific type), EMN Vibes (Music and background footage), and EMN Pro – the latest channel, made to have something “live”-feeling on the network. And because wrestling is the best. 

2. Why do you use this method when [this other method] will do?
Because this whole thing started when I was messing around just before lockdown and it expanded during the pandemic, growing with each method I was able to find. LibreElec was the OS I started on, and this particular branch of PseudoTV was the first and as far as I can tell only way to create a local unit that doesn’t require persistent internet connectivity and plays directly on the unit itself, no outputting to ffmpeg streams or what-have-you, that can interleave programming and interstitials. My goal from day one was to make something that could be watched on a cheap CRT television I had in my guest room, and that meant modulating and using hacked up old tech. You’re not going to get pristine video quality, you’re going to get a magic wrestling box that shows wrestling on Channel 3. Or 4. Or 14. Whatever.

3. Why bother using an HDMI-to-composite converter when the Pi can output native composite?
The composite output on the Pi 3B+ is a pain in my experience. It requires a specific 3.5mm-to-composite cable and early on I was having a lot of trouble with nasty background noise on quieter files. The converter fixed those issues and I don’t feel the need to change that.

4. Why not just use HDMI natively?
You can do that. It’s pretty easy, in fact. You don’t have to run it through a converter unless you want to use the CRT or modulator method. You just have to remember to turn off all the CEC settings in the Kodi Settings or else it’ll pause whenever you turn the TV off and that defeats the entire purpose! Anyway, I don’t really have nearly enough experience running this thing over HDMI, so my guides and ideas are all focused around what I do know.

4. Why do you use outdated firmware?
PseudoTV, the app that I use to power the more advanced units, only works on an older version of Kodi. Newer versions of LibreElec also have an issue where they don’t output composite correctly, which isn’t always a massive issue but it is an annoyance.

5. Do I HAVE to Make My Own Damn Wrestling Channel?
Hell, no. Put whatever you want on it! Mix old episodes of Nitro and current AJPW shows with clips from Gaming in the Clinton Years and the entirety of Breaking Bad if you want. Make an MMA or boxing box if that’s the part of the subforum you’re from! I’m using wrestling as the example because I’m in the wrestling forum and it’s easy to explain this way. Frankly, I love seeing what people make and what makes “their” personal channel, so feel free to use this thread to post all about your creations and methods.


Part 3: The Probnot Method

The simplest way to get this bad boy up-and-running is to follow Probnot’s Tech’s method, which can be boiled down to some simple steps:

1. Flash LibreElec to your MicroSD card.
2. Format your USB drive and remember the name.
3. Create a folder on it, fill it with what you want to play, and remember that name too.
4. Enable SSH during the initial LibreElec setup and use FileZilla to gain FTP access to your unit.
5. Create a new file in Notepad++ named autoexec.py and fill it with the following code:

import xbmc
xbmc.executebuiltin("PlayMedia(/var/media/[DRIVE_NAME]/[VIDEO_FOLDER_NAME],isdir)")
xbmc.executebuiltin("PlayerControl(RandomOn)")
xbmc.executebuiltin("PlayerControl(RepeatAll)")

6. Drop that file into .kodi/userdata/
7. Plug in the USB drive and restart the unit.
8. Watch some wrestling!

Here’s Probnot’s original video detailing all his steps. It goes into more detail, talks about flashing the firmware to the MicroSD, and more.

I wrote a slightly-outdated setup tutorial years ago going over various steps in the video with a few small tweaks of my own. Ignore what it says about PuTTy and cloning the default skin, as that’s an old way of doing things that no longer works. We’ll get to how to do that nowadays in a moment. It’s still good to have PuTTy in case you need to remotely reset the unit due to a freeze or something. Other than that part, this is probably the best and most thorough resource for initial setup, but you guys are cool so you get all the extra stuff too. This thread is more up-to-date.

If this is where you want to stop, you totally can. The following method is for those who want to go further. If you just want to slap your logo onto your channel, skip to part 5.


Part 4: The PseudoTV Method

This is how you’ll add interstitials. Accomplishing this will require a little extra setup and installing an application to your box and modifying it. Follow the initial LibreElec setup steps until it comes time to create autoexec.py. We’re not doing that! Put the script.pseudotv.master ZIP file in the root of your USB drive and make a second folder, names Ads (or whatever you want, really). Place all your “main” programming in the Videos folder, place all your interstitials in the Ads folder. Plug the USB in to your box and fire your unit up.

From here, we’re going to install the application. If you haven’t already done this, go to the main Kodi Settings menu, scroll to the bottom of the sidebar, and change your settings access level to Expert.

Go back to the main menu, go to the Add-Ons section, and Install From ZIP File. Install that PseudoTV addon. If it asks you to enable installing apps from unknown sources, do that. From there, you’ll set up your channel.

For the record, I initially figured this stuff out by reading this guide. Just to save you all from going to Reddit, I’ll quote it.

I recently started fiddling with PseudoTV again because lockdown can get pretty boring and here is my experience with Directory channels and setting up interleaving rules.

In my case, I was using directory channels for Bumps, Trailers, Shorts, and Commercials that averaged 2-3 minutes in length. Each category had its own folder of videos (No Subfolders!) that I had downloaded using Jdownloader2. For those that don’t know, you can download whole Youtube channels using Jdownloader2’s link grabber function and sort by file type. This becomes very handy when you find those nicely organized retro commercial/movie trailer based Youtube channels.

Anyway, when setting up these channels you go through the steps as such

Open Channel Configuration

Open an Empty channel (I usually choose a high number channel for organization purposes)

Set to directory and assign the directory (Folder with your videos)

Go to advanced rules an assign “Don’t Play This Channel” and “Force Random Mode”

“Don’t play this channel” will ensure that this channel will not show up in your Channel Guide and Random mode will ensure that the commercials or whatever don’t play in the same order every time.

Now comes the interleaving process which will allow you to say ‘play a commercial after every video’. In my example, I have a Toonami channel (Channel 54) that will play 1 classic Toonami bump (Channel 80), 1 commercial (Channel 81), and finally 1 more Toonami Bump (Channel 80). Now interleaving, which is part of advanced rules, is kind of weird. Interleaving essentially says “I want channel A to be mixed up with channel B (Or more)” and to achieve the order you want it is necessary to adjust “Min & Max interleave counts”.

For this part I’ll refer to milkman’s guide:

3) On your main channel, add a rule to interleave the [Commercial] channel.

4) Set “Min & Max Interleave Count” options as needed.

– If Min & Max counts are set to 1, it will add the bumper after each show

– If Min & Max counts are set to 2, it will add the bumper after every second show

– If Min = 1 and Max = 3, it will add the bumper after every 1,2 or 3 shows (at random)

Note: If you have multiple interleave rules, they will be followed systematically from top to bottom. If you want it to be Episode > Advert > Bumper > Episode > Advert > Bumper, then you will need two rules:

Rule 1: (Advert) Min = 1, Max = 1, Starting = 1

Rule 2: (Bumper) Min = 2, Max = 2, Starting = 1

Now we need to make sure these commercials don’t show up in the Channel Guide. For this we need to go into PseudoTV’s ‘visual’ settings and enable ‘Hide very short videos’ and define what we consider ‘short’ 360 sec. (6 min.) will hide most if not all commercials from our Channel Guide.

gils_001 on Reddit

A few things to keep in mind that aren’t covered here:

1. Fnord’s fork of PseudoTV, the one we’re installing, has a setting to assign a Default Duration value to any video files that don’t have that in the metadata. Change the settings of the app (by right-clicking and opening the setup menu) and go to the Performance section. Under “Skipped Videos – Directory Channels” there’ll be an option for “Instead of skipping, assign default duration”. Toggle that on.

2. Save your settings every time you make a channel by clicking OK. I’ve had issues where I’ve tried to set up multiple channels at one time and it has frozen when trying to save. This usually prevents this, though sometimes it does cause a strange seeming-restart of the unit. The changes will take, but the video will flicker for a moment. Don’t panic! It’s probably fine!

3. After adding videos to your Videos or Ads directories, you’ll want to force PseudoTV to “Force channel reset on next start”, which is an option in the General section. This will rebuild the playlist when running the app the next time.

4. Crashes can happen, and if you find yourself regularly being kicked back to the main menu, try going through all of your files and renaming them. Sometimes the app can’t parse special characters when building a playlist and sometimes a video is corrupted and you might not realize it. It’s happened to me plenty of times.

If it helps, here’s what my settings look like:

And here are the settings I have for the Channel Configuration itself:


Part 5: Adding Your Branding & Advanced Setup

So, you’ve set it all up with your preferred method and loaded up your drive. Maybe it’s running now. Great! Let’s do some tweaks to get rid of those pesky loading circles and make it fit your screen.

If you haven’t done this yet, in the main menu, you’ll need to go to the Settings menu and change your access level to Expert. This allows for more granular options to show up in various menus and you’ll need them.

Download this ZIP file. This is a folder containing a modified version of the default Kodi skin, Estuary. What I’ve modified is as-follows:

  • – The files DialogBusy.xml and DialogSeekBar.xml are renamed, preventing media titles and loading animations from appearing, making for a more seamless experience.
  • – The file Custom_1199_Scanlines.xml has been added, which is a custom script allowing a persistent image to be shown onscreen at all times.
  • – The file scanlines.png in the media folder is included, which is right now my own EMN Pro logo positioned correctly to be where a network logo on a standard 4:3 display would be. This is the file the script looks for and overlays. If you’re outputting to a widescreen display it’ll just stretch to fill the screen space so do with that knowledge what you will.

In order to change it up, just make your own scanlines.png file using EMN Pro’s logo as a size guide and save it over the existing one. I have my logos saved at 75% opacity as the transparency makes it feel a little more legitimate.

Drop the skin.estuary.edit folder into the .kodi/addons/ folder.

You can either restart your box at this point or just go to the Settings menu and the Skins section, and open and close the skin selection item, and it should auto-update. This is helpful if you need to change your network logo on the fly because you’ve accidentally made it too big or forgotten to make it transparent. Not that that’s EVER happened to me! 

😉

The next thing you’ll want to do is test to see if it’s working by opening a video file through the Video menu item. Once it’s playing, you’ll notice the video probably looks weird somehow, with spaces or overscan issues or aspect ratio nonsense…so that’s where Video Calibration comes in. Press Enter to pull up the video controls UI, move over all the way to the right, and select the gear icon to pull up the Video Settings menu. You can do some neat stuff here – stretch widescreen videos to fill a 4:3 space, for example, and if you make any changes be sure to save them as default for all videos. Video Calibration will allow you to adjust the overscan and placement of each corner, though, as well as the aspect ratio and shape of the video playing. How this should look really depends on your main TV you’ll be watching this on, but tweak it ’til you’re happy. This also adjusts where the network logo appears, so as long as that looks good you’re golden.


Part 6: Where to Find Wrestling

When it’s time to load your drive up with wrestling, you’ll need the means to do so.

As a disclaimer: these are just resources to get playable files for your channel and nothing more. Please support all wrestling streaming platforms you are able to support. Any resources given out here are for educational purposes only.

i cannot link directly to Filez and won’t be doing so, but I will mention a few interesting links and sources that are a little more public, and I’ll point you in the right direction for some other things to look at.

  • – First, if you’re looking to capture specific shows on streaming services you are part of, screen-recording is always an option. I use Audials.
  • – If you’re a DVD hoarder, Handbrake works wonders but may require some additional Googling to learn how to activate the ripping feature. It’s a good program to have nonetheless if you need to crop or compress your files.
  • – Many indies, such as DPWSukebanMLW, and more have dedicated YouTube channels with free matches and full shows, as does CMLL for you Lucha fans out there. TNA has many old PPVs available freely as well. Episodes of AEW Dark and Dark Elevation are all still up. My preferred YouTube downloader (and many other sites!) is 4K Video Downloader. If you’re going to download a lot of playlists or entire channels, it’s a lifesaver.
  • – On the subject of YouTube, plenty of old wrestling is available with a search. The aptly-named ClassicWrestlingStuff is actually a goon channel, there are chronological playlists for NWA for 198519861987, and 1988, there are dedicated AJW playlists and uploads including this English-subbed Dream Slam, and so much more. As a bonus, might I suggest adding some Purowave to your interstitials folder?
  • – Many major wrestling promotions have shows uploaded to Archive.org. With some creative searching around you can find everything from Lucha Underground to Wrestling Society X to GLEAT, and even major currently-running American promotions.
  • Luchablog runs a great drive full of matches worth watching, and WCW Deep Cuts is also an excellent resource with access to shows you won’t find many other places if you reach out.
  • – If you have subscriptions to Honor Club, Fite, the WWE Network, NJPW World, etc., I can vouch for LetMeAtIt.
  • – And finally, not naming names but the old torrent sites that had seed limits some may see as draconian still work a charm. If you’re an ECW faithful looking for restored music and footage in your shows, I would start there.


Part 7: Conclusion

Congratulations! If you’ve followed these instructions, you should have your own wrestling box. Again, this is all messy and cobbled-together, but that’s part of the fun for me. Go plug your box into a modulator and watch wrestling on an old CRT, or even on your modern flatscreen – most TVs with coaxial inputs can still tune into analogue signals if you enable that feature when scanning for channels. I have my channels working on a Panasonic Viera plasma, an Amazon Fire TV, and a Roku TV. The most important part of this is that it’s a customized way to watch wrestling (or, well, anything) that is not dependent on an internet connection, not dependent on other people choosing what you should focus on, and most importantly intended to be run all the time so you can tune in when you want to tune in and more than anything allow yourself the thrill of discovery and surprise when you’re in the mood for some wrestling. Did I ever think that I would be spending some time before work watching the RAW that had the Chris Jericho debut promo? No! But thanks to EMN Pro, that happened, and I got to spend the entire day laughing to myself at The Rock’s no-selling the pop of the night to do his usual shtick.

More than anything, I love experiencing others’ customization and hearing stories of what they’ve created. Whether you make your own magic wrestling box or not, I’d love to hear if any of this has inspired you. I have a whole set of custom interstitials, network bumpers, etc. I’ve made for my main channel. Maybe that’s something that you want to try out. Share everything related to this project you’d like in this thread, and above all – have fun! It’s been the most fun thing in the world, creating and modifying this as the years go on, and I only hope for the same for you.

Now go! Create! Watch some wrestling! Or MMA! Or boxing! There’s all the time in the world now! I’ll see you on the other side.