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

Make recorder .flv videos scrollable (#512) #3180

Merged
merged 10 commits into from Feb 10, 2021

Conversation

oussamabadr
Copy link
Contributor

@oussamabadr oussamabadr commented Aug 31, 2020

I have written an implementation to fix the scrollable video using ffmpeg command, which will also reduce the video size as mentioned by @leonard84

I have also opened a related pull Request testcontainers/vnc-recorder#4 by adding ffmpeg to the docker image, which (I saw) necessary to avoid using another container and also simplify the fix.
Just to mention that some test won't pass untill the new vnc-recorder docker image is available with tag 1.2.0.

(Thank to @kiview for his assitance during hack-commit-push (last june) which make contributing to testcontainers more clear for me.)

Fixes #512.

Copy link
Member

@kiview kiview left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks a lot, I have added some discussion point.

Looking forward to getting this quality of life fix merged 🙂

@oussamabadr
Copy link
Contributor Author

oussamabadr commented Sep 6, 2020

Some tests don't pass :
ChromeWebDriverContainerTest. simpleTest
CustomWaitTimeoutWebDriverContainerTest. simpleTest
SpecificImageNameWebDriverContainerTest. simpleTest

due to ExpectedConditions.visibilityOfAllElementsLocatedBy(By.cssSelector("#search h3") that is not met, but when using just By.cssSelector("#search") all tests pass.

I will try find out why and commit a fix

@oussamabadr
Copy link
Contributor Author

oussamabadr commented Sep 20, 2020

The tests were fixed by changing the Css Selector to look for parent element #search then for child elements with h3 tag (See last commit):

ChromeWebDriverContainerTest. simpleTest
CustomWaitTimeoutWebDriverContainerTest. simpleTest
SpecificImageNameWebDriverContainerTest. simpleTest

@oussamabadr
Copy link
Contributor Author

oussamabadr commented Oct 10, 2020

@rnorth
Copy link
Member

rnorth commented Oct 13, 2020

I've merged from master, as we've had a problem with GitHub Actions that needed to be fixed in the master branch.

Copy link
Member

@kiview kiview left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Overall looks good, just had some small remarks.

@rnorth
Can you have a final look?

Copy link
Member

@kiview kiview left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@rnorth Can you have a final look?

Copy link
Member

@rnorth rnorth left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We had a discussion offline, and decided that we can't risk changing the default emitted file format without warning.

I'll take an action to amend this PR, adding a parameter for format which will default to FLV. In 1.16.0 we'll change the default to MP4.

Sorry that this came as a late decision.

@leonard84
Copy link
Contributor

@rnorth sounds good.

I'll take an action to amend this PR, adding a parameter for format which will default to FLV. In 1.16.0 we'll change the default to MP4.

Just note that it does not suffice to change the extension mp4 requires -movflags faststart to create stream able video.

@bsideup bsideup added this to the next milestone Feb 10, 2021
@bsideup bsideup merged commit a6f91e3 into testcontainers:master Feb 10, 2021
@oussamabadr
Copy link
Contributor Author

Thanks everyone for letting me contribute to this awesome project, hope it will be useful to the community 😃

@bsideup
Copy link
Member

bsideup commented Feb 10, 2021

@oussamabadr thank you so much for contributing it! 💯
The timing was a bit uneasy given the reduced capacity of the team, and I am very sorry it took so long, but we're very happy with the result!

Expect it to be released very soon :)

@AB-xdev
Copy link
Contributor

AB-xdev commented Jul 27, 2021

@rnorth

We had a discussion offline, and decided that we can't risk changing the default emitted file format without warning.

I'll take an action to amend this PR, adding a parameter for format which will default to FLV. In 1.16.0 we'll change the default to MP4.

Sorry that this came as a late decision.

1.16.0 got released. However I was unable to spot the change in the release notes.
Was it changed now to MP4 or is it still FLV?

@kiview
Copy link
Member

kiview commented Jul 27, 2021

@AB-xdev
This PR was released in 1.15.2.

The default is FLV, but you can specify MP4 as well.

@AB-xdev
Copy link
Contributor

AB-xdev commented Jul 27, 2021

@kiview

This PR was released in 1.15.2.

The default is FLV, but you can specify MP4 as well.

Thank you for the ultra-fast feedback 👍
However I meant the change that the default format is mp4 (or at least it should be as stated in the comment above).

Backstory:
We have an (non critical) issue in our project that basically says "Change Testcontainer-Test-videos from FLV to MP4".
However we read that you will change it anyways with 1.16.0 and thought that we can simply sit this out and fix it on the fly when we update to 1.16 😄

@bsideup
Copy link
Member

bsideup commented Jul 27, 2021

@AB-xdev we forgot to switch the default in 1.16.0, sorry 😅

@AB-xdev
Copy link
Contributor

AB-xdev commented Jul 27, 2021

No problem.

Just a question: Do you still want to switch or not?
If yes, we will sit it out.
If no, we will do it ourself 😄

@bsideup
Copy link
Member

bsideup commented Jul 27, 2021

@AB-xdev we do! It is the right default value and will make many users' lives easier, just we need to do it in a "major" release, to not confuse our users. So, 1.17.0 then 😅

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

.flv videos generated by testcontainers webdriver aren't scrollable
6 participants