HDMI for Channels

@tmm1

Would it be theoretically possible to run one of the cable providers native ios or IPADSOS app on a silicon based mac mini, then pipe the hdmi output of the mac mini into an encoder?

Then if we could figure out a way to come up with a clever way of having tuning profiles for the stations that run on the mini, but control the ios app running on the mini, it could be another way to deal with some of the cable providers that are more locked down behind the walled garden.

For instance keyboard meastro or some other keyboard “macro” program could possible run button or mouse gestures to tune the ios app on the mini.

I dont have a silicon mac to try this out with my cable providers app. . My provider notoriously has to re-authenticate when using a browser, and if there was a way of controlling their native app it could be very slick.

My provider doesnt have an android app that supports hdmi or id go in that direction using adbtuner.

Alternatively, some kind of ATVtuner via home assistant could work, but that would require a second apple tv (which of course is a lot cheaper than a silicon mac mini).

Just throwing ideas against the wall to see if anything sticks.

1 Like

I just set up the Link Pi. Got it yesterday. This is a very cool device!
Im watching NFL football on channels through the device, with a spare iphone as the source feeding hdmi through a lightining to hdmi adapter.

Video quality is very very good in my opinion. I did use the “main” profile, and used the rate settings @chasut shared

Thanks everyone for sharing. This is cool..

But for now i can play pause record manually.

Gonnal play around with adding tuning control next. But for now its working with channels very smoothly.

Love it. Thanks for recommending this, and i got the black friday price

2 Likes

That's super exciting! I'm glad people are enjoying the LinkPi as much as I am.

2 Likes

If anyone is interested below is what I came up with for my bmitune.sh. The M3U passes in the tmsid, so nothing else is needed. Once I figure out how to parse the response, I intend to add some additional error handling. Below the script is a sample of my M3U text.

#!/bin/bash

curl \
  -H "Authorization: Bearer [Insert long-lived token here]" \
  -H "Content-Type: application/json" \
  -d '{"entity_id": "media_player.tuner0", "media_content_type": "url", "media_content_id": "'"spectrumTV://watch.spectrum.net/livetv/${1}?linkorigin=sirilivetunein&idtype=tms"'"}' \
  http://xx.xx.xx.xx:8123/api/services/media_player/play_media   
#EXTM3U

#EXTINF:-1 channel-id="SN1AUSH",Spectrum News Austin HD
http://xx.xx.xx.xx:7654/play/tuner/70612

#EXTINF:-1 channel-id="KTBCDT",FOX (KTBC) HD
http://xx.xx.xx.xx:7654/play/tuner/31222

#EXTINF:-1 channel-id="KVUEDT",ABC (KVUE) HD
http://xx.xx.xx.xx:7654/play/tuner/33585

#EXTINF:-1 channel-id="KXANDT",NBC (KXAN) HD
http://xx.xx.xx.xx:7654/play/tuner/25147

#EXTINF:-1 channel-id="KEYEDT",CBS (KEYE) HD
http://xx.xx.xx.xx:7654/play/tuner/33424
...
1 Like

Pulled the trigger on this one. Black Friday $10…

I’ll report back if it’s compatible with the link pi firmware

edit: It’s MONO audio only. Yuck!

The Problem with a lot of those USB devices is that they are mono.... but It seems to be a good one to get you started with capturing.

Indeed! I did catch that spec in my research. Many of the previous cheapo USB devices were based around the MS2109 chip, which was USB 2.0 and, as mentioned, mono. I specifically selected devices with the "new" MS2130/2131 chips. Even though I can't use USB 3.0 on my LinkPi ENC1, I can capture stereo.

3 Likes

Oh good catch!! Thanks
Canceling this one it’s mono.

The other one previously mentioned says it supports stereo.

I feel I should point out using the WebCam feature to capture a second stream on the ENC1 is not fully tested yet. It does work, and if you are okay spending about $20 on an encoder to essentially play, go for it. Just keep in mind it has some limitations. Things I've learned so far:

  1. The USB 3.0 capture devices that have a MS2130 (single HDMI input) or MS2131 (second HDMI for loop out), are the newest, best featured devices in this price range. All kinds of info here.

  2. The LinkPi ENC1 V3 USB 2.0 means you will only be able to do a max of 1080p50 using MJPEG compression. The quality is.. okay. The same devices on USB 3.0 can do 1080p60 YUV and it looks great, hardware is pretty amazing for the price.

  3. The highest res you can use to get 60 FPS is 720P, still using MJPEG compression. If you want no compression using USB 2.0, you'd have to pick a res of 640x480 to get YUV.

  4. From my research, the USB Webcam can stop responding on the LinkPi if left running for a long period of time. I have not had time to experience this yet, limited testing time. I already schedule LinkPi reboot every night for maintenance.

  5. Long term reliability of such a cheap device is not known.

  6. There are limited options for the device using the native UVC driver on part of the LinkPi. Everything I've said so far are default settings (plug device in, work). There is info here on installing v4l2-ctl for better detail and control of this "webcam".

Not trying to scare anyone away, just being honest. But if you are looking for a cheap cost to continue play with the LinkPi, there is interesting uses for the USB capture, even when limited by USB 2.0.

A. Even thought it is not the best quality, it does create a second stream on the same device. Not too shabby if it proves reliable.

B. The MJPEG compression is not as noticeable as much on small screens. If you were to stream to a phone, tablet or small display, 720p60 would be fine.

C. It would work well as a capture of low frame rate or static capture feeds into Channels. What would you want to view as a TV Viewable stream in Channels DVR? Anything that can't make it's own stream, but has HDMI out. Older Security Camera or DVR maybe. You guys tell me.

Happy streaming!

2 Likes

I just tried these settings and think it is the best yet. Was hoping that I could have it set to match the framerate on the input. Reading through their manual on line and there was a reference to a similar setting for the network stream (which is an interesting concept all its own) for a -1 setting for framerate that attempted to match the stream.
So I tried it for the HDMI encode, and while I don't think it is framerate matching (e.g. 24fps on movies) I do think it does improve the overall quality. But I don't have a way to properly compare side by side and it could be just wishful thinking.

If you are still testing, give a try and see what you think.

Very interesting the frame rate would be -1. I will have to try that one out. Thanks for the tip.

I have two of the LinkPi's and will try to some side by sides.

Has anyone tried using an HDMI adapter for a phone (either USB-C or micro USB) to get apps that only run on Android phones to work with this? I have a TV app from my local provider, Hotwire, that won't run on Android TV devices but runs fine on the phone (it's called Fision TV+ and won't work if you sideload it on the onn box because it relies on touch input). Was wondering if I could launch the app with an older phone that has the adapter cable.

Don't see why it wouldn't work, but figuring out how to launch the live channels directly with adb might be a tough trick.

1 Like

You could do capture by a phone with appropriate output. However, I took a look at your cable provider and see the Fision TV+ service you mention. Looks like that service is streaming based and has a different Set Top Box from normal DVR. Where I can't find any info on set top box they use for this service, a YouTube video shows this:

image

That remote looks a lot like a TiVo 4K Stream Android Box. There are further videos about how you can install Apps on this device (again never showing the device).

I suspect this is a re-badge or custom firmware TV 4K Stream. Tivo 4K Stream is an Android streamer. You may be able to enable dev mode on it, and tune channels using ADB.

Do you have one these devices already?

I tested this setting on two LinkPi encoders. It does match the frame rate of the Firesticks I am using. I did seem to have lockups running H.264 High. Main is running now. No dropped frames.

I have a couple of gripes. The LinkPi encoders seem to need a power cycle after encoder changes...not just a reboot. At least it seems that way. Also, despite changing to NTSC compatible, the video seems a bit washed out. Not terrible. Blacks just aren't as crisp.

I have two channels running for about 30 minutes and don't see any problems.

1 Like

Interesting. My blacks are very good, plenty of detail and contrast. Not BluRay mind you, but at least as good as the source (in my case Spectrum app). FWIW, I turned off the NTSC compatibility and think it is better that way.

Can you share how you are getting Spectrum to work!

1 Like

Also, LinkPi picture is good but my J-Tech is better but only does 720 at 60FPS.

1 Like

Using an Apple TV and tuning with a modified version of androidhdmi-for-channels through a call to Home Assistant. A bodged-up solution for sure, but so far has been fast and reliable. So much so that I am going to expand my experiment to a couple more tuners.

See my earlier posts for more detail.

2 Likes

That is excellent!

Yeah I have the box (it's a Technicolor) and it's running a custom version of the TiVo software on Android TV with a crappy Fision TV app (com.tivo.android.hotwire) as the overlay. I have ADB debugging enabled but there's a couple of issues - first I need the box for the main TV in case there's issues with Channels and secondly I have to rent extra boxes and that's not happening. Yeah I know I can get an HDMI splitter but the box already has issues with HDMI as it is.

And I don't know how to run the overlay app with ADB and have it automatically tune a live channel.

Thanks for your input by the way, super helpful.