signalapp / Signal-Android

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

[Bug] 5 min 1080p H.264 video won't upload #13098

Open yozachar opened 1 year ago

yozachar commented 1 year ago

Bug description

A 5 min 1920 × 1080 H.264 191MB video simply won't upload.

Steps to reproduce

Actual result: Messege send fails. Expected result: Message sent successfully.

Screenshots

Imagepipe_0.jpg

Imagepipe_0.jpg

Imagepipe_0.jpg

Imagepipe_0.jpg

Device info

Device: Samsung M14 5G Android version: 13 Signal version: 6.28.1

Link to debug log

https://debuglogs.org/android/6.28.1/6adc33eafc6faa896cc7af78834fdebfb750bc2168b518cd010605c48cc1b491


Related?

alex-signal commented 1 year ago

Hi! Looks like a size constraint failure. How large is the video you are trying to send?

yozachar commented 1 year ago

Hi! Looks like a size constraint failure. How large is the video you are trying to send?

191 Mega Bytes.

Reddit post from 3 years ago suggests you can upload up to 200 MB. But it's not directly clear from https://github.com/signalapp/Signal-Android/blob/main/app/src/main/java/org/thoughtcrime/securesms/mms/PushMediaConstraints.java what that (limit) today is.

alex-signal commented 1 year ago

The limit is 100MB. We do our best to transcode the video to reduce its size, but this can't be guaranteed in all cases. We are in the process of implementing new transcoding features (which'll make watching videos that haven't been downloaded a heck of a lot faster) but it's not quite ready yet.

yozachar commented 1 year ago

I'll be glad to test whenever it's beta ready.

stale[bot] commented 1 year 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.

yozachar commented 1 year ago

/not-stale

stale[bot] commented 10 months 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.

yozachar commented 10 months ago

Not stale.

nicholas-signal commented 8 months ago

Hi @yozachar, while our sending limit continues to be 100MB, please try with the latest version of the Signal application. It should be able to transcode the video to a smaller filesize that fits within our limits.

yozachar commented 8 months ago

Hi, I tried. I'm on version 6.47.5. Even though it estimates 84.1 MB post compression, the same indicates a progress for 5 min and then fails.

nicholas-signal commented 8 months ago

Ah, that is a bug then. Would you mind uploading a debug log so I can see exactly why the processing fails?

yozachar commented 8 months ago

https://debuglogs.org/android/6.47.5/affc128e632a983d942d106b7bc92d53cee13188a4cf480c98ea32cd7233c3c2

nicholas-signal commented 8 months ago

https://debuglogs.org/android/6.47.5/affc128e632a983d942d106b7bc92d53cee13188a4cf480c98ea32cd7233c3c2

Interesting. It looks like it hits the 100MB limit after only a little over 3 minutes of encoding. Feel free to say no, but: if you're comfortable with it, would you be willing to share the problematic video?

yozachar commented 8 months ago

Well, I cannot upload it here. So you can try downloading 1080p version of https://www.youtube.com/watch?v=Pe0Ci3z5xTw. It will be around 183M.

rishabh-bhatia commented 5 hours ago

I tried to send the above video in 1080p and can confirm the issue. In my experience, even a 720p video of size 106.3MB failed to compress before being sent. Upon inspecting the logs, issue seems to be with "MediaMetadataRetriever" being unable to get "METADATA_KEY_DURATION".

Device: Pixel 7a Android version: 15 Signal: 7.23.1