Open eliteSchwein opened 3 years ago
Can you try using this streaming URL https://server.hafka.co/mjpeg and confirm that the issue is still stand?
lower res helps a bit, but i have a HD stream or FHD Stream
Sorry to ask but is it your internet connection speed? I try mentioned URL above and it works fine, I got 30 fps (judging by eyes).
i have 160mbit, the mjpeg is smooth in browser but not app, i tried it with 640*480 aswell...
Is your streaming server publicly accessible? I tried mentioned URL and it works fine on my Sony 5 II. There are too many factors to start discuss one-by-one here. I guess it may have something to do with streaming content your server generates which is supported by browser but, not this library (yet).
i use a local url, with webview it works fine
So, a connection speed is less likely an issue here. Can you run this command for a few seconds and send me dump.bin file? I suspect the issue is with stream content.
curl --output dump.bin "<YOUR-MJPEG-URL>"
with https://server.hafka.co/mjpeg/ it runs smooth, but again thats low res
I see. Let me try FHD version of https://server.hafka.co/mjpeg/. I have never worked with FHD mjpeg.
i use also 25mbit
I changed https://server.hafka.co/mjpeg/ to FHD and fps indeed drops. Now that I can reproduce the issue, I will continue investigating the issue.
Yeah i can short your search, its drawBitmap... I tried it with opengl because of that but i domt understand how i can use opengl, maybe it helps you?
Thanks, wow that is a whole new level of rendering.
Reduce video quality did help https://server.hafka.co/mjpeg?type=fhd_low_quality compare to original quality https://server.hafka.co/mjpeg?type=fhd_hi_quality.
On what Bitrate? And also i dont play just a mjpeg file, i have a live stream
Yes Bitrate. If you have control over streaming server. I think that is a plausible workaround.
Yeah i have the access over the bitrate, but other people that use my app maybe dont know how to change that on their live stream
I think the issue is with how I separate each image from stream using only boundary, instead of using content length and boundary together. The more bytes in each image (higher quality) the more number of time to check for boundary and the longer each checking took. I'm going to try using content length see if it help.
Hello. Any news on this?
Describe the bug I have only 3 FPS or so
To Reproduce Open a HD 30fps Stream
Expected behavior Run at 30fps
Environment
Additional context
Written in Kotlin but the behavior should be the same in Java
val camViewer: MjpegView = root.findViewById(R.id.webcam_stream) camViewer.mode = MjpegView.MODE_FIT_WIDTH camViewer.setUrl(printerData.getString("webcamurl")) camViewer.isRecycleBitmap = true camViewer.startStream()