-
-
Notifications
You must be signed in to change notification settings - Fork 2.9k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Force Transcoding LiveTV #2160
Force Transcoding LiveTV #2160
Conversation
ServerCertificateValidationCallback on the ServicePointManager is not supported in .NET Core and outgoing https requests will fail if the certificate is not trusted. This adds the equivalent functionality
Update MediaInfoService.cs
I have a few reservations about this change.
I would much rather have some kind of method within the player (above the Auto setting) to request |
So this pulls the RemoteMedia trigger so it only impacts external feeds such as live tv. The setting itself is set on the admin page, not by the user. With further testing, it's revealing behind the scenes transcoding issues such as those with clients reporting their wrong compatibility.
This is an attempt to stream on Android. If I use a browser and watch a stream, I have success so it's limited to the android app, I haven't tested my android TV but I imagine that it will have the same issue. I would like to fix the client compatibility but I'm not sure where it's located in the coding yet. |
nightly, big one
Doing some more testing, when this is turned on, video, audio and container all say not compatible and all 3 will be transcoded. I think that remuxing the container from mpegts to hls alone would solve the issue, no need to transcode the video/audio. I noticed this when I started to have a few channels that would suddenly have poor performance.
|
Allow valid https requests in .NET Core
Revert "Allow valid https requests in .NET Core"
All in all, this looks a bit overcomplicated for "forcing" a flag. I should probably read it once more... |
I welcome any improvements :). Transcoding instead of DirectStream might be required unless you know a better method of handling this issue:
|
The remuxing issue is creeping up here since livetv can't get right when it comes to Anamorphic Containers. I think that's why audio was transcoding as well, haha. I'm gonna look to see if I can find where FFmpeg is told to use SAR instead of DAR. |
@thornbill added you since you'd be good to see its performance on Android TV. @nielsvanvelzen and I have confirmed a live tv issue in 0.11.1 by using the forced transcoding policy enabled in this PR. |
Fix MaxBitrate
it was tabs
Update MediaInfoService.cs
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Let's break stuff
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Still feels like a hack instead of a solution (I still think it's a problem of somehow broken source which we should detect and re-encode if it's broken without requiring user to tick something manually), but better do this for now than have this broken I think.
@Artiume Seemed to work, with both the SD and HD channel, I tested to a 3rd gen chromecast. If this is stable then it saves me running a 2nd TvH instance (the wetek play doesn't have enough grunt to transcode) |
Awesome. I've had reports of audio being out of sync or messed up on fire stick, let me know if you notice anything like that. My first revision forced transcode the audio as well. |
So far all i've noticed is ffmpeg is still taking a lot of CPU after I turned off power to the chromecast, I'm not sure if the JF server noticed it's gone yet. |
If you set max streams available, you should be able to see something in the logs about reducing consumer count when the server releases the stream. |
It did eventually release it, Jellyfin interface is rather slow to respond but I think it's the Iowait on the terrible HDD in the machine it's running on (Mac Mini I had spare, running proxmox), really should get around to taking it to bits and putting an SSD in. |
Makes sense, glad you've found it useful :) |
Changes
Server side PR to enable Force Transcoding for Remote Streams. This should fix several issues. On Android clients, I am currently unable to stream livetv since the backend doesn't fallback to transcode on Direct Play failure. This is also an attempt to increase play-ability for clients that don't correctly report their compatibility. See attached issue for source.
Web Side PR jellyfin/jellyfin-web#636
Issues
#1202