- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在 Askey Android 电视盒 (Android 9) 上播放我们自己的一些受 DASH+widevine 保护的直播流时,视频几秒钟后就会卡住,而音频仍在继续。我还看到视频 block 仍在获取中。到目前为止,我们使用的所有其他 Android 设备上都可以成功播放相同的流。
在尝试了几个 ExoPlayer 版本(v2.7.3、v2.9.x)之后,我将播放代码集成到了 github 上的 ExoPlayer 演示播放器(v2.10.5)中。这里出现了同样的问题:视频卡住,音频继续。
由于其他直播流在 Askey AndroidTV 盒子上运行没有问题,因此结论可能是该流的配置以某种方式触发了此问题。但是流配置对于工作/失败的流来说是相同的,并且播放器日志没有显示任何关于为什么会发生这种情况的线索。除了这个不断出现的错误之外,当玩家不活跃时也是如此:
E libc : Access denied finding property "persist.vaudio.debug.search"
W HwBinder:3034_1: type=1400 audit(0.0:285045): avc: denied { read } for name="u:object_r:default_prop:s0" dev="tmpfs" ino=13267 scontext=u:r:hal_audio_default:s0 tcontext=u:object_r:default_prop:s0 tclass=file permissive=0
以下是视频卡住的播放日志。卡住发生在时间线更改的时间戳 4.34 之后。
W/ActivityThread: handleWindowVisibility: no activity for token android.os.BinderProxy@87575b6
I/ExoPlayerImpl: Init d420716 [ExoPlayerLib/2.10.5] [Android TV Box, askey, 28]
D/EventLogger: state [0.01, 0.00, window=0, true, BUFFERING]
D/mali_winsys: EGLint new_window_surface(egl_winsys_display *, void *, EGLSurface, EGLConfig, egl_winsys_surface **, EGLBoolean) returns 0x3000
D/EventLogger: surfaceSizeChanged [0.09, 0.00, window=0, 1920, 1080]
D/EventLogger: timelineChanged [0.15, 3.99, window=0, periodCount=1, windowCount=1, reason=PREPARED
period [?]
window [29.99, true, true]
]
D/EventLogger: mediaPeriodCreated [0.15, 3.99, window=0, period=0]
loading [0.15, 3.99, window=0, period=0, true]
decoderEnabled [0.15, 3.99, window=0, period=0, video]
D/EventLogger: decoderEnabled [0.16, 3.99, window=0, period=0, audio]
D/EventLogger: tracksChanged [0.16, 3.99, window=0, period=0,
D/EventLogger: Renderer:0 [
Group:0, adaptive_supported=YES [
D/EventLogger: [X] Track:0, id=dzGAGgaf, mimeType=video/avc, bitrate=400000, codecs=avc1.42e00d, res=400x224, fps=25.0, supported=YES
[X] Track:1, id=dzEANQyf, mimeType=video/avc, bitrate=800000, codecs=avc1.4d401e, res=640x360, fps=25.0, supported=YES
D/EventLogger: [X] Track:2, id=dzHgyBCf, mimeType=video/avc, bitrate=1100000, codecs=avc1.4d401e, res=704x396, fps=25.0, supported=YES
[X] Track:3, id=dzEAahif, mimeType=video/avc, bitrate=1600000, codecs=avc1.4d401f, res=1024x576, fps=25.0, supported=YES
]
]
Renderer:1 [
Group:0, adaptive_supported=N/A [
[X] Track:0, id=dyHiAZ8., mimeType=audio/mp4a-latm, bitrate=128000, codecs=mp4a.40.2, channels=2, sample_rate=48000, language=nl, supported=YES
]
]
]
D/EventLogger: mediaPeriodReadingStarted [0.18, 3.99, window=0, period=0]
D/EventLogger: downstreamFormatChanged [0.26, 3.99, window=0, period=0, id=dzEAahif, mimeType=video/avc, bitrate=1600000, codecs=avc1.4d401f, res=1024x576, fps=25.0]
D/EventLogger: downstreamFormatChanged [0.27, 3.99, window=0, period=0, id=dyHiAZ8., mimeType=audio/mp4a-latm, bitrate=128000, codecs=mp4a.40.2, channels=2, sample_rate=48000, language=nl]
D/EventLogger: drmSessionAcquired [0.39, 3.99, window=0, period=0]
I/OMXClient: IOmx service obtained
W/libEGL: EGLNativeWindowType 0xd4205808 disconnect failed
D/SurfaceUtils: connecting to surface 0xd1c85008, reason connectToSurface
I/MediaCodec: [OMX.amlogic.avc.decoder.awesome.secure] setting surface generation to 6428686
D/SurfaceUtils: disconnecting from surface 0xd1c85008, reason connectToSurface(reconnect)
connecting to surface 0xd1c85008, reason connectToSurface(reconnect)
I/AmAVUtils: AmAVUtils::getComponentRole isEncoder :0 mime:video/avc
V/AVUtils: AVUtils::getComponentRole
E/ACodec: [OMX.amlogic.avc.decoder.awesome.secure] setPortMode on output to DynamicANWBuffer failed w/ err -2147483648
I/AmAVUtils: AmAVUtils::isAudioExtendFormat input = video/avc
I/ACodec: codec does not support config priority (err -1010)
D/SurfaceUtils: disconnecting from surface 0xd1c85008, reason setNativeWindowSizeFormatAndUsage
connecting to surface 0xd1c85008, reason setNativeWindowSizeFormatAndUsage
D/SurfaceUtils: set up nativeWindow 0xd1c85008 for 1024x576, color 0x11, rotation 0, usage 0x406933
D/EventLogger: decoderInitialized [0.65, 3.99, window=0, period=0, video, OMX.amlogic.avc.decoder.awesome.secure]
D/EventLogger: decoderInputFormatChanged [0.65, 3.99, window=0, period=0, video, id=dzEAahif, mimeType=video/avc, bitrate=1600000, codecs=avc1.4d401f, res=1024x576, fps=25.0]
I/OMXClient: IOmx service obtained
I/AmAVUtils: AmAVUtils::getComponentRole isEncoder :0 mime:audio/mp4a-latm
V/AVUtils: AVUtils::getComponentRole
I/AmAVUtils: AmAVUtils::isAudioExtendFormat input = audio/mp4a-latm
I/ACodec: codec does not support config priority (err -2147483648)
I/ACodec: codec does not support config operating rate (err -2147483648)
D/EventLogger: decoderInitialized [0.89, 3.99, window=0, period=0, audio, OMX.google.aac.decoder]
D/EventLogger: decoderInputFormatChanged [0.89, 3.99, window=0, period=0, audio, id=dyHiAZ8., mimeType=audio/mp4a-latm, bitrate=128000, codecs=mp4a.40.2, channels=2, sample_rate=48000, language=nl]
D/EventLogger: drmKeysLoaded [3.40, 3.99, window=0, period=0]
D/EventLogger: videoSizeChanged [3.50, 3.99, window=0, period=0, 1024, 576]
D/EventLogger: renderedFirstFrame [3.52, 3.99, window=0, period=0, Surface(name=null)/@0xcb34ae4]
D/EventLogger: audioSessionId [3.53, 3.99, window=0, period=0, 465]
D/EventLogger: state [3.55, 3.99, window=0, period=0, true, READY]
D/AudioTrack: correcting timestamp time for pause, currentTimeNanos: 2143457176437 < limitNs: 2143461518478 < mStartNs: 2143503518478
D/AudioTrack: correcting timestamp time for pause, currentTimeNanos: 2143457176437 < limitNs: 2143461518478 < mStartNs: 2143503518478
D/AudioTrack: correcting timestamp time for pause, currentTimeNanos: 2143457176437 < limitNs: 2143461518478 < mStartNs: 2143503518478
D/EventLogger: timelineChanged [3.63, 0.00, window=0, period=0, periodCount=1, windowCount=1, reason=DYNAMIC
period [?]
window [29.98, true, true]
]
D/EventLogger: timelineChanged [4.34, 0.66, window=0, period=0, periodCount=1, windowCount=1, reason=DYNAMIC
period [?]
window [29.98, true, true]
]
D/EventLogger: timelineChanged [6.76, 1.08, window=0, period=0, periodCount=1, windowCount=1, reason=DYNAMIC
period [?]
window [29.98, true, true]
]
D/EventLogger: timelineChanged [8.44, 0.77, window=0, period=0, periodCount=1, windowCount=1, reason=DYNAMIC
period [?]
window [29.99, true, true]
D/EventLogger: ]
D/EventLogger: timelineChanged [10.51, 0.83, window=0, period=0, periodCount=1, windowCount=1, reason=DYNAMIC
period [?]
D/EventLogger: window [29.99, true, true]
]
D/EventLogger: timelineChanged [12.15, 0.47, window=0, period=0, periodCount=1, windowCount=1, reason=DYNAMIC
period [?]
window [29.98, true, true]
D/EventLogger: ]
D/EventLogger: timelineChanged [14.19, 0.50, window=0, period=0, periodCount=1, windowCount=1, reason=DYNAMIC
period [?]
window [29.98, true, true]
]
D/EventLogger: timelineChanged [16.14, 0.46, window=0, period=0, periodCount=1, windowCount=1, reason=DYNAMIC
period [?]
D/EventLogger: window [29.99, true, true]
]
D/EventLogger: timelineChanged [18.17, 0.49, window=0, period=0, periodCount=1, windowCount=1, reason=DYNAMIC
period [?]
window [29.99, true, true]
]
D/EventLogger: timelineChanged [20.14, 0.45, window=0, period=0, periodCount=1, windowCount=1, reason=DYNAMIC
period [?]
window [29.98, true, true]
]
该流有 4 个视频轨道:
除 0.40Mpbs 之外的所有轨道上都会出现卡住问题。视频在这里继续,但非常断断续续。在这种情况下,日志显示帧被丢弃:
D/EventLogger: state [773.80, -4.02, window=0, period=0, true, READY]
D/EventLogger: timelineChanged [775.48, -4.45, window=0, period=0, periodCount=1, windowCount=1, reason=DYNAMIC
period [?]
D/EventLogger: window [29.99, true, true]
]
D/EventLogger: droppedFrames [776.74, -3.19, window=0, period=0, 50]
D/EventLogger: timelineChanged [777.49, -4.45, window=0, period=0, periodCount=1, windowCount=1, reason=DYNAMIC
period [?]
window [29.99, true, true]
]
D/EventLogger: timelineChanged [779.49, -4.46, window=0, period=0, periodCount=1, windowCount=1, reason=DYNAMIC
period [?]
D/EventLogger: window [29.98, true, true]
]
D/EventLogger: droppedFrames [779.90, -4.03, window=0, period=0, 50]
D/EventLogger: timelineChanged [781.48, -4.47, window=0, period=0, periodCount=1, windowCount=1, reason=DYNAMIC
D/EventLogger: period [?]
window [29.98, true, true]
]
最后,这是卡住流的 list :
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<!--Created with VSPP Streamer version 5.2.4.2 build 95193 context 3374162112732519956-->
<MPD xmlns="urn:mpeg:dash:schema:mpd:2011" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:cenc="urn:mpeg:cenc:2013" xmlns:mspr="urn:microsoft:playready" profiles="urn:mpeg:dash:profile:isoff-live:2011" type="dynamic" availabilityStartTime="1970-01-01T00:00:00Z" publishTime="2019-10-16T09:04:33Z" timeShiftBufferDepth="PT30S" minimumUpdatePeriod="PT2S" minBufferTime="PT12S">
<Period id="1" start="PT0S">
<AdaptationSet id="1" group="1" bitstreamSwitching="true" segmentAlignment="true" contentType="video" mimeType="video/mp4" maxWidth="1024" maxHeight="576" par="16:9" maxFrameRate="25" startWithSAP="1">
<ContentProtection schemeIdUri="urn:uuid:9a04f079-9840-4286-ab92-e65be0885f95" value="MSPR 2.0">
<mspr:pro>kAMAAAEAAQCGAzwAVwBSAE0ASABFAEEARABFAFIAIAB4AG0AbABuAHMAPQAiAGgAdAB0AHAAOgAvAC8AcwBjAGgAZQBtAGEAcwAuAG0AaQBjAHIAbwBzAG8AZgB0AC4AYwBvAG0ALwBEAFIATQAvADIAMAAwADcALwAwADMALwBQAGwAYQB5AFIAZQBhAGQAeQBIAGUAYQBkAGUAcgAiACAAdgBlAHIAcwBpAG8AbgA9ACIANAAuADAALgAwAC4AMAAiAD4APABEAEEAVABBAD4APABQAFIATwBUAEUAQwBUAEkATgBGAE8APgA8AEsARQBZAEwARQBOAD4AMQA2ADwALwBLAEUAWQBMAEUATgA+ADwAQQBMAEcASQBEAD4AQQBFAFMAQwBUAFIAPAAvAEEATABHAEkARAA+ADwALwBQAFIATwBUAEUAQwBUAEkATgBGAE8APgA8AEwAQQBfAFUAUgBMAD4AaAB0AHQAcAA6AC8ALwBsAHAAcgBkAHIAbQAuAHkAZQBsAG8ALgBmAHUAdAAuAHQAZQBsAGUAbgBlAHQALQBvAHAAcwAuAGIAZQAvAHAAcgBsAGMALwByAGkAZwBoAHQAcwBtAGEAbgBhAGcAZQByAC4AYQBzAG0AeAA8AC8ATABBAF8AVQBSAEwAPgA8AEwAVQBJAF8AVQBSAEwAPgBoAHQAdABwADoALwAvAGwAcAByAGQAcgBtAC4AeQBlAGwAbwAuAGYAdQB0AC4AdABlAGwAZQBuAGUAdAAtAG8AcABzAC4AYgBlAC8AcAByAGwAYwAvAHIAaQBnAGgAdABzAG0AYQBuAGEAZwBlAHIALgBhAHMAbQB4ADwALwBMAFUASQBfAFUAUgBMAD4APABEAFMAXwBJAEQAPgBJAEMARABzAEkAZQBvADYAYQBSAEMAaQAzAFEAZwBBAEsAegBBAHcAbgBRAD0APQA8AC8ARABTAF8ASQBEAD4APABLAEkARAA+ADEAVwBqAEsANgBYAHUAYQBwAGsAbQBwADYAeAArAEUASQBhAHgAVQA0AGcAPQA9ADwALwBLAEkARAA+ADwAQwBIAEUAQwBLAFMAVQBNAD4AZgB4AGoAcABDAFMAawA3ADMAWQA0AD0APAAvAEMASABFAEMASwBTAFUATQA+ADwALwBEAEEAVABBAD4APAAvAFcAUgBNAEgARQBBAEQARQBSAD4A</mspr:pro>
<cenc:pssh>AAADsHBzc2gAAAAAmgTweZhAQoarkuZb4IhflQAAA5CQAwAAAQABAIYDPABXAFIATQBIAEUAQQBEAEUAUgAgAHgAbQBsAG4AcwA9ACIAaAB0AHQAcAA6AC8ALwBzAGMAaABlAG0AYQBzAC4AbQBpAGMAcgBvAHMAbwBmAHQALgBjAG8AbQAvAEQAUgBNAC8AMgAwADAANwAvADAAMwAvAFAAbABhAHkAUgBlAGEAZAB5AEgAZQBhAGQAZQByACIAIAB2AGUAcgBzAGkAbwBuAD0AIgA0AC4AMAAuADAALgAwACIAPgA8AEQAQQBUAEEAPgA8AFAAUgBPAFQARQBDAFQASQBOAEYATwA+ADwASwBFAFkATABFAE4APgAxADYAPAAvAEsARQBZAEwARQBOAD4APABBAEwARwBJAEQAPgBBAEUAUwBDAFQAUgA8AC8AQQBMAEcASQBEAD4APAAvAFAAUgBPAFQARQBDAFQASQBOAEYATwA+ADwATABBAF8AVQBSAEwAPgBoAHQAdABwADoALwAvAGwAcAByAGQAcgBtAC4AeQBlAGwAbwAuAGYAdQB0AC4AdABlAGwAZQBuAGUAdAAtAG8AcABzAC4AYgBlAC8AcAByAGwAYwAvAHIAaQBnAGgAdABzAG0AYQBuAGEAZwBlAHIALgBhAHMAbQB4ADwALwBMAEEAXwBVAFIATAA+ADwATABVAEkAXwBVAFIATAA+AGgAdAB0AHAAOgAvAC8AbABwAHIAZAByAG0ALgB5AGUAbABvAC4AZgB1AHQALgB0AGUAbABlAG4AZQB0AC0AbwBwAHMALgBiAGUALwBwAHIAbABjAC8AcgBpAGcAaAB0AHMAbQBhAG4AYQBnAGUAcgAuAGEAcwBtAHgAPAAvAEwAVQBJAF8AVQBSAEwAPgA8AEQAUwBfAEkARAA+AEkAQwBEAHMASQBlAG8ANgBhAFIAQwBpADMAUQBnAEEASwB6AEEAdwBuAFEAPQA9ADwALwBEAFMAXwBJAEQAPgA8AEsASQBEAD4AMQBXAGoASwA2AFgAdQBhAHAAawBtAHAANgB4ACsARQBJAGEAeABVADQAZwA9AD0APAAvAEsASQBEAD4APABDAEgARQBDAEsAUwBVAE0APgBmAHgAagBwAEMAUwBrADcAMwBZADQAPQA8AC8AQwBIAEUAQwBLAFMAVQBNAD4APAAvAEQAQQBUAEEAPgA8AC8AVwBSAE0ASABFAEEARABFAFIAPgA=</cenc:pssh>
</ContentProtection>
<ContentProtection schemeIdUri="urn:uuid:edef8ba9-79d6-4ace-a3c8-27dcd51d21ed">
<cenc:pssh>AAAAY3Bzc2gAAAAA7e+LqXnWSs6jyCfc1R0h7QAAAEMIARIQ6cpo1Zp7Saap6x+EIaxU4hoLcGFjZXRlbGVuZXQiIGU5Y2E2OGQ1OWE3YjQ5YTZhOWViMWY4NDIxYWM1NGUy</cenc:pssh>
</ContentProtection>
<ContentProtection schemeIdUri="urn:mpeg:dash:mp4protection:2011" value="cenc"/>
<SegmentTemplate timescale="10000000" media="S!d2ELREFTSF9IRDEwODASAlT-....ARYEnw__/QualityLevels($Bandwidth$)/Fragments(video=$Time$)" initialization="S!d2ELREFTSF9IRDEwODASAlT-....ARYEnw__/QualityLevels($Bandwidth$)/Fragments(video=Init)">
<SegmentTimeline>
<S t="15712166312942690" d="20000000" r="14"/>
</SegmentTimeline>
</SegmentTemplate>
<Representation id="dzGAGgaf" bandwidth="400000" codecs="avc1.42e00d" width="400" height="224" frameRate="25" sar="1:1"/>
<Representation id="dzEANQyf" bandwidth="800000" codecs="avc1.4d401e" width="640" height="360" frameRate="25" sar="1:1"/>
<Representation id="dzHgyBCf" bandwidth="1100000" codecs="avc1.4d401e" width="704" height="396" frameRate="25" sar="1:1"/>
<Representation id="dzEAahif" bandwidth="1600000" codecs="avc1.4d401f" width="1024" height="576" frameRate="25" sar="1:1"/>
</AdaptationSet>
<AdaptationSet id="2" group="2" bitstreamSwitching="true" segmentAlignment="true" contentType="audio" mimeType="audio/mp4" lang="dut">
<AudioChannelConfiguration schemeIdUri="urn:mpeg:dash:23003:3:audio_channel_configuration:2011" value="2"/>
<ContentProtection schemeIdUri="urn:uuid:9a04f079-9840-4286-ab92-e65be0885f95" value="MSPR 2.0">
<mspr:pro>kAMAAAEAAQCGAzwAVwBSAE0ASABFAEEARABFAFIAIAB4AG0AbABuAHMAPQAiAGgAdAB0AHAAOgAvAC8AcwBjAGgAZQBtAGEAcwAuAG0AaQBjAHIAbwBzAG8AZgB0AC4AYwBvAG0ALwBEAFIATQAvADIAMAAwADcALwAwADMALwBQAGwAYQB5AFIAZQBhAGQAeQBIAGUAYQBkAGUAcgAiACAAdgBlAHIAcwBpAG8AbgA9ACIANAAuADAALgAwAC4AMAAiAD4APABEAEEAVABBAD4APABQAFIATwBUAEUAQwBUAEkATgBGAE8APgA8AEsARQBZAEwARQBOAD4AMQA2ADwALwBLAEUAWQBMAEUATgA+ADwAQQBMAEcASQBEAD4AQQBFAFMAQwBUAFIAPAAvAEEATABHAEkARAA+ADwALwBQAFIATwBUAEUAQwBUAEkATgBGAE8APgA8AEwAQQBfAFUAUgBMAD4AaAB0AHQAcAA6AC8ALwBsAHAAcgBkAHIAbQAuAHkAZQBsAG8ALgBmAHUAdAAuAHQAZQBsAGUAbgBlAHQALQBvAHAAcwAuAGIAZQAvAHAAcgBsAGMALwByAGkAZwBoAHQAcwBtAGEAbgBhAGcAZQByAC4AYQBzAG0AeAA8AC8ATABBAF8AVQBSAEwAPgA8AEwAVQBJAF8AVQBSAEwAPgBoAHQAdABwADoALwAvAGwAcAByAGQAcgBtAC4AeQBlAGwAbwAuAGYAdQB0AC4AdABlAGwAZQBuAGUAdAAtAG8AcABzAC4AYgBlAC8AcAByAGwAYwAvAHIAaQBnAGgAdABzAG0AYQBuAGEAZwBlAHIALgBhAHMAbQB4ADwALwBMAFUASQBfAFUAUgBMAD4APABEAFMAXwBJAEQAPgBJAEMARABzAEkAZQBvADYAYQBSAEMAaQAzAFEAZwBBAEsAegBBAHcAbgBRAD0APQA8AC8ARABTAF8ASQBEAD4APABLAEkARAA+ADEAVwBqAEsANgBYAHUAYQBwAGsAbQBwADYAeAArAEUASQBhAHgAVQA0AGcAPQA9ADwALwBLAEkARAA+ADwAQwBIAEUAQwBLAFMAVQBNAD4AZgB4AGoAcABDAFMAawA3ADMAWQA0AD0APAAvAEMASABFAEMASwBTAFUATQA+ADwALwBEAEEAVABBAD4APAAvAFcAUgBNAEgARQBBAEQARQBSAD4A</mspr:pro>
<cenc:pssh>AAADsHBzc2gAAAAAmgTweZhAQoarkuZb4IhflQAAA5CQAwAAAQABAIYDPABXAFIATQBIAEUAQQBEAEUAUgAgAHgAbQBsAG4AcwA9ACIAaAB0AHQAcAA6AC8ALwBzAGMAaABlAG0AYQBzAC4AbQBpAGMAcgBvAHMAbwBmAHQALgBjAG8AbQAvAEQAUgBNAC8AMgAwADAANwAvADAAMwAvAFAAbABhAHkAUgBlAGEAZAB5AEgAZQBhAGQAZQByACIAIAB2AGUAcgBzAGkAbwBuAD0AIgA0AC4AMAAuADAALgAwACIAPgA8AEQAQQBUAEEAPgA8AFAAUgBPAFQARQBDAFQASQBOAEYATwA+ADwASwBFAFkATABFAE4APgAxADYAPAAvAEsARQBZAEwARQBOAD4APABBAEwARwBJAEQAPgBBAEUAUwBDAFQAUgA8AC8AQQBMAEcASQBEAD4APAAvAFAAUgBPAFQARQBDAFQASQBOAEYATwA+ADwATABBAF8AVQBSAEwAPgBoAHQAdABwADoALwAvAGwAcAByAGQAcgBtAC4AeQBlAGwAbwAuAGYAdQB0AC4AdABlAGwAZQBuAGUAdAAtAG8AcABzAC4AYgBlAC8AcAByAGwAYwAvAHIAaQBnAGgAdABzAG0AYQBuAGEAZwBlAHIALgBhAHMAbQB4ADwALwBMAEEAXwBVAFIATAA+ADwATABVAEkAXwBVAFIATAA+AGgAdAB0AHAAOgAvAC8AbABwAHIAZAByAG0ALgB5AGUAbABvAC4AZgB1AHQALgB0AGUAbABlAG4AZQB0AC0AbwBwAHMALgBiAGUALwBwAHIAbABjAC8AcgBpAGcAaAB0AHMAbQBhAG4AYQBnAGUAcgAuAGEAcwBtAHgAPAAvAEwAVQBJAF8AVQBSAEwAPgA8AEQAUwBfAEkARAA+AEkAQwBEAHMASQBlAG8ANgBhAFIAQwBpADMAUQBnAEEASwB6AEEAdwBuAFEAPQA9ADwALwBEAFMAXwBJAEQAPgA8AEsASQBEAD4AMQBXAGoASwA2AFgAdQBhAHAAawBtAHAANgB4ACsARQBJAGEAeABVADQAZwA9AD0APAAvAEsASQBEAD4APABDAEgARQBDAEsAUwBVAE0APgBmAHgAagBwAEMAUwBrADcAMwBZADQAPQA8AC8AQwBIAEUAQwBLAFMAVQBNAD4APAAvAEQAQQBUAEEAPgA8AC8AVwBSAE0ASABFAEEARABFAFIAPgA=</cenc:pssh>
</ContentProtection>
<ContentProtection schemeIdUri="urn:uuid:edef8ba9-79d6-4ace-a3c8-27dcd51d21ed">
<cenc:pssh>AAAAY3Bzc2gAAAAA7e+LqXnWSs6jyCfc1R0h7QAAAEMIARIQ6cpo1Zp7Saap6x+EIaxU4hoLcGFjZXRlbGVuZXQiIGU5Y2E2OGQ1OWE3YjQ5YTZhOWViMWY4NDIxYWM1NGUy</cenc:pssh>
</ContentProtection>
<ContentProtection schemeIdUri="urn:mpeg:dash:mp4protection:2011" value="cenc"/>
<SegmentTemplate timescale="48000" media="S!d2ELREFTSF9IRDEwODASAlT-....ARYEnw__/QualityLevels($Bandwidth$)/Fragments(audio_482_dut=$Time$)" initialization="S!d2ELREFTSF9IRDEwODASAlT-....ARYEnw__/QualityLevels($Bandwidth$)/Fragments(audio_482_dut=Init)">
<SegmentTimeline>
<S t="75418398302636" d="96256" r="1"/>
<S d="95232"/>
<S d="96256" r="2"/>
<S d="95232"/>
<S d="96256" r="2"/>
<S d="95232"/>
<S d="96256" r="2"/>
<S d="95232"/>
</SegmentTimeline>
</SegmentTemplate>
<Representation id="dyHiAZ8." bandwidth="128000" codecs="mp4a.40.2" audioSamplingRate="48000"/>
</AdaptationSet>
</Period>
</MPD>
那么我应该如何继续调查这个问题?
最佳答案
事实证明视频编解码器“OMX.amlogic.avc.decoder.awesome.secure”是原因。在 ExoPlayer 中禁用它可以解决该问题。
关于java - Askey Android 电视盒上的 ExoPlayer 直播卡住,音频继续,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58409703/
我不确定我明白这里发生了什么。 请问有人可以解释一下吗? 我收到以下错误: Type of 'exoPlayer' doesn't match the type of the overridden v
我在尝试编译 exoplayer r1.5.2 存储库时遇到问题...。当我改用 com.google.android.exoplayer:exoplayer:r1.4.2 时没有问题。 编译代码如下
我有这个简单的 .m3u8 文件 #EXTM3U #EXT-X-VERSION:5 #EXT-X-MEDIA:TYPE=AUDIO,GROUP-ID="audio",NAME="English ste
为了避免应用程序中的任何 SCSS ,从后台线程使用 exoplayer 还是从主 ui 线程使用它更好? 注意:当我在主 ui 线程中创建一个 simpleExoPlayer 时: // 1. Cr
我有一个 exoplayer 我的第一个 Activity ,当我点击全屏按钮时,我打开一个新的 VideoActivity 全屏。我只发送我当前的位置并在该位置启动 VideoActivity。
我在 DemoPlayer 的基础上使用 Exoplayer。我想在 ExoPlayer.STATE_ENDED 被调度后在一些用户操作时从头开始重新启动/重播视频。 之后我尝试使用 seekTo(0
我在我的 android 应用程序中使用 exoplayer,在播放视频时我点击屏幕,带有 Controller 的显示不流畅,我想让它看起来流畅,就像淡入淡出..如何我可以这样做吗? 最佳答案 查看
我在 CardView 的 RecyclerView 中有一个 ex0player。 exoplayer 的高度需要根据包含的视频的高度以编程方式更改。此高度值以 像素 的形式从 API 调用返回。这
在 android 中有一个名为 的库。 Exoplayer 这与从给定 url 流式传输视频有关。 现在根据this firebase 不支持视频流,尽管您可以将 uri 从 url 传递到 vid
更新项目依赖项后,我在视频 android studio 应用程序中遇到这个 exoplayer not found 错误。 我不知道如何将旧的 Exoplayer 链接更新到 https://mvn
我在 android 中构建一个 expo 分离项目时遇到问题。当我构建项目时,控制台构建的输出显示:无法解析:com.google.android.exoplayer:exoplayer-smoot
情况:将我的 Android 项目从带有 VisualOn 的旧 Ooyala SDK 更新到带有 Exoplyer 的最新 Ooyala SDK。通过 Amazon Fire Stick 播放视频。
我制作了安卓音频应用程序。现在一些用户报告说,当他们在车内通过蓝牙连接设备时,应用程序没有响应媒体按钮(播放、暂停、下一步)。 同时,我用蓝牙扬声器测试了应用程序 - 播放/暂停按钮可按需工作。 车载
我希望在我的项目中实现 exoplayer。我已经成功实现了它,但是视频加载时间很慢。如何在 exoplayer 中实现或实现视频的快速加载?就像抖音一样——立即加载视频并开始播放 最佳答案 试试下面
遵循开发人员指南中给出的示例后,我得到以下信息: 05-23 16:25:22.002 11893-11942/com.app.videotest E/ExoPlayerImplInternal: S
我基于此 link 在我的应用程序中集成了 exoplayer . 我在 createCurrentContentIntent() 中添加了一个待处理的 Intent 。 return Pen
我正在阅读有关配置默认 exoplayer View 布局的教程: https://exoplayer.dev/ui-components.html 但是它不显示默认播放器布局的源代码 exo_pla
我想使用 PlayerView 在 exoplayer 中创建一个自定义时间栏: 不能被用户拖动,只能在视频中显示进度 更新:好的,所以我可以通过将 touch_target_height 设置为 0
07-03 18:51:01.600 16188-16266/? E/ExoPlayerImplInternal﹕ Internal runtime error. java.lang.Ill
使用 ExoPlayer我正在尝试同时播放两个音轨。 我的想法是创建两个 MediaSource , 并使用 MergingMediaSource 在它们之间“组合” . 这就是我所做的: U
我是一名优秀的程序员,十分优秀!