-
-
Notifications
You must be signed in to change notification settings - Fork 342
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
Session Replay video player add a blue line on the side #5037
Comments
Routing to @getsentry/product-owners-replays for triage ⏲️ |
I ran ffprobe on the video file and this is the error output:
We believe the issue is related to the uneven width of The Chrome video player seems to add a blue line to fill up to an even number. I believe this should be fixed in the web player rather than the SDK. |
Just noting that we're adjusting to a size divisible by 16 on Android (some codecs requirement), so we're likely not going to face this issue. https://github.com/getsentry/sentry-java/blob/de2136e055052b81ed59a3e3455e446a0f303018/sentry-android-replay/src/main/java/io/sentry/android/replay/ScreenshotRecorder.kt#L270-L281 |
@romtsn so this means any session replay from Android will be a multiple of 16, i.e. IIUC this rounding logic applied to The target resolution would then be Also looking at the resolution of other screens, they are not alway 9 : 16 but sometimes even 9 : 19.5. I do not know about the android world, but couldn't screens on Android also not be multiples of 16 with variable aspect ratios? |
Yep it does, but I'm not sure if theres any other way if codecs work on 16x16 blocks. You either scale/round it or draw a blue line to fill the space and make it fit (I guess) :)
Not sure I got this, but I think it's usable and perceived by a human eye just fine. It does not have to be pixel perfect, but good enough. I might be wrong though and this logic can be the reason for mismatching mask but this I'm yet to figure out 😅 so far what I've seen it worked fine (but not pixel perfect obviously) |
I can see the blue line from within quicktime on my computer. It appears during playback; after i click pause it will disappear. IMG_7589.MOV |
In VLC.app on OSX it doesn't seem to play properly. It starts off as a blank/black screen then seems like it end after 3s. Quicktime shows that the original mp4 is 6s and plays for 6s. While vlc's media library shows 6s duration, but ends at 3. IMG_7593.MOV |
I'm testing with the data from I downloaded it, and renamed the file from |
It also renders a blue line in Firefox. @philprime afaik i don't think there's a way to fix this within the browser/player. Each browser has it's own media playback stack & codecs and we're not able to control that unless we had different encodings of the video (MPEG-4, WebM, etc) which we could generate on the server as an option. It would be surprising to me if an odd numbered width like It is suspicious, but not surprising, that iOS and Quicktime.app both work great together: their encoder/decoder are probably based on the same codebase. When software like Chrome, Firefox, and VLC are all failing in the same way, it makes me think there's an encoding quirk (that maybe the codecs these more open platforms share) doesn't handle. |
@ryan953 I can confirm, when I pause and play the video, I can see the line in QT as well. |
@ryan953 I checked the VLC debug log and found a couple of hints:
mp42 might be a less common identifier for MPEG-4 files and VLC may have trouble with specific encoder settings used. I'll check if there are other formats available.
The edit list might be causing misaligned playback, where video is technically there but never displayed due to timing mismatch. ⸻ After some quick research I tried to re-encode the video using ffmpeg $ ffmpeg -i video.mp4 -c:v libx264 -c:a copy output.mp4 But it failed with this error:
Seems to me like ffmpeg is stricter than the AVFoundation.AVAssetWriter we use in sentry-cocoa to encode and requires an even width of the video. |
In this replay from Sentry RN Sample app on iOS, the video player adds a blue line on the right side of the video.
Replay Link
The videos here in the web player preview also have the blue line.
Original Video From the Simulator
765112816.802941.mp4
Video Downloded by the Sentry Player
90_5428561_b4e0a63b565240f9baed08234107f6f0_0.video.mp4
The text was updated successfully, but these errors were encountered: