Change transcoding settings server side?

I've searched but came up short.

I want to change the transcoding options. I'd like to have a 1080 3Mbps option in the list. Here on the farm, I have a number of wireless hops and I really want to get the bitrate down. Single pass 1080p @3Mbps looks perfect fine for my needs.

I can only find options to set this on the client side though and even there, no 1080p 3Mbps plan.

I realize that channels is trying to produce the best looking video and 1080p 6Mbps looks better, but I don't think it's enough better to force that. Mobile clients look better at 1080p 3Mbps than they do at 720p 4Mbps in most cases. The lack of clarity in 720p is a constant where the blockyness of low bitrate 1080p happens less often and is better on the eyes IMO than the lower resolution.

Is there some way to adjust this server side? Further, a way to tell the encoder to try for a lower bitrate first? I seems to take a good 20 seconds for the encoder to find the right bitrate for the device, I'd like it to favor higher resolution and lower bitrate.

Just to add to this I would like an option to set the streaming bitrate limit for remote connections... Right now one stream can take all the bandwidth.

3 Likes

Streaming uses dynamic variable bitrate based on your speeds. Feel free to set it at Max and let it choose the best quality. There’s no way to force a specific bitrate or resolution, only the Max quality.

maddox, adaptive is a mess why trying to juggle remote connections when any one of them can try to pull max bandwidth. It's like they all fight over it and think they can get the full connection. It leads to prolonged periods of pausing the video.

Like @Edwin_Perez says, it would be great to have an upper bounds for the transcoder. Ie, never exceed 6Mbps.

I'm finding that even with settings turned down pretty low on the client, I'm getting a pause right after starting ever single channel I tune to. On the web player I can see the progress bar catch up to the cache presumably because the connection wasn't >3x as fast as the bitrate. That makes sense. If you are watching a 3Mbps stream on a 3Mbps connection and HLS drops a 3 second chunk, you need 3 full seconds to download that to the client. It's consistent for me for every transcoded channel.

I should also add that I have channels running on a windows 10 machine with quick sync and two separate linux (ubuntu 20.04) machines with 7th and 10th gen intel cpus with quick sync. Plenty of horsepower to do the task.

I really like the way EMBY handles remote streams ... you can set max streams and maximum bitrate...

1 Like

@Edwin_Perez agreed. I don't want to saturate my uplink just because the remote side wants more.

2 Likes

Perhaps my understanding is incorrect but I think the client setting defines the maximum resolution, so you can use that to prevent one client from taking too much..

1 Like

That really is not a great solution because you do not control the Clients....unless you are the only user of the DVR it is much better for the Server to have a max setting per stream.

I have 200 Down but only 6 up so it is very easy to have a client hog the bandwidth.

This makes sense and we’ll look into it.

But you need to remember that Channels is designed as a personal system, it’s not designed for sharing. So under most circumstances you’d have control over this.

Yeah but you know kids these days are born with a smart phone in their hands ,, so a Parent really needs to be able to have control. :grinning: :grinning: :grinning:

The clients do get to pick settings, but it's unclear to me how much they dictate. Ultimately, the server triggers the transcoding of the HLS streams though.

@maddox as Edwin says, times are changing. Pushing multiple MPEG2 streams across WiFi in a home is almost an automatic fail because it's a shared medium and a kid pulling an xbox download kills any hopes of watching an MPEG2 stream.

hardware transcoding is readily available and already supported pretty darn well in Channels. If you guys could tweak things working on the assumption that we want adaptive transcoding even locally that would be incredible.

1 Like

also, as @Edwin_Perez says, parental aka admin control over what the server can be told to do is important. Policing the devices with kids that will tweak things just because is a PITA. In the transcoder section, just allowing 'max resolution' and 'max bitrate' for the transcoder would go a long way, as well as resolving whatever keeps local adaptive transcoding from performing well.

If I do a remote connection, the transcoder seems to do a much much better job leading me to believe it's configured to only work on remote streams...

1 Like

Your router's queueing, QoS, and traffic shaping policies should aid in this. Especially if you're pushing the software beyond its intended supported configurations, you should be willing to jump through all of the extra hoops needed to make your unsupported setup work.

For a high traffic household like this, I would highly suggest investing in a wired solution for something that needs to be as reliable as the TV in the house. Check out MOCA adapters and get those TV boxes off of wifi.

1 Like

I intend to argue this point with you :wink: A router's QoS affects it's WAN connectivity, but not LAN>WiFi (generally). MPEG2 streams are quite heavy and without transcoding, no amount of QoS can 'fix' a lack of throughput available. I would go so far as to say you guys acknowledge this with a couple notifications to wire up devices via LAN when streaming MPEG2.

I would also say this isn't an unsupported setup. ie, install channels on computer and install app on 2,3,5,7 whatever number of firetv sticks on WiFi. MPEG2 eats up too much data for this rather vanilla setup. Transcoding, and adaptive transcoding, are a good fit here because of WiFi limitations.

I would go out on a limb and say that >90% of all players are WiFi and not wired.

@maddox adding hardware/cables is indeed a solution, but so is using the tech you guys already put so much effort into, the transcoder. Also, as I said above, most set top boxes are connected via WiFi so even pulling cables or hijacking the coax with moca etc may not actually be an option because many of these devices don't actually have ethernet ports onboard. The most common devices that are like 60-80% of the channels-compatible market don't (firetv stick).

I guess my point here is that you guys already did virtually all of the work and when used in the use case you had originally planned, works really well. I'm just asking that you allow that to also work on the local network with a couple switches because it essentially solves all the physical issues we're discussing.

Even more to the point, I'm willing to send you guys a few bucks every month for a really long time because channels is WAY slicker than plex for my needs. Plex already offers the transcoding I want but has a number of other undesirable usability issues especially for non-technical family members.

And just to drive my hope home here, please please allow this because Channels is so much better than my alternative, please don't make me suffer!

I suppose this all depends upon your router, and whether you are using a zone– or interface–based scenario.

I guess the other aspect of this that is often overlooked, is that most users think that all forms of video entering their home work exactly the same as Netflix—reencoded for streaming, while adaptive bitrates that adjust to network conditions on the fly. The reality is that broadcast TV streams are the complete opposite, and are bandwidth intensive. This leads users to use the "if Netflix can make movies look great over WiFi, why can't Channels" argument, without realizing that they're comparing apples and bowling balls.

true..... but you guys have a robust HLS adaptive transcoder you use for remote viewing so that kind of re-shapes that bowling ball to resemble the apple... ie, we want a checkbox that says 'deliver apples to clients on the LAN, not bowling balls'.

I run an MSP and a wISP and I've hammered on ffmpeg for multi-stream HLS output as well. Point being I'm technically literate in the underlying networking and codecs. I'm well aware that a 'just in time' type encoding that Channels really MUST use for live TV cannot compete with a 'better' encoding from the likes of Netflix who can do 2-pass or other more latency additive methods. Live to HLS already introduces some 3-6 seconds delay just laying down the chunks. I don't expect Channels to produce a 1080P 3Mbps stream that matches netflix, no doubt 5-6Mbps is required to get similar results

I've tried to make that case that I don't really need to match netflix though. I'm perfectly happy with a 1080p 3Mbps stream's quality. I certainly put that at a higher preference than any video that pauses because I can only get ~5Mbps to the tablet in my kid's room and that just wont cut it for MPEG2.

If we're using netflix as an example, I think most everyone has seen netflix back down to a 360P 500kbps blocky muddy uglyness for a few seconds on occasion, but the user experience of seeing that VS a spinning logo on the screen is huge.

There is absolutely no level of encoding that is worse than the video pausing every 3 seconds.

And no matter what your router setup is, QoS or not, WiFi is WiFi is WiFi and pushing MPEG2 over WiFi is the issue. If the adaptive encoder is in use, then when the WiFi get's funky, or even if the QoS engine chokes down the connection, the client would adapt to the lower encoding and the experience would be maintained.

I feel like you guys are wanting to push a policy of wiring everything up. If WiFi can't handle the stream, then eliminate WiFi. I suspect that most people that experience this issue will simply cancel the Channels service and say it was crap etc.

I like Channels. I think it's a very slick package with a ton of potential. I'm only here 'arguing' with you because of that.

I hope you guys will come around to my way of thinking. I'm going to leave this as my last post in this thread (unless you ask me a question) and just let it be. I think I've made my wants clear here and maybe others will chime in and let you know I'm not a corner case.

Thanks for the read and thanks for the killer product. You guys rock.

1 Like