Closed nikdroid closed 7 years ago
I have the same problem, more or less. From my own logs, which can also be seen in the log OP posted, this one seems to be the culprit:
Track:0, id=1, mimeType=video/avc, res=750x1334, supported=NO_EXCEEDS_CAPABILITIES
No real clear reason why it "exceeds capabilities"... I haven't tested the file with Exoplayer v1, but I can play the file using a VideoView. In my case I'm playing a local file though.
For me, it happens on Android 5.1 and on a HTC One m7 device (GPE edition). I also tested on a Moto X running Android 6, which plays the video without problems.
Finally, some codec information about the file I'm trying to play: https://gist.github.com/Xanderrr/e9ab68d5d5c443cc757546267ccecde6
The device is indicating that it doesn't support the media you're attempting to play. It's likely the device is under-reporting its capabilities, given your observations. We'll need to get hold of a device and have a look.
@ojw28 @Xanderrr Thanks for your replay. But the main issue is, as mentioned, it works fine with old library i.e. r1.5.9 but fails to do so on r2.0.4!!
V2 performs more checks than V1 did, so that isn't inconsistent with the diagnosis. We don't want to revert the additional checks because they prevent playback failures on other correctly functioning devices.
Yes, v2 does more checks, I modified MediaCodecAudioRenderer
to fix a problem with audio/mpeg-L2. You could modify MediaCodecVideoRenderer
as a workaround to fix your problem.
I don't think disabling the additional checks is a good solution in the general case. What we'll do is:
I suspect we'll pretty squash out the most common cases (and I'd be surprised if there are a huge number of cases required; most likely the majority of these issues are with older, possibly lower end devices).
I am working on playing MPEG2 TS on Amlogic Tv Box S905X (android version 6.0.1), the tracks:
Tracks [
Renderer:0 [
Group:0, adaptive_supported=N/A [
[X] Track:0, id=null, mimeType=video/mpeg2, res=720x576, supported=YES
]
]
Renderer:1 [
Group:0, adaptive_supported=N/A [
[ ] Track:0, id=null, mimeType=audio/mpeg-L2, channels=2, sample_rate=48000, supported=NO_EXCEEDS_CAPABILITIES
]
]
]
The stream has 2 audio channels that exceeds the device capability.
This is a device specific issue, the workaround works for my case, maybe not for others.
Hi, Is there a way to bypass the video size check ? At the moment I'm modify isVideoSizeSupportedV21 method to return true based on device model and resolution to be able to play high res video with galaxy Note 4.
public boolean isVideoSizeSupportedV21(int width, int height) {
if(width <= 3840 && height <= 1920 && android.os.Build.MODEL.equalsIgnoreCase("SM-N910F"))
return true;
...
Is there a cleaner way to do that ?
Please could anyone encountering this issue:
dev-v2
code.adb logcat -s "MediaCodecInfo"
here. You should see a bunch of lines containing "FalseCheck" the detail exactly why the stream wasn't played.Thanks!
/com.google.android.exoplayer2.demo D/MediaCodecInfo: FalseCheck [size.support, 3840x1920] [OMX.qcom.video.decoder.avc, video/avc] [trlte, SM-N910F, samsung, 23]
The change ref'd above will have helped with vertical videos (i.e. where height > width). We're still working on ways to mitigate this issue for other videos.
We also have a video which is not working (no video, only audio) with ExoPlayer v2 but works in a simple VideoView. Using the latest dev-version (e56cf49) we get the following output in the logs:
11-28 12:03:26.072 D/MediaCodecInfo: NoSupport [size.support, 1280x720] [OMX.Exynos.mpeg4.dec, video/mp4v-es] [gts210wifi, SM-T810, samsung, 23]
The video has the following settings:
General Format : MPEG-4 Format profile : Base Media / Version 2 Codec ID : mp42 File size : 7.57 MiB Duration : 57s 942ms Overall bit rate mode : Variable Overall bit rate : 1 096 Kbps Encoded date : UTC 2016-09-21 15:02:58 Tagged date : UTC 2016-09-21 15:02:58 Writing application : HandBrake 0.10.2 2015061100
Video ID : 1 Format : MPEG-4 Visual Format profile : Simple@L1 Format settings, BVOP : No Format settings, QPel : No Format settings, GMC : No warppoints Format settings, Matrix : Default (H.263) Codec ID : 20 Duration : 57s 880ms Bit rate : 961 Kbps Width : 1 280 pixels Height : 720 pixels Display aspect ratio : 16:9 Frame rate mode : Constant Frame rate : 25.000 fps Color space : YUV Chroma subsampling : 4:2:0 Bit depth : 8 bits Scan type : Progressive Compression mode : Lossy Bits/(Pixel*Frame) : 0.042 Stream size : 6.63 MiB (88%) Writing library : Lavc55.34.1 Encoded date : UTC 2016-09-21 15:02:58 Tagged date : UTC 2016-09-21 15:02:58
Audio ID : 2 Format : AAC Format/Info : Advanced Audio Codec Format profile : LC Codec ID : 40 Duration : 57s 942ms Bit rate mode : Variable Bit rate : 132 Kbps Channel(s) : 2 channels Channel positions : Front: L R Sampling rate : 48.0 KHz Compression mode : Lossy Stream size : 928 KiB (12%) Title : Stereo / Stereo Language : English Encoded date : UTC 2016-09-21 15:02:58 Tagged date : UTC 2016-09-21 15:02:58
Thanks! We'll shortly be pushing a change that will allow you to enable exceeding of reported decoder capabilities. It will be off by default, but it will be possible to enable it with a single line of code.
Once this change has landed you'll be able to enable the option to get back to what V1 did. We'll then consider either:
Fixed in dev-v2
.
Environment :
Device Samsung GT-S7262 android version 4.1.2, RAM 512MB
install the exo player demo app and start playing "YouTube DASH Google Glass(MP4,H264)" video, we have observed following issue only on this particular device:
Behaviour with Exo player library version : r2.0.4 :
Video is not rendered. Everything else works fine. (You can hear audio, and see the video controllers) We have attached the log file bug_report_log.txt which shows the failure log.
Behaviour with Exo player library version : r1.5.9 : Everything works fine.
Above issue occurs on this particular device only. And it happens with all url given in demo app except for mp4 url.
As you can observe, exoplayer demo app ( library r1.5.9) works where as the one with newer library (r2.0.4) has issues; on the same device, same environment.
As we are using r2.0.4 in our app, we are facing this issue. Pl provide a fix or a workaround!