google / ExoPlayer

This project is deprecated and stale. The latest ExoPlayer code is available in https://github.com/androidx/media
https://developer.android.com/media/media3/exoplayer
Apache License 2.0
21.72k stars 6.03k forks source link

Decoding artifacts on Sony which are not present with ExoPlayer v1 #7009

Open stari4ek opened 4 years ago

stari4ek commented 4 years ago

[REQUIRED] Issue description

There're users reporting about decoding artifacts on Sony TV which present on ExoPlayer v2, but missing from ExoPlayer v1.

Direct comparison demo v2 vs v1 using live stream and local file:

Same kind of issues reported on older exoplayer v2 than demo used to reproduce:

Some notable things about artifacts:

[REQUIRED] Reproduction steps

Play provided media in v2 demo player on Sony TV Logcat grabbed from demo v2:

[REQUIRED] Link to test content

[REQUIRED] A full bug report captured from the device

Issue is reported by user. I do not own a device to reproduce it locally

[REQUIRED] Version of ExoPlayer being used

[REQUIRED] Device(s) and version(s) of Android being used

nextsux commented 4 years ago

We're currently experiencing similar issues. It can be reproduced ONLY using SONY tv with exoplayer. exo (release-v2, 49910fe72579c4e55e14b47b0cf3d3ced9474219): https://www.youtube.com/watch?v=qxSElIqN_AQ&feature=youtu.be mx player/VLC works fine: https://www.youtube.com/watch?v=cIQtHdGPn8s&feature=youtu.be

there is nothing interesting in lolcat: https://gist.github.com/nextsux/1758bd4c2818c571f4c2b307d3983c52

demo file which reproduces this issue: https://drive.google.com/file/d/1P1vANEIryfPeeXp9fc9pkhBPe4RPhNWC/view?usp=sharing

Sony TV: Android 8.0.0, BRAVA_ATV2_EU

We're pretty sure it started happening with some update from sony but we do not have any proof ATM.

Manasovo commented 4 years ago

I have a similar issues. Tested on few SONY TV year 2015, 2016 and 2017. Always the same ... flickering picture like mpeg fragment when content in tv scrolling.

nextsux commented 4 years ago

Have you managed to test it @Samrobbo ?

ojw28 commented 4 years ago

The COVID-19 situation means that it wont be possible for us to test this for the foreseeable future, unfortunately.

Manasovo commented 4 years ago

What you need for doing a tests ? What can we do for you ? In this COVID-19 situation in Czech Republic we have more and more customers (schools are closed, childrens are at home, parents too) on SONY TV so we have a big motivation to help you.

ojw28 commented 4 years ago

If this is specific to Sony TVs, we'd need physical access to a Sony TV device, which we do not have at the moment because our office is closed.

That said, the video track of the test content fails to play on multiple other devices (Pixel, Galaxy S8). It seems relatively likely that the media is invalid in some way.

Manasovo commented 4 years ago

OK we can buy this Sony TV for you and deliver to your home address like a gift. It's ok for you ? Of course with our IPTV platform account :)

ojw28 commented 4 years ago

Thanks for the offer, but that's not something we can really accept. There are also other issues (e.g., space in people's homes, general decreased working efficiency meaning that we're not able to cover as much ground as usual, etc).

Given the test content fails to play on multiple other devices too, a good next step would be for us to investigate what's going on there, and whether it's any different when using V1.

stari4ek commented 4 years ago

Some "what if" information reported by user who is facing the problem. Same streaming provider added new stream, which is a bit different from those one with artifacts and it does not have this issue.

Mediainfo diff (non relevant info dropped)

--- <unnamed>
+++ <unnamed>
@@ -10,19 +10,19 @@
 Format settings             : CABAC / 4 Ref Frames
 Format settings, CABAC      : Yes
 Format settings, ReFrames   : 4 frames
+Format settings, GOP        : M=4, N=28
 Codec ID                    : 27
 Width                       : 1 920 pixels
 Height                      : 1 080 pixels
 Display aspect ratio        : 16:9
 Frame rate                  : 25.000 FPS
-Standard                    : Component
 Color space                 : YUV
 Chroma subsampling          : 4:2:0
 Bit depth                   : 8 bits
-Scan type                   : Interlaced
-Scan type, store method     : Separated fields
+Scan type                   : MBAFF
+Scan type, store method     : Interleaved fields
 Scan order                  : Top Field First
-Bits/(Pixel*Frame)          : 0.221
+Bits/(Pixel*Frame)          : 0.184
 Color range                 : Limited
 Color primaries             : BT.709
 Transfer characteristics    : BT.709
@@ -32,13 +32,13 @@
 Format                      : MPEG Audio
 Format version              : Version 1
 Format profile              : Layer 2
-Codec ID                    : 4
+Codec ID                    : 3
 Bit rate mode               : Constant
 Channel(s)                  : 2 channels
 Sampling rate               : 48.0 kHz
 Frame rate                  : 41.667 FPS (1152 SPF)
 Compression mode            : Lossy
-Delay relative to video     : -916 ms
+Delay relative to video     : -1 s 112 ms

 Text
 Format                      : Teletext Subtitle
ojw28 commented 4 years ago

See #7248 for an additional bug report, sample content etc.

griller29 commented 3 years ago

This issue is fixed in v6.7140 update.

kareljuricka commented 3 years ago

After updated to v6.7140, it seems to me that problem is solved only for AVC (H.264) codec.

For HEVC (H.265) problem still occurs.

TV: BRAVIA_ATV3_4K_EU, ANDROID TV 9 (updated to v6.7140)

exo (release-v2, 107fed9b2): H.265: https://www.youtube.com/watch?v=V28J-KIC6ys - see artifacts appearing, BUG persists H.264: https://www.youtube.com/watch?v=lYwh2mDMW3w - no artifacts at all, thats OK from update

demo files: https://drive.google.com/drive/folders/1SkGPRf5ObVtV8_pOFuT6pUhYOtleFOoV?usp=sharing

log: exo-lolcat.txt - it seems OK

Using vlc/mx player with H.265 for this stream is without problems, bug is only with exo player.

So I think this issue shoud be reopened 'cause of not complete fix.