HDMI for Channels

Although I'm happy with my DirecTV Android boxes, the use of Apple TV is very exciting. ATV is very stable, supported a long time and most all have Ethernet. Keep up the good work!

2 Likes

This is the way….

2 Likes

I tested these settings as well looking at some college football and am very impressed. I dont have a way of side by side way of comparing, but this looks very good

Yes for me as well. I dont trust the soft reboot, and am having additional issues even when power cycling the link pi.

With my router Netgear R7000, with or without a static ip, Im finding I need to power down the unit, do a router reboot, and then repower up the link pi to get the router to negotiate and see the link pi.

So for now im avoiding scheduling any scheduled reboots in the link pi menus. Always on usage for now…..

Also:

A general PSA heads up..

I was playing with the overlay settings. Pretty cute if you use the defaults. However you can really trash things if you import images and try to use the editor - it can freeze the whole overlay interface. Forced me to have to do a complete link pi reset to default settings, and then a power cycle, not reboot.

Neat. That’s interesting. I will take a look.

2 Likes

I've had so much fun with the LinkPi EC1V3, decided to order the updated, V2 version of the ENC5.

Long ship times, should have it two to three weeks.

EDIT: Of course a few days after I order this there is a new coupon, 10% off. This ships direct from manufacturer, not Amazon. I'm happy to be guinea pig, will share my experience, but wanted to let you all know of the deal.

New LinkPi firmware - google translate helped me out here

2.8.0 build 20231130
Optimize segment recording function
NTP synchronization increases timing synchronization interval
Fixed abnormal recording and streaming issues caused by NTP synchronization
Fixed the udp disorder problem of ENC1V3, ENCSHV2 and other models
Fixed the problem that the number of channels with special effects cannot exceed 8
In addition to the ENCSH model, a new backend management page has been added, which can be freely switched between the classic version (original version) and the standard version.

Do I dare trust the firmware update process in the linkpi web ui?
Im worried i might brick the unit.

Has anyone tried hitting the update button?

The PS statement is a little confusing as well.. lol

“PS:Upgrade packages marked as impact cannot be skipped and can only be updated after they have been updated”

Heres what i found when i used the built in UI under options—> system —> upgrade

1 Like

I did both upgrades. Running fine. I do believe the video is washed out a bit. But that has been an issue since day one.

2 Likes

This is my second round of monthly updates. I've always downloaded to my computer then upload. No major issues to report.

1 Like

EDIT: just keep in mind you will need a decent GPU for re-encoding. The device outputs raw by default which I was not able to ingest into Channels. Going to look at the SDK to see if the device output can be changed to mpeg2 by default and bypass ffmpeg.

@KompilerDJ
Are you still using ffmpeg?

I am very excited and interested in this; also a Spectrum user. I have some reading to do to figure this out. Does this currently require Home Assistant? Studying that as well. Thanks!

Yes, I use Home Assistant to control the ATV. If you don't have an HA instance up and running, you might look at https://pyatv.dev. An enterprising person familiar with python could probably fully replicate ADBTuner using that library. But since I already have HA running, seemed logical for me to go that way for now.

It has been a fun project, and the results are fantastic. I now have a three tuner setup giving me everything that the Spectrum streaming app has to offer in terms of content; all through CDVR.

1 Like

Yes, on my linux box that has a GTX-3060/Meanwell. It's currently offline due to adb funkiness.

I'm guessing there may also be a way to turn on/off captions at the source...for an enterprising person.

I'm not understanding a few things. What is the -H Authorization for in the script? Also, is this bmitune.sh used for each of your 3 tuners, 0 through 2, with each tuner IP? I'm also planning on setting this up with the Magewell Pro Capture card I snagged off ebay and I have the environment sample for that from github /sullrich/ah4c. Just trying to see how it all fits together and will dive in to try and make it work over the next few weeks. Just not fully clear on the process. I guess I need to learn docker and also set up Home Assitant. Also, is hdmi-for-channels docker only? I'm sure I'll work through it all, just fighting the learning curve a little. Would be cool to see your full setup with 3 tuners. I have no issues with setting up the M3U, that all makes sense.

I'm currently running CDVR on Ubuntu and have a separate Windows box dedicated to CC4C. CC4C is running fine, but looking for a little better video and audio quality. With that, video panning motion is not fully fluid and the audio has a very reduced volume.

1 Like

ah4c is not Docker only. I'm the container maintainer, and have done substantial scripting for using the project with DirecTV and Amazon Live TV.

Normally, I'd recommend using the Docker version, but in this case that may not be the ideal approach. @KompilerDJ (who wrote the Go code taking this project from its roots to what it is now), is the only one I know of using the Magewell card.

He runs the project natively, so it's possible a thing or two he's done for Magewell will have to be adapted to Docker. I'm happy to do it, but I use an external capture box -- so there's no way for me to test anything internal card related.

ffmpeg is required I believe for Magewell, and I already have that in the container. @KompilerDJ can, I'm sure, shed light on what else may be needed if you want to use Docker.

1 Like

Right, sorry if I was unclear. I'd prefer not to use docker, since I will have to use ffmpeg, and want to use Intel Quick Sync for the encoding to mpeg (no discreet GPU). I already have Quick Sync setup and working for transcoding to watch outside my network. Using docker would complicate things in this case to pass through the hardware accelerator. Not interested in that, want to run natively, but thanks.

What I'm not clear on is how to fully modify the scripts to use ATV and Spectrum. @chasut showed what was used for bmitune.sh, but not sure what else I may need to modify...prebmitune, stopbmitune, anything else? I'm not a coder.

By the way, here is some good info on Intel QuickSync transcoding for anyone who is interested: ([Guide] Hardware Transcoding: The JDM way! QuickSync and NVENC - #2 by JDM_WAAAT - [LGA1151,LGA1200] NAS Killer 6.0, Plex QSV Builds - serverbuilds.net Forums)

Seems like you're clear on what's needed for your somewhat unique combination of hardware and streaming service -- which is good. :slight_smile:

For anyone looking at this in the future, ffmpeg processing of the stream coming from the encoder, before it reaches Channels, is normally not required.

ah4c typically just handles the virtual tuner selection and the tuning itself. The stream is passed through to the DVR as-is. ah4c is usually just a proxy, and requires nothing special hardware-wise.

1 Like

The -H Authorization line is the Home Assistant long lived Bearer Token created for access.

The whole thing is just a external CURL to a Home Assistant Service called media_player.play_media

Yes there is a set of these scripts for each "Tuner", in my case Tuner0 through Tuner2.

As for pre-bmitune, it is a call to the HA service media_player.turn_on. It is not really needed because my ATVs do not go to sleep, but just following the pattern provided.

#!/bin/bash

#Turn On ATV
curl \
  -H "Authorization: Bearer xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" \
  -H "Content-Type: application/json" \
  -d '{"entity_id": "media_player.tuner0"}' \
  http://xx.xx.xx.xx:8123/api/services/media_player/turn_on 

The stopbmitune is a little different. It uses the remote control entity that is set up in HA for the Media Player to execute the "Home" button on the ATV.

#!/bin/bash


#Stop Video
curl \
  -H "Authorization: Bearer xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" \
  -H "Content-Type: application/json" \
  -d '{"entity_id": "remote.tuner0", "command": "home"}' \
  http://xx.xx.xx.xx:8123/api/services/remote/send_command 

I run this on the same machine as CDVR without docker.