Jump to content

Live TV Discolored


OneAn9ryN00b
Go to solution Solved by BMelz,

Recommended Posts

troyhough
2 minutes ago, roaku said:

Are you playing back MPEG2 video in any other app?

Channels DVR and VLC.

  • Thanks 1
Link to comment
Share on other sites

Press1Now

Just curious, Any updates on this ? I just bought the Pixel 7 Pro and getting the same thing. Only happens on Live TV and recorded Live TV.

  • Agree 1
Link to comment
Share on other sites

On 11/22/2022 at 6:39 PM, Press1Now said:

Just curious, Any updates on this ? I just bought the Pixel 7 Pro and getting the same thing. Only happens on Live TV and recorded Live TV.

HI, we are looking into it. Thanks.

  • Like 1
Link to comment
Share on other sites

I have  Pixel 7.  I have this same issue when doing live TV that are not HD and playing back recording that are not HD

HD channels play fine.

Also if I am playing a non HD file if I change the Quality from Auto to 480P-kpbs the display is OK.

 

  • Agree 1
Link to comment
Share on other sites

swhiting

I have a similar issue with my Pixel 7 Pro (Android 13). Every time I play a video through the app (it doesn't matter if it's Live TV or not), I get the weird discolored look. The only solutions I have found so far are either setting the In-App settings for video playback to a lower quality which fixes the color issue but increases buffering since it now needs to be transcoded further, or accessing the videos via a web browser. Please fix this.

  • Agree 2
Link to comment
Share on other sites

  • 2 weeks later...
  • 2 weeks later...
  • 2 weeks later...
StretchF
Thank you to swhiting for the workaround.
I have been aware of this issue for many months with my Pixel 6 (Android 13).
The discoloration only happens for Live TV SD channels. HD channels are fine.
Using the HDHomerun app all SD and HD channels play correctly.
The problem does not happen when using EMBY on Windows or iOS
 
In the Emby Android app, Click on the Login icon and select App Settings (Emby for Android 3.2.90)
Select Playback and under Video, change Home network quality to 720p - 2 Mbps (720p - 3 and 4 Mbps did not correct the problem)
I also changed the setting for Internet quality to 720p - 2 Mbps
Edited by StretchF
Link to comment
Share on other sites

troyhough

Just got 3.2.92 on my P7P. Live TV discolor issue appears to be fixed!

Edited by troyhough
  • Like 1
Link to comment
Share on other sites

17 minutes ago, troyhough said:

Just got 3.2.92 on my P7P. Live TV discolor issue appears to be fixed!

Are you positive? Can you double check that it was direct playing?

  • Agree 1
Link to comment
Share on other sites

troyhough
9 minutes ago, Luke said:

Are you positive? Can you double check that it was direct playing?

Crap you're right. Was testing a 4K feed last night w/ transcoding and forgot to set it back to max.

Link to comment
Share on other sites

  • 2 months later...
MikeD315

So, is this just never going to work on Pixel phones?  What's the deal here?  Is it the phone or Emby?

  • Agree 1
  • Thanks 1
Link to comment
Share on other sites

troyhough
On 4/6/2023 at 9:05 PM, MikeD315 said:

So, is this just never going to work on Pixel phones?  What's the deal here?  Is it the phone or Emby?

It's not the phone. Playback is perfect with VLC and Channels DVR.

  • Like 1
Link to comment
Share on other sites

  • 4 weeks later...
VuongNguyen

Hi! I just received my monthly receipt for emby and was reminded of this issue. Is this a Pixel specific issue? Is there an ETA for a fix?

  • Agree 1
Link to comment
Share on other sites

Chiefmas

putting a tldr in, but honestly, the tldr section is still long itself. :D

Chiming in here- my post will be a slight hijack, but it seems like it might be related. I'm seeing the same issues on a Pixel 6 Pro with various old media formats. I've been doing some testing, it's not totally thorough though, and apologies, I didn't organize the codec observations well.

I've seen it happening in:

  • WMV2
  • WMV3
  • MPEG-2
  • MPEG-4 with Advanced Simple Profile@L5 sorta
  • MPEG-1

There are some interesting things that I've noticed, that are at least part of the problem in my case, but maybe will help you guys figure the problem out.

With the mpeg-1 streams, I've noticed that they are program streams. The video wasn't displaying, but the audio does, with glitches. I then tried remuxing the file to mp4. This gives me a somewhat similar result, but not exact. The remuxed file wouldn't play at all, no audio or video. I then accidentally locked my screen, and found it would play from the lock screen, and no longer had the glitches. The remux seemed to fix audio, which I am guessing is it having trouble with the original file being a mpeg program stream; it can demux mp4 properly so it handle the audio fine, but I don't think the modern phones have hw support for the old mpeg-1 format(which I think this particular video is in).  So it seems like the video stream, if the hardware can't cope with it at all, jams things up. when the screen was locked, I think it's just discarding the video stream, and it could handle the mp3 audio, so it would play. This was indicated as using Direct Play.

 With the WMV streams, it was somewhat not surprising, my server shows Direct Streaming, and I'm not sure how well the WMV streams are supported; that said- I then tried using BSPlayer to play the files back(VLC is great, but it doesn't tell you when it's fallen back to software decode). BSP indicates for WMV, it drops back to software playback, no surprise there.

I have some AVI files that have video encoded with a few different codecs(Xvid vs DivX) and different settings (2 are ASP@L5, one is Simple@L3). 

With the ASP@L5 files, things start to get wonky. One was encoded with Xvid, it gets direct streamed and works fine, the other is DivX, and does the pause/no video, but plays audio when paused like the mpeg-1 video. Besides the encoder, the other obvious difference, the one that doesn't play properly is BVOP1, the one that does is BVOP2. I don't know if that's the source of the issue, but it was the most obvious difference- comparing metadata between Xvid and DivX is rather a pain- that's what stood out. BSPlayer tries a hw decode pipeline with both of these, but as with Emby, only the one plays.

Now, I had one AVI that had a Simple@L3 encoded with Xvid. In this case, all seemed fine, and then I realized Emby had actually decided to transcode this one- it's surprising it transcodes this one but not the other mpeg-4 encodes. BSPlayer also dropped back to software decode, so the hw seems to indicate that it can't do Simple Profile at all? Seems weird that it can do some ASP, or at least tries to, but whatever....

The mpeg-2 video I tested get direct streamed, and has the color shift. BSPlayer indicates that it is dropping back to software decode for both mpeg-1 and mpeg-2. In both cases it also indicates that after the decode stage, it's using a GPU assisted conversion to RGB32 (Unsurprisingly, they are stored in YUV color spaces). 

Everything plays fine when using pure software decode on BSPlayer(and VLC android, which I also did some tests with), and from a PC. I don't think any of the files have any stream or file corruption.

I did some light searching, and came across this:

https://developer.android.com/guide/topics/media/media-formats

TLDR;

So, putting all of that together, for the Live TV issues, I wonder if maybe they are getting an mpeg-2 stream in the broadcast and it's not coping with that correctly, or maybe the GPU RGB conversion is happening or not happening when it should/shouldn't after a decode stage? I could see the color shift being a result of the color space not being translated to RGB32 when it should. That link doesn't explicitly mention mpeg-2 within a MPEG TS, but I could also see maybe they didn't bother, since you don't see mpeg-2 transport streams as much any more. Of course, that could vary by whatever the local broadcaster is doing I suppose.

For my particular issues, it seems like the Android client should request transcoding for mpeg-4 part 2 streams, WMV, and anything else that's not AVC/HEVC. I seem to be getting direct streams for those codecs, and it seems like for max compatibility, it's probably safest to just assume you can't direct stream those codecs, probably even mpeg-2 if I'm being honest, though that probably doesn't happen as much. You could see it in some BluRay rips, though I don't think you see mpeg-2 on BluRay much anymore these days.

Hopefully that might help you guys track down the issues...maybe other folks having Live TV color shifts can check their feeds to see what color space and codec is being used in the broadcast, that might prove helpful I think...

Addendum: I just scrolled the link a little bit more and see in the video codecs they do say the explicitly support MPEG-4 SP, but it expects it to be in a 3gp container. I wonder if I remux to 3gp if that would make it work, but I don't run into it that often and so I don't care enough to mess with it any further. :) They don't mention ASP at all, which I think just supports my earlier suggestion that if mpeg-4 pt2 (or nearly anything else that's not H264/h265 already) content is seen, the best option, at least for Android players is to just transcode those without bothering with a DirectPlay/DirectStream. I suppose VP8 and VP9 could be left alone, but honestly, those are so rare IME, I don't really care much about them, I'd rather more focus be on AV1 than the older iterations.

Incidentally, I did try playing through the web browser instead- unsurprisingly everything plays back fine there, but the browser profile for Emby is just causing all of them to get transcoded to h264.

 

 

 

Edited by Chiefmas
Link to comment
Share on other sites

MikeD315

So, this issue doesn't happen with the latest version of Jellyfin, however I noticed that Jellyfin by default is transcoding everything.  Streaming a regular ATSC 1.0 channel I see the following in the Jellyfin dashboard for my Pixel 7 running their Android client:

The media is being converted into a format that is compatible with the device that is playing the media.
Framerate: 32fps

20.4 Mbps TS H264 AAC

Reason for transcoding:
The container is not supported
The video codec is not supported
The audio codec is not supported

In contrast, when I check the Emby dashboard while playing it shows direct play for everything, stream, video and audio are all direct play.

Edited by MikeD315
Link to comment
Share on other sites

Is anyone on the android 14 beta? One user has reported this resolved with that.

Link to comment
Share on other sites

troyhough
On 5/18/2023 at 10:46 AM, Luke said:

Is anyone on the android 14 beta? One user has reported this resolved with that.

So we should be good to go in November?

:lol:

Link to comment
Share on other sites

  • 1 month later...
  • 2 months later...
troyhough
On 10/13/2023 at 5:29 PM, BMelz said:

Confirmed resolved in latest Android 14 release. 

Yes fixed on pixel 8 running Android 14.

  • Agree 1
  • Thanks 1
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...