Millisecond Forums

Videos inserted are not playing anymore...

https://forums.millisecond.com/Topic19901.aspx

By Jin - 10/21/2016

Hi all,

I created a task that plays short videos to participants and ask them to respond to them. I mocked up a prototype and inserted filler videos, and the script worked perfectly. However when I started to insert the new videos, all videos now show a black screen and only plays the audio. I do not believe I changed any of the code for the videos prior to inserting the new ones. I tried reconverting the videos to .mpg or .avi, and none of them worked (both formats worked before I changed the videos). Any help would be appreciated! 

Thank you! 

<video Joy_AV>
/ items = Joy_AV
/ playthrough = false
/ position = (50,50)
/ size = (100%,100%)
/ select = noreplace
/ loop = false
</video>

<item Joy_AV>
/ 1= "Baby.mpg"
</item>

<trial Joy_AV>
/ stimulustimes = [0=Joy_AV]
/ branch = [trial.q_NA]
/ responseinterrupt = false
/ validresponse = ("t")
/ inputdevice = keyboard
/ pretrialpause = 250
/ posttrialpause = 250
</trial>

<trial Joy_NA>
/ branch = [trial.joy_av]
/ stimulustimes = [0=Intro_NA]
/ responseinterrupt = immediate
/ validresponse = (57)
/ inputdevice = keyboard
/ pretrialpause = 250
/ posttrialpause = 250
</trial>
By Dave - 10/21/2016

> However when I started to insert the new videos, all videos now show a black screen and only plays the audio.

This indicates a codec issue. Either re-encode the videos to a different format (e.g. WMV for Windows, MOV for Macs) or try to find & install the suitable codec(s) on the system. Under Windows, installing a codec pack / collection such as K-Lite ( http://www.codecguide.com ) tends to be the easiest / quickest option.
By Jin - 10/21/2016

Hi Dave,

I installed a codec pack (K-Lite_Codec_Pack_1244_Basic) and the video still has not resolved itself. Is there something I have to do in Inquisit itself to upload the package?
By Dave - 10/21/2016

No, Inquisit relies on the codecs installed on the system to render videos -- it does not come with its own set of codecs, and there are no settings that need to or can be adjusted.

FWIW, what you need to acquire / install is a suitable DirectShow filter (that's how the codecs Inquisit 4 needs are called). If you can't locate the proper codec, try the other option I mentioned: Re-encode the videos to a different format.

Hope this helps.
By Loukia - 7/24/2017

Dave - Friday, October 21, 2016
No, Inquisit relies on the codecs installed on the system to render videos -- it does not come with its own set of codecs, and there are no settings that need to or can be adjusted.

FWIW, what you need to acquire / install is a suitable DirectShow filter (that's how the codecs Inquisit 4 needs are called). If you can't locate the proper codec, try the other option I mentioned: Re-encode the videos to a different format.

Hope this helps.

Hi Dave, 

I have been looking to resolve a similar issue. The trial where the videos appear come as part of the instructions so it can get repeated as participants go to previous or next page of the instructions. Sometimes the video appears (after you go back to the video page the 3rd time) but the majority of times it's just a black screen. I have tried .mov, .m4v, .mp4 for the mac but nothing works properly. I also tried different resolutions for the .mov files. I have also used the included elements for win_vids and mac_vids as suggested in a previous post as I was getting other errors when the mac spotted the windows format in the <item> element. For windows PCs, the script works fine. 

Any help is greatly appreciated! 



By Dave - 7/25/2017

Loukia - Tuesday, July 25, 2017
Dave - Friday, October 21, 2016
No, Inquisit relies on the codecs installed on the system to render videos -- it does not come with its own set of codecs, and there are no settings that need to or can be adjusted.

FWIW, what you need to acquire / install is a suitable DirectShow filter (that's how the codecs Inquisit 4 needs are called). If you can't locate the proper codec, try the other option I mentioned: Re-encode the videos to a different format.

Hope this helps.

Hi Dave, 

I have been looking to resolve a similar issue. The trial where the videos appear come as part of the instructions so it can get repeated as participants go to previous or next page of the instructions. Sometimes the video appears (after you go back to the video page the 3rd time) but the majority of times it's just a black screen. I have tried .mov, .m4v, .mp4 for the mac but nothing works properly. I also tried different resolutions for the .mov files. I have also used the included elements for win_vids and mac_vids as suggested in a previous post as I was getting other errors when the mac spotted the windows format in the <item> element. For windows PCs, the script works fine. 

Any help is greatly appreciated! 




> I have also used the included elements for win_vids and mac_vids as suggested in a previous post as
> I was getting other errors when the mac spotted the windows format in the <item> element.

I'm not sure what the above means. Could you explain exactly what you did, include the relevant code, and spell out the error messages, please?
By Loukia - 7/25/2017

Dave - Tuesday, July 25, 2017

> I have also used the included elements for win_vids and mac_vids as suggested in a previous post as
> I was getting other errors when the mac spotted the windows format in the <item> element.

I'm not sure what the above means. Could you explain exactly what you did, include the relevant code, and spell out the error messages, please?

As suggested in a previous post and the manual,  I have included the relevant files for windows and mac separately:

<include>
/precondition = [computer.platform=="win"]
/file = "win_vids.iqx"
</include>

<include>
/precondition = [computer.platform=="mac"]
/file = "mac_vids.iqx"
</include>

There are no error messages, just a black screen where the video is supposed to be. A video element is being called for a trial and the video element is set up like this: 
<video video_slide>
/playthrough = false
/items= video_slides
/position = (50%, 50%)
/size = (90%, 90%)
/select = values.video_slide
</video>

The items are just three files taken from the corresponding script ("mac_vids" or "win_vids") in .mov format for mac. The trial elements are set up so that participants can navigate through the instructions. 
I have added a part of the code below but of course it's not executable as it is..

<block instructions2>
/trials = [1=slide_start]
</block>

<trial slide_start>
/stimulusframes = [1=instructions]
/ontrialbegin = [values.instruct_slide=1]
/validresponse = (205)
/branch = [if (trial.slide_start.response=="205") trial.slide_go]
</trial>

<trial slide_go>
/stimulusframes = [1=instructions]
/ontrialbegin = [values.instruct_slide=2]
/validresponse = (203, 205)
/branch = [if (trial.slide_go.response=="203") trial.slide_start]
/branch = [if (trial.slide_go.response=="205") trial.slide_tips]
</trial>

<trial slide_tips>
/stimulusframes = [1=instructions]
/ontrialbegin = [values.instruct_slide=3]
/validresponse = (203, 205)
/branch = [if (trial.slide_tips.response=="203") trial.slide_go]
/branch = [if (trial.slide_tips.response=="205") trial.video_go]
</trial>


<trial video_go> 
/stimulusframes = [2=video_slide]
/validresponse = (203,205)
/ontrialbegin = [values.video_slide=1]
/branch = [if (trial.video_go.response=="203") trial.slide_tips]
/branch = [if (trial.video_go.response=="205" && values.current_group==1) trial.begin_prac_slide]
/branch = [if (trial.video_go.response=="205" && values.current_group==2) trial.slide_stop]
/branch = [if (trial.video_go.response=="205" && values.current_group==3) trial.slide_change]
/ontrialend = [trial.video_go.resetstimulusframes();]
</trial>

<trial begin_prac_slide>
/stimulusframes = [1=instructions]
/ontrialbegin = [values.instruct_slide=6]
/validresponse = (203, 57)
/branch = [if (trial.begin_prac_slide.response=="203" && values.current_group==1) trial.video_go]
/branch = [if (trial.begin_prac_slide.response=="203" && values.current_group==2) trial.video_stop]
/branch = [if (trial.begin_prac_slide.response=="203" && values.current_group==3) trial.video_change]
</trial>

By Dave - 7/25/2017

Loukia - Tuesday, July 25, 2017
Dave - Tuesday, July 25, 2017

> I have also used the included elements for win_vids and mac_vids as suggested in a previous post as
> I was getting other errors when the mac spotted the windows format in the <item> element.

I'm not sure what the above means. Could you explain exactly what you did, include the relevant code, and spell out the error messages, please?

As suggested in a previous post and the manual,  I have included the relevant files for windows and mac separately:

<include>
/precondition = [computer.platform=="win"]
/file = "win_vids.iqx"
</include>

<include>
/precondition = [computer.platform=="mac"]
/file = "mac_vids.iqx"
</include>

There are no error messages, just a black screen where the video is supposed to be. A video element is being called for a trial and the video element is set up like this: 
<video video_slide>
/playthrough = false
/items= video_slides
/position = (50%, 50%)
/size = (90%, 90%)
/select = values.video_slide
</video>

The items are just three files taken from the corresponding script ("mac_vids" or "win_vids") in .mov format for mac. The trial elements are set up so that participants can navigate through the instructions. 
I have added a part of the code below but of course it's not executable as it is..

<block instructions2>
/trials = [1=slide_start]
</block>

<trial slide_start>
/stimulusframes = [1=instructions]
/ontrialbegin = [values.instruct_slide=1]
/validresponse = (205)
/branch = [if (trial.slide_start.response=="205") trial.slide_go]
</trial>

<trial slide_go>
/stimulusframes = [1=instructions]
/ontrialbegin = [values.instruct_slide=2]
/validresponse = (203, 205)
/branch = [if (trial.slide_go.response=="203") trial.slide_start]
/branch = [if (trial.slide_go.response=="205") trial.slide_tips]
</trial>

<trial slide_tips>
/stimulusframes = [1=instructions]
/ontrialbegin = [values.instruct_slide=3]
/validresponse = (203, 205)
/branch = [if (trial.slide_tips.response=="203") trial.slide_go]
/branch = [if (trial.slide_tips.response=="205") trial.video_go]
</trial>


<trial video_go> 
/stimulusframes = [2=video_slide]
/validresponse = (203,205)
/ontrialbegin = [values.video_slide=1]
/branch = [if (trial.video_go.response=="203") trial.slide_tips]
/branch = [if (trial.video_go.response=="205" && values.current_group==1) trial.begin_prac_slide]
/branch = [if (trial.video_go.response=="205" && values.current_group==2) trial.slide_stop]
/branch = [if (trial.video_go.response=="205" && values.current_group==3) trial.slide_change]
/ontrialend = [trial.video_go.resetstimulusframes();]
</trial>

<trial begin_prac_slide>
/stimulusframes = [1=instructions]
/ontrialbegin = [values.instruct_slide=6]
/validresponse = (203, 57)
/branch = [if (trial.begin_prac_slide.response=="203" && values.current_group==1) trial.video_go]
/branch = [if (trial.begin_prac_slide.response=="203" && values.current_group==2) trial.video_stop]
/branch = [if (trial.begin_prac_slide.response=="203" && values.current_group==3) trial.video_change]
</trial>


Okay, thanks. I'm still not clear on the errors you mentioned previously, but there is nothing obviously wrong with the code as it is. This statement of yours, "sometimes the video appears (after you go back to the video page the 3rd time)," suggests some sort of system performance issue to me, i.e. it takes the system an inordinate amount of time to actually load the video. If that guess is correct, you can try to:
- reduce the mov files size and resolution so that they load faster,
- add a /pretrialpause to <trial video_go> to give Inquisit more time to prepare the video for display before it starts to display it:

<trial video_go>
/ pretrialpause = 500
/ stimulusframes = [1=video_slide]
/validresponse = (203,205)
/ontrialbegin = [values.video_slide=1]
/branch = [if (trial.video_go.response==203) trial.slide_tips]
/branch = [if (trial.video_go.response==205 && values.current_group==1) trial.begin_prac_slide]
/branch = [if (trial.video_go.response==205 && values.current_group==2) trial.slide_stop]
/branch = [if (trial.video_go.response==205 && values.current_group==3) trial.slide_change]
/ontrialend = [trial.video_go.resetstimulusframes();]
</trial>

And if you want to avoid the doubling of files (movs for OSX, wmv for Windows), videos encoded as MPEG-2 should work reasonably well under both platforms.