Open BotBlake opened 22 hours ago
FFMpeg will auto determine the source files encoding. We do not even need to specify the encoder, the only benefit to doing so would be to ensure a user has not tampered with the file in any way. But that is better off being performed with a file checksum. The performance impact of letting FFMpeg auto-determine source file encoding should be negligible.
I think this issue is more complex than just submitting the wrong codecs. @JPVenson can you elaborate on what the tests are trying to do? I'm trying to go through your test command constructors and it seems that you are trying to submit transcodes to each different codec. This should still be valid, the machine should be able to do that.
The problem is that the args in practice are assuming that the file we are transcoding is the other type breaking everything.
I am not familiar enough with the code base to know how to fix this break. I've analyzed most of the Database config file but if you have anything that maps how the logic is supposed to flow for the test arg generation that would be great.
The Server provides the following response to a Client:
(example of a current test on a hevc file on Windows 11)
You will see that the FILE is an hevc file - as stated in the filename. However the Server makes the client open it using the h264 decoder. That will not work and results in Problems.
This error happens:
Therefore this issue makes it impossible to run tests for any hevc file without modifying the args on Client side.
I also found logging that indicates that a hevc decoder is sometimes also selected on h264 files.
So generaly there needs to be a fix to make sure the correct decoder will be used!
We CAN implement this on Client side by running
ffprobe
on the file and determining its codec. However then the Server would have to provide adecoder
field for us to use. I also suggest not to do this, as this would limit control over what exact decoder is used.