portizb / ExoPlayer

An extensible media player for Android
Apache License 2.0
13 stars 5 forks source link

Shall we play any kind of rtsp url by using this ExoPlayer? #7

Open SreeniMannem opened 3 years ago

SreeniMannem commented 3 years ago

HI Team, I am using this ExoPlayer and try to load and play Rtsp content from different sources. Some of the Rtsp urls are playing properly. But some of the Urls are not playing throwing me "Source error".

If we generate Rtsp url form Rtsp url generator app and/or from other streaming engine portal, it will be working as expected.

But if we generate url from real IP Camera like rtsp://192.168.0.26:554/11, with these kind of urls we are getting Source error and unable to stream.

The same url rtsp://192.168.0.26:554/11 is playing in Android VLC player without fail. But we want to go with ExoPlayer because it provides extra surface to record the stream, but VLC is not.

Below is the Exception:

ExoPlayerImplInternal: Playback error ExoPlayerImplInternal: com.google.android.exoplayer2.ExoPlaybackException:
ExoPlayerImplInternal: at com.google.android.exoplayer2.ExoPlayerImplInternal.handleIoException(ExoPlayerImplInternal.java:624) ExoPlayerImplInternal: at com.google.android.exoplayer2.ExoPlayerImplInternal.handleMessage(ExoPlayerImplInternal.java:600) ExoPlayerImplInternal: at android.os.Handler.dispatchMessage(Handler.java:103) ExoPlayerImplInternal: at android.os.Looper.loop(Looper.java:237) ExoPlayerImplInternal: at android.os.HandlerThread.run(HandlerThread.java:67) ExoPlayerImplInternal: Caused by: java.net.ConnectException: failed to connect to /192.168.0.26 (port 5540) from /:: (port 46404): connect failed: ECONNREFUSED (Connection refused) ExoPlayerImplInternal: at libcore.io.IoBridge.connect(IoBridge.java:143) ExoPlayerImplInternal: at java.net.PlainSocketImpl.socketConnect(PlainSocketImpl.java:142) ExoPlayerImplInternal: at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:390) ExoPlayerImplInternal: at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:230) ExoPlayerImplInternal: at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:212) ExoPlayerImplInternal: at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:436) ExoPlayerImplInternal: at java.net.Socket.connect(Socket.java:621) ExoPlayerImplInternal: at java.net.Socket.connect(Socket.java:570) ExoPlayerImplInternal: at java.net.Socket.(Socket.java:450) ExoPlayerImplInternal: at java.net.Socket.(Socket.java:218) ExoPlayerImplInternal: at javax.net.DefaultSocketFactory.createSocket(SocketFactory.java:279) ExoPlayerImplInternal: at com.google.android.exoplayer2.source.rtsp.RtspClient.getSocket(RtspClient.java:248) ExoPlayerImplInternal: at com.google.android.exoplayer2.source.rtsp.RtspClient.start(RtspClient.java:157) ExoPlayerImplInternal: at com.google.android.exoplayer2.source.rtsp.RtspMediaPeriod.prepare(RtspMediaPeriod.java:144) ExoPlayerImplInternal: at com.google.android.exoplayer2.source.MaskingMediaPeriod.prepare(MaskingMediaPeriod.java:145) ExoPlayerImplInternal: at com.google.android.exoplayer2.ExoPlayerImplInternal.maybeUpdateLoadingPeriod(ExoPlayerImplInternal.java:1965) ExoPlayerImplInternal: at com.google.android.exoplayer2.ExoPlayerImplInternal.updatePeriods(ExoPlayerImplInternal.java:1945) ExoPlayerImplInternal: at com.google.android.exoplayer2.ExoPlayerImplInternal.doSomeWork(ExoPlayerImplInternal.java:944) ExoPlayerImplInternal: at com.google.android.exoplayer2.ExoPlayerImplInternal.handleMessage(ExoPlayerImplInternal.java:482) ExoPlayerImplInternal: ... 3 more ExoPlayerImplInternal: Caused by: android.system.ErrnoException: connect failed: ECONNREFUSED (Connection refused) ExoPlayerImplInternal: at libcore.io.Linux.connect(Native Method) ExoPlayerImplInternal: at libcore.io.ForwardingOs.connect(ForwardingOs.java:95) ExoPlayerImplInternal: at libcore.io.BlockGuardOs.connect(BlockGuardOs.java:136) ExoPlayerImplInternal: at libcore.io.ForwardingOs.connect(ForwardingOs.java:95) ExoPlayerImplInternal: at libcore.io.IoBridge.connectErrno(IoBridge.java:157) ExoPlayerImplInternal: at libcore.io.IoBridge.connect(IoBridge.java:135)

Not getting exact reason behind this... is there any problem with the Url or ExoPlayer?

Please help me on this, to understand more on Rtsp with ExoPlayer.

Any help is appreciated...

Thanks in advance

blantian commented 2 years ago

have encountered the same problem, have you solved it?