-
-
Notifications
You must be signed in to change notification settings - Fork 2.6k
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
[🐛 Bug]: Code verifying video integrity does not work #2743
Comments
@MJB222398, thank you for creating this issue. We will troubleshoot it as soon as we can. Info for maintainersTriage this issue by using labels.
If information is missing, add a helpful comment and then
If the issue is a question, add the
If the issue is valid but there is no time to troubleshoot it, consider adding the
If the issue requires changes or fixes from an external project (e.g., ChromeDriver, GeckoDriver, MSEdgeDriver, W3C),
add the applicable
After troubleshooting the issue, please add the Thank you! |
It will be fixed in #2742 |
@VietND96 I just tried using 4.31.0-20250404 and ffmpeg-7.1-20250404 and its not fixed, the behaviour is the same. Can we re-open this please? Could you outline what you have done that was expected to fix this? Could you answer the question above about how it is supposed to work? |
Actually, that function get removed. |
Its basically all of them - virtually 100% are interrupted and are therefore invalid video files |
I have added in my own check for video file integrity before I pull the file. Perhaps this is preferable to Selenium doing it itself. I was just concerned because it seemed like Selenium was intending to do this check itself but it wasn't working |
What happened?
I have a Docker Selenium Grid with a Hub, several nodes, and then a separate video container for each node. These video containers have
SE_VIDEO_FILE_NAME=auto
so the videos recorded have the filename ofSessionId.mp4
. My understanding is that functionwait_for_file_integrity
in video.sh should be called automatically when the driver session is ended. So what I am doing is disposing of the web driver (.NET bindings) at the end of each test and then making HTTP calls to the grid status endpoint to verify that the session has indeed finished. I then am grabbing the video file. What I am seeing though is that this video file is malformed and will not play because the file was not terminated yet - it was still being written/flushed to disk at the point I retrieved it.Looking in the logs there is nothing there indicating that the wait_for_file_integrity function ran at all - though if the file is present and correct on first check there would be no logs. So either the function is not being called, or the function is not working properly and states the video is fine when it isn't, or perhaps the function is running later on in the background or something else? Is this function call blocking session termination untill the video integrity is good? Just not clear at all on how its supposed to work?
This Slack conversation includes some discussion on this issue:
https://seleniumhq.slack.com/archives/C0ABCS03F/p1743072688635059
Command used to start Selenium Grid with Docker (or Kubernetes)
Relevant log output
Operating System
Ubuntu
Docker Selenium version (image tag)
4.30.0-20250323 and ffmpeg-7.1.1.1.1-20250323
Selenium Grid chart version (chart version)
No response
The text was updated successfully, but these errors were encountered: