By AKrishna - 2/26/2024
Hi all,
I've run into this issue before and I really should know better by now, but I just spent 20 minutes googling and couldn't find an answer, so I thought I'd write up a problem I had and its solution for posterity.
I set up an Inquisit Web experiment which included media files (specifically mp4s, although I didn't test whether other types of media such as pictures were also affected). It ran fine locally, but when I tested it from the Inquisit Web launch page, the script crashed when loading the media ("Relax_1.mp4"). The error message was: "Invalid media 'Relax_4.mp4'." (Code 0), followed by "Player Error 'Relax_1.mp4'. Resource could not be resolved. Failed to load source." (Code 0), and "Unable to load the media file '[redacted link to file]'. Failed to load media." (Code 63).
The solution was to change the Inquisit script from:
<video RelaxationVideo> / items = ("Relax_1.mp4") / playthrough = false / size = (80%, 80%) / stream = true </video> to:
<video RelaxationVideo> / items = ("relax_1.mp4") / playthrough = false / size = (80%, 80%) / stream = true </video>
Note the case spelling in the /items attribute. This fixed the issue. Hope this helps if anyone has the same problem.
And hi, future me! Yes, you have had this problem before!
|
By Dave - 2/26/2024
+xHi all, I've run into this issue before and I really should know better by now, but I just spent 20 minutes googling and couldn't find an answer, so I thought I'd write up a problem I had and its solution for posterity. I set up an Inquisit Web experiment which included media files (specifically mp4s, although I didn't test whether other types of media such as pictures were also affected). It ran fine locally, but when I tested it from the Inquisit Web launch page, the script crashed when loading the media ("Relax_1.mp4"). The error message was: "Invalid media 'Relax_4.mp4'." (Code 0), followed by "Player Error 'Relax_1.mp4'. Resource could not be resolved. Failed to load source." (Code 0), and "Unable to load the media file '[redacted link to file]'. Failed to load media." (Code 63). The solution was to change the Inquisit script from: <video RelaxationVideo> / items = ("Relax_1.mp4") / playthrough = false / size = (80%, 80%) / stream = true </video> to: <video RelaxationVideo> / items = ("relax_1.mp4") / playthrough = false / size = (80%, 80%) / stream = true </video> Note the case spelling in the /items attribute. This fixed the issue. Hope this helps if anyone has the same problem. And hi, future me! Yes, you have had this problem before! Adding: - For general background, all files names are automatically converted to all lowercase when they are uploaded to the web. This is done for cross-platform compatibility reasons (some file systems are case-sensitive, i.e. A.jpg and a.jpg are different files than can coexist in the same place, whereas others are not. - In most cases, the casing in /items does not matter, since Inquisit will convert these to all lowercase when downloading, which happens before the script is executed on the client system. - There are, however, edge cases: Here, the file isn't downloaded up-front, but streamed at runtime, and that is why the casing matters. Another ede case would be HTML files that read file names from <item> elements in your script. - In terms of defensive programming, it is a good idea to always give file names in all lowercase.
|
|