Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Streamed video is too dark, recordings are corrupted #91

Closed
Jacajack opened this issue Mar 30, 2023 · 14 comments
Closed

Streamed video is too dark, recordings are corrupted #91

Jacajack opened this issue Mar 30, 2023 · 14 comments

Comments

@Jacajack
Copy link

I'm having issues with reStream v1.2.0. The streamed video (restream -s remarkable -p) appears really dark:

When I use restream -s remarkable -p -o test.mp4, I get a broken MP4 file which looks like this:

Remarkable firmware version: 3.3.2.1655
Ffmpeg version: 5.1.2

@tbellembois
Copy link

I have the same issue.
Remarkable firmware version: 3.3.2.1655
Ffmpeg version: 4.4.2

Tried on WIFI and USB.

@vunhatchuong
Copy link

Heard it's a rm2fb issue, we just need to wait till rm2fb support the version.

@plamenivanov257
Copy link

Can confirm that I am experiencing the same issue (dark screen). Reading the code in reStream.sh, it seems to be because it defaults to grayscale since it cannot find /dev/shm/swtfb.01 on the reMarkable device. Is this some shared-memory frame buffer that is no longer available on the latest firmware?

Not sure why the grayscale is so dark, but fortunately there is a workaround --- one can add a gamma filter to ffmpeg. To do this, simply modify line 15 of reStream.sh to read

video_filters="eq=gamma=10"

This cranks up the gamma to the max allowed value in ffmpeg. The result is not perfect but still very usable for many things.

@Eeems
Copy link

Eeems commented Apr 19, 2023

Can confirm that I am experiencing the same issue (dark screen). Reading the code in reStream.sh, it seems to be because it defaults to grayscale since it cannot find /dev/shm/swtfb.01 on the reMarkable device. Is this some shared-memory frame buffer that is no longer available on the latest firmware?

That would be provided by rm2fb. See the last couple comments before yours.

@plamenivanov257
Copy link

plamenivanov257 commented Apr 19, 2023

Is it? I never installed rm2fb and I cannot find any references to rm2fb in either the host or device code for reStream...

Maybe I have always used grayscale without knowing and something somewhere somehow broke that?

@Eeems
Copy link

Eeems commented Apr 19, 2023

Is it? I never installed rm2fb and I cannot find any references to rm2fb in either the host or device code for reStream...

Maybe I have always used grayscale without knowing and something somewhere somehow broke that?

/dev/shm/swtfb.01 is a reference to rm2fb. It's shared memory provided by rm2fb. PR #41 added support for rm2fb. You can find lots of discussion on supporting the rM2 on #28

@plamenivanov257
Copy link

Interesting... Apologies, I am new to this stuff. Thanks for the info!

So, just to be clear, does reStream somehow install rm2fb by itself? If not, then I guess I have always ran in grayscale mode and the darkness bug is not related to rm2fb...

@Eeems
Copy link

Eeems commented Apr 19, 2023

Interesting... Apologies, I am new to this stuff. Thanks for the info!

So, just to be clear, does reStream somehow install rm2fb by itself? If not, then I guess I have always ran in grayscale mode and the darkness bug is not related to rm2fb...

It does not, if it did, there would probably be several issues open with people saying it bricked their device due to trying to run it before rm2fb works for their OS version.

Yes, you would have always been running in greyscale mode.

@plamenivanov257
Copy link

Yes, you would have always been running in greyscale mode.

This makes sense, thank you! I guess the question then is why the grayscale version is now broken since it was fine before the last OS update.

@Eeems
Copy link

Eeems commented Apr 19, 2023

My guess is that the framebuffer pixel format may have changed again.

@StachuDotNet
Copy link

Not sure why the grayscale is so dark, but fortunately there is a workaround --- one can add a gamma filter to ffmpeg. To do this, simply modify line 15 of reStream.sh to read

video_filters="eq=gamma=10"

This cranks up the gamma to the max allowed value in ffmpeg. The result is not perfect but still very usable for many things.

This is really useful, thanks. If you end up finding a more effective set of video filters, please follow up :)
I've tried playing with ffmpeg settings and I feel like there's got to be a simple set of filters that would make the screen clear again in the interim, but haven't figured it out :)

@D1mme
Copy link

D1mme commented May 11, 2023

Not sure why the grayscale is so dark, but fortunately there is a workaround --- one can add a gamma filter to ffmpeg. To do this, simply modify line 15 of reStream.sh to read
video_filters="eq=gamma=10"
This cranks up the gamma to the max allowed value in ffmpeg. The result is not perfect but still very usable for many things.

This is really useful, thanks. If you end up finding a more effective set of video filters, please follow up :) I've tried playing with ffmpeg settings and I feel like there's got to be a simple set of filters that would make the screen clear again in the interim, but haven't figured it out :)

Hi. I've found a (near) perfect workaround using:
video_filters="curves=all='0/0 0.07/1 1/1'"

Hope this helps.

@kareiva
Copy link

kareiva commented May 24, 2023

Should be there in the default settings I guess.

Hi. I've found a (near) perfect workaround using: video_filters="curves=all='0/0 0.07/1 1/1'"

Hope this helps.

Jegp added a commit to Jegp/reStream that referenced this issue Jun 1, 2023
@rien
Copy link
Owner

rien commented Jan 9, 2024

This should be fixed in the latest release by #100. Let me know if you encounter any additional issues.

@rien rien closed this as completed Jan 9, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

9 participants