ThibaultBee / SrtPlayer

Android SRT player powered by Exoplayer and srtdroid
Apache License 2.0
20 stars 11 forks source link

Connection setup failure: connection rejected #1

Closed linhnv106 closed 1 year ago

linhnv106 commented 1 year ago

Hi @ThibaultBee @YoussefHenna I got this exception when play the srt local url , I can play with vlc Mac app, and ffmpeg works fine : ffplay -fflags nobuffer -flags low_delay "srt://192.168.1.8:8890?streamid=read:mystream"

Playback error com.google.android.exoplayer2.ExoPlaybackException: Source error at com.google.android.exoplayer2.ExoPlayerImplInternal.handleIoException(ExoPlayerImplInternal.java:628) at com.google.android.exoplayer2.ExoPlayerImplInternal.handleMessage(ExoPlayerImplInternal.java:604) at android.os.Handler.dispatchMessage(Handler.java:102) at android.os.Looper.loopOnce(Looper.java:201) at android.os.Looper.loop(Looper.java:288) at android.os.HandlerThread.run(HandlerThread.java:67) Caused by: java.net.ConnectException: Connection setup failure: connection rejected at com.github.thibaultbee.srtdroid.models.Socket.connect(Socket.kt:241) at com.github.thibaultbee.srtdroid.models.Socket.connect(Socket.kt:254) at com.github.thibaultbee.srtplayer.player.SrtDataSource.open(SrtDataSource.kt:33) at com.google.android.exoplayer2.upstream.StatsDataSource.open(StatsDataSource.java:84) at com.google.android.exoplayer2.source.ProgressiveMediaPeriod$ExtractingLoadable.load(ProgressiveMediaPeriod.java:1013) at com.google.android.exoplayer2.upstream.Loader$LoadTask.run(Loader.java:409) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641) at java.lang.Thread.run(Thread.java:920)

ThibaultBee commented 1 year ago

Hi, I don't really maintain this repository but I quickly update it.

I guess you tested the player with this url: "srt://192.168.1.8:8890?streamid=read:mystream" Using this kind of url is very FFmpeg-like but is not a standard. The player reads "srt://192.168.1.8:8890" and does not use the streamid parameters as the URL is not parsed. But that was few days ago. I made a change so that the player understand and use a streamid parameters. I don't have the time to test it. Could you give your feedback?

BTW, I am not sure what read: really means and that might be an issue as the streamid will be read:mystream and not only mystream.

linhnv106 commented 1 year ago

Hi @ThibaultBee , Thank for your update. But I still have the same issue. I've tried with : srt://192.168.1.8:8890?streamid=read:mystream and srt://192.168.1.8:8890?streamid=mystream, but none of there work. VLC app can play well this url srt://192.168.1.8:8890?streamid=read:mystream home/runner/work/srtdroid/srtdroid/lib/.cxx/RelWithDebInfo/5k6v1674/arm64-v8a/srt_project-prefix/src/srt_project/srtcore/core.cpp@4533:processConnectResponse 13:20:27.109461/ExoPlayer:Loade!W:SRT.cn: @1027684783: processConnectResponse: rejecting per reception of a rejection HS response: ERROR:PEER 2023-11-04 13:20:27.115 28196-28517 ExoPlayerImplInternal io.github.thibaultbee.srtplayer E Playback error com.google.android.exoplayer2.ExoPlaybackException: Source error at com.google.android.exoplayer2.ExoPlayerImplInternal.handleIoException(ExoPlayerImplInternal.java:684) at com.google.android.exoplayer2.ExoPlayerImplInternal.handleMessage(ExoPlayerImplInternal.java:660) at android.os.Handler.dispatchMessage(Handler.java:102) at android.os.Looper.loopOnce(Looper.java:201) at android.os.Looper.loop(Looper.java:288) at android.os.HandlerThread.run(HandlerThread.java:67) Caused by: java.net.ConnectException: Connection setup failure: connection rejected at io.github.thibaultbee.srtdroid.models.Socket.connect(Socket.kt:241) at io.github.thibaultbee.srtdroid.models.Socket.connect(Socket.kt:254) at io.github.thibaultbee.srtplayer.player.SrtDataSource.open(SrtDataSource.kt:47) at com.google.android.exoplayer2.upstream.StatsDataSource.open(StatsDataSource.java:90) at com.google.android.exoplayer2.source.ProgressiveMediaPeriod$ExtractingLoadable.load(ProgressiveMediaPeriod.java:1013) at com.google.android.exoplayer2.upstream.Loader$LoadTask.run(Loader.java:420) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:644) at java.lang.Thread.run(Thread.java:1012)

linhnv106 commented 1 year ago

@ThibaultBee I was able to connect with the url. but the player seems cant render, here are the log log.txt

ThibaultBee commented 1 year ago

Ok. I am glad you could connect the application to your live stream.

From the log, everything seems fine:

As I said, I don't want to spend time to maintain this project. So this is the further I am going.

Also, as the connection issue was resolved, I am closing this issue.