﻿<?xml version="1.0" encoding="UTF-8"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/"><channel><title>Millisecond Forums » Millisecond Forums » Inquisit 6  » PSA: Filenames for web experiments can be case-sensitive</title><generator>InstantForum 2017-1 Final</generator><description>Millisecond Forums</description><link>https://forums.millisecond.com/</link><webMaster>Millisecond Forums</webMaster><lastBuildDate>Sat, 19 Sep 2026 11:11:00 GMT</lastBuildDate><ttl>20</ttl><item><title>PSA: Filenames for web experiments can be case-sensitive</title><link>https://forums.millisecond.com/Topic36027.aspx</link><description>Hi all,&lt;br/&gt;&lt;br/&gt;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.&lt;br/&gt;&lt;br/&gt;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).&lt;br/&gt;&lt;br/&gt;The solution was to change the Inquisit script from:&lt;br/&gt;[code]&amp;lt;video RelaxationVideo&amp;gt;&lt;br/&gt;/ items = ("Relax_1.mp4")&lt;br/&gt;/ playthrough = false&lt;br/&gt;/ size = (80%, 80%)&lt;br/&gt;/ stream = true&lt;br/&gt;&amp;lt;/video&amp;gt;[/code]&lt;br/&gt;to:&lt;br/&gt;[code]&amp;lt;video RelaxationVideo&amp;gt;&lt;br/&gt;/ items = ("relax_1.mp4")&lt;br/&gt;/ playthrough = false&lt;br/&gt;/ size = (80%, 80%)&lt;br/&gt;/ stream = true&lt;br/&gt;&amp;lt;/video&amp;gt;[/code]&lt;br/&gt;&lt;br/&gt;Note the case spelling in the /items attribute. This fixed the issue. Hope this helps if anyone has the same problem.&lt;br/&gt;&lt;br/&gt;And hi, future me! Yes, you have had this problem before!&lt;br/&gt;</description><pubDate>Mon, 26 Feb 2024 16:54:14 GMT</pubDate><dc:creator>AKrishna</dc:creator></item><item><title>RE: PSA: Filenames for web experiments can be case-sensitive</title><link>https://forums.millisecond.com/Topic36028.aspx</link><description>&lt;blockquote data-id="36027" class="if-quote-wrapper" unselectable="on" data-guid="1708966084172" contenteditable="false" id="if_insertedNode_1708966082924"&gt;&lt;a class="quote-para" unselectable="on" style="display: none;" href="#" data-id="36027" title="Move Cursor Below" contenteditable="false"&gt;&lt;span unselectable="on"&gt;+&lt;/span&gt;&lt;/a&gt;&lt;a class="quote-delete" unselectable="on" style="display: none;" href="#" data-id="36027" title="Delete Quote" contenteditable="false"&gt;&lt;span unselectable="on"&gt;x&lt;/span&gt;&lt;/a&gt;&lt;span unselectable="on" class="quote-markup"&gt;[quote]&lt;/span&gt;&lt;div unselectable="on" class="if-quote-header" contenteditable="false"&gt;&lt;div unselectable="on" class="if-quote-toggle-wrapper"&gt;&lt;a class="if-quote-toggle quote-link" href="#" data-id="36027" title=" "&gt;&amp;nbsp;&lt;/a&gt;&lt;/div&gt;&lt;span unselectable="on" class="quote-markup"&gt;[b]&lt;/span&gt;AKrishna - 2/26/2024&lt;span unselectable="on" class="quote-markup"&gt;[/b]&lt;/span&gt;&lt;/div&gt;&lt;div class="if-quote-message if-quote-message-36027"&gt;&lt;div class="if-quote-message-margin" contenteditable="true"&gt;Hi all,&lt;br/&gt;&lt;br/&gt;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.&lt;br/&gt;&lt;br/&gt;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).&lt;br/&gt;&lt;br/&gt;The solution was to change the Inquisit script from:&lt;br/&gt;[code]&amp;lt;video RelaxationVideo&amp;gt;&lt;br/&gt;/ items = ("Relax_1.mp4")&lt;br/&gt;/ playthrough = false&lt;br/&gt;/ size = (80%, 80%)&lt;br/&gt;/ stream = true&lt;br/&gt;&amp;lt;/video&amp;gt;[/code]&lt;br/&gt;to:&lt;br/&gt;[code]&amp;lt;video RelaxationVideo&amp;gt;&lt;br/&gt;/ items = ("relax_1.mp4")&lt;br/&gt;/ playthrough = false&lt;br/&gt;/ size = (80%, 80%)&lt;br/&gt;/ stream = true&lt;br/&gt;&amp;lt;/video&amp;gt;[/code]&lt;br/&gt;&lt;br/&gt;Note the case spelling in the /items attribute. This fixed the issue. Hope this helps if anyone has the same problem.&lt;br/&gt;&lt;br/&gt;And hi, future me! Yes, you have had this problem before!&lt;br/&gt;&lt;a class="if-quote-goto quote-link" href="#" data-id="36027"&gt;&lt;span class="goto"&gt;&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;span unselectable="on" class="quote-markup"&gt;[/quote]&lt;/span&gt;&lt;/blockquote&gt;&lt;br/&gt;Adding:&lt;br/&gt;- 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.&lt;br/&gt;- 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.&lt;br/&gt;- 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 &amp;lt;item&amp;gt; elements in your script.&lt;br/&gt;- In terms of defensive programming, it is a good idea to always give file names in all lowercase.&lt;br/&gt;</description><pubDate>Mon, 26 Feb 2024 16:54:14 GMT</pubDate><dc:creator>Dave</dc:creator></item></channel></rss>