signalapp / Signal-Android

A private messenger for Android.
https://signal.org
GNU Affero General Public License v3.0
25.53k stars 6.12k forks source link

Sending specific video failed after compressing #10135

Open bme13 opened 3 years ago

bme13 commented 3 years ago

Bug description

Trying to share a specific video through Signal fails. After selecting the video and share it there is a spinner and a notification that the video is being compressed. After the compressing there is an error saying sending failed and some things need your attention. This only seems to happen to this specific file. The size of this file is ~40Mb. Tested this on two devices and Signal versions. Both failed.

Steps to reproduce

Actual result: Sending failed. See description above. Expected result: Sending file is successful.

Screenshots

Device info

Device: Samsung SM-960F Android version: 10 Signal version: 4.74.3

Link to debug log

https://debuglogs.org/d3498e70d90dad35e173f19eb8b39cb3bb08a1d72e6c9463d9a4528f1e062805

cody-signal commented 3 years ago

It looks like the file was too large to be transcoded at that's what failed. We are hoping to increase our size limits very soon and providing a better UX around when this occurs.

bme13 commented 3 years ago

Tried this again with version 4.78.3 but sending still fails. One thing I've noticed is that after I tried trimming this video, trimming doesn't work anymore at all. I have to stop Signal (via settings->apps->signal->force stop) to get trimming to work again for other videos. I've added a debug log where I first trim an other video that works after that I trim this specific video and it fails and after that I try to trim the first video again and that fails then. The behaviour when it fails is that that the trim toolbar is shown and becomes yellow when touched but that's it. Furthermore is only shows 0:00 * 0,1MB https://debuglogs.org/04a6d2e838e1fd94576a47cf41e830ceaaabd8fcf807e5fd7ba5b9e1f9c9410a

stale[bot] commented 2 years ago

Is this still relevant? If so, what is blocking it? Is there anything you can do to help move it forward?

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs.

bme13 commented 2 years ago

I can still reproduce the original error in 5.30.2. Now I've just downloaded the file in Firefox (so no need to use RedReader), size ~41 MB. and tried to share it. Says compressing but after that raised an error that it could not upload and suggested to check the network. One improvement is that the trimming now does work. And after trimming I was able to send the video. So perhaps the video contains a part that results in failing the compression. https://debuglogs.org/8e991a2acd17aff69b917ae2514ae89b1c1f39ac350ebf428f219e22bf6a79d2

stale[bot] commented 2 years ago

Is this still relevant? If so, what is blocking it? Is there anything you can do to help move it forward?

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs.

bme13 commented 2 years ago

Still relevant in 5.34.6 but the wontfix label seems appropriate ;-)

stale[bot] commented 2 years ago

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

marcel263 commented 2 years ago

hello, could it be part of the bug being that sending as file works but not through in-app gallery or android share? Regarding a ~300MB 1080p mp4 file, shows "send failed".

CrafterLaughter commented 1 year ago

I can still reproduce the original error in 5.30.2.

Still reproducible with the same 42MB video file in 6.3.6. It's been two years since @cody-signal indicated the Signal team was hoping to increase our size limits very soon.

It's a bummer that we can send 95MB AV1 videos from signal desktop no problem, but forwarding the same video from Android is kneecapped by forced transcoding. Has anyone thought of allowing an advanced setting to allow users to disable transcoding? (similar to how there is the option to adjust "send media quality")

Forced transcoding aside, any update on the attachment size limit getting bumped? Here's the attachment size limits of other mainstream communication apps...Telegram 2GB, Slack 1GB, Zoom 500MB, Skype 300MB.

Edit: Just came across a Signal Reddit mod that pointed to lines 61-70 linked below. He mentions something about a 500MB uncompressed video size limit in the PushMediaConstraints code. Can someone please elaborate on how this works "isVideoTranscodeAvailable() ? 500 * MB" vs the "isLowMemory" constraints of the code.

https://github.com/signalapp/Signal-Android/blob/main/app/src/main/java/org/thoughtcrime/securesms/mms/PushMediaConstraints.java#L61

ivanpiffer commented 1 year ago

Same bug in 6.13.8 :(

cody-signal commented 1 year ago

It's been two years since @cody-signal indicated the Signal team was hoping to increase our size limits very soon.

Still hoping

holdit commented 1 year ago

I've just spent almost 2 hours trying to share a 5 minute video.

On the first try, I didn't even think about the file size. The Signal app (Android) started to "send" it and then it failed. The error was "Message could not be sent. Check your connection and try again." I tried again and it failed, but I saw the "compressing video notification", which reminded me of the file size limitation. Then I tried to reduce the duration of the video twice... nope, didn't work.

I had to get my laptop and use handbrake to reduce the file size... it only worked right away because I knew that I had to cap the bitrate, otherwise it would be over the 100MB limit.

The average user doesn't know how or wants to deal with this. Heck, I figured the problem out, but even I have no interest in having to compress videos on a computer before sending them. And more users will hit this wall because more and more devices record videos in 4K by default and all mainstream apps don't "train" users to think about resolution/duration... just upload it and it works.

On top of increasing the file size, the client should give a clear error and be smarter about compression. If there's no resources to do anything too advanced, just pick an acceptable resolution 720p?) and then a fixed max bitrate that can go up or down depending on the duration of the video. This way the compressed file would always be under the 100MB limit and uploads would work.

Gamer750 commented 5 months ago

Same issue here When I send a 10 minute video it failed to sent the size was about 3.7 gn it was recorded in 4K now I can't send the video