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.74k stars 6.03k forks source link

I failed to play the RTMP audio file with exo player. It cannot be played normally #10579

Open XiaoChongxc opened 2 years ago

XiaoChongxc commented 2 years ago

I play an RTMP audio file. There is no video content. Only "onplaywhenreadychanged" is triggered. There is no error and no automatic playback. Please help me see what the problem is. Thank you. version:2.12.1 playUrl:rtmp://pili-live-rtmp.midaochat.net/michat-live/1293027 If the playback address fails, please contact me.

icbaker commented 2 years ago

I tried the link with the demo app at version 2.18.1 ExoPlayer. It failed with the following stack trace. That suggests to me that the server is behaving in a way this RTMP client (which we don't write) didn't expect.

2022-09-05 18:33:29.242 28580-28580/com.google.android.exoplayer2.demo E/EventLogger: internalError [eventTime=11.68, mediaPos=0.00, window=0, period=0, loadError
      io.antmedia.rtmp_client.RtmpClient$RtmpIOException: RTMP error: -14
        at io.antmedia.rtmp_client.RtmpClient.read(RtmpClient.java:267)
        at com.google.android.exoplayer2.ext.rtmp.RtmpDataSource.read(RtmpDataSource.java:89)
        at com.google.android.exoplayer2.upstream.DefaultDataSource.read(DefaultDataSource.java:263)
        at com.google.android.exoplayer2.upstream.cache.CacheDataSource.read(CacheDataSource.java:622)
        at com.google.android.exoplayer2.upstream.StatsDataSource.read(StatsDataSource.java:92)
        at com.google.android.exoplayer2.extractor.DefaultExtractorInput.readFromUpstream(DefaultExtractorInput.java:291)
        at com.google.android.exoplayer2.extractor.DefaultExtractorInput.advancePeekPosition(DefaultExtractorInput.java:164)
        at com.google.android.exoplayer2.extractor.DefaultExtractorInput.peekFully(DefaultExtractorInput.java:146)
        at com.google.android.exoplayer2.extractor.DefaultExtractorInput.peekFully(DefaultExtractorInput.java:155)
        at com.google.android.exoplayer2.extractor.flv.FlvExtractor.sniff(FlvExtractor.java:105)
        at com.google.android.exoplayer2.source.BundledExtractorsAdapter.init(BundledExtractorsAdapter.java:76)
        at com.google.android.exoplayer2.source.ProgressiveMediaPeriod$ExtractingLoadable.load(ProgressiveMediaPeriod.java:1017)
        at com.google.android.exoplayer2.upstream.Loader$LoadTask.run(Loader.java:412)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1137)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:637)
        at java.lang.Thread.run(Thread.java:1012)
    ]

I suggest you take a look into what RTMP error: -14 means - I'm afraid we can't help with those details, because it's coming from a layer beneath ExoPlayer.

XiaoChongxc commented 2 years ago

Sorry, this link has failed, so it can't be connected normally. Can you make an appointment? I'll provide a link again to test it.