BIS fnc playVideo: Difference between revisions

From Bohemia Interactive Community
Jump to navigation Jump to search
(Add OGV File Format link)
m (note about black bars)
 
(4 intermediate revisions by one other user not shown)
Line 11: Line 11:


|gr1= GUI
|gr1= GUI
|arg=


|eff= local
|eff= local
Line 20: Line 18:


{{Feature|informative|
{{Feature|informative|
* to play the video on an object, e.g an in-game screen, see {{HashLink|#Example 3}}
* to play the video on an object, e.g an in-game screen, see {{Link|#Example 3}}
* the video can be stopped in a variety of ways - see {{HashLink|#Example 4}}
* the video can be stopped in a variety of ways - see {{Link|#Example 4}}
* see [[OGV File Format]] for format and conversion information.
* see [[OGV File Format]] for format and conversion information.
}}
}}
Line 27: Line 25:
|s1= [content, size, color, skipVarName, bgColor, keepAspect] spawn [[BIS_fnc_playVideo]]
|s1= [content, size, color, skipVarName, bgColor, keepAspect] spawn [[BIS_fnc_playVideo]]


|p1= content: [[String]] - Full path to .ogv file
|p1= content: [[String]] - full path to {{hl|.ogv}} file


|p2= size: [[Array]] of [[Number]]s - (Optional, default [<nowiki/>[[safeZoneX]], [[safeZoneY]], [[safeZoneW]], [[safeZoneH]]]) screen size in format [x, y, w, h]
|p2= size: [[Array]] of [[Number]]s - (Optional, default [<nowiki/>[[safeZoneX]], [[safeZoneY]], [[safeZoneW]], [[safeZoneH]]]) screen size in format [x, y, w, h]
{{Feature|informative|If the aspect ratio of the size parameter is not the same as the aspect ratio of the video file, black bars will be visibile. The video will not be stretched}}


|p3= color: [[Array]] of [[Number]]s - (Optional, default [1,1,1,1]) foreground color in format [r, g, b, a]
|p3= color: [[Array]] of [[Number]]s - (Optional, default [1,1,1,1]) foreground color in format [r, g, b, a]
Line 37: Line 36:
|p5= bgColor: [[Array]] format [[Color|Color (RGBA)]] - (Optional, default: [0,0,0,1]) background color in format [r, g, b, a]
|p5= bgColor: [[Array]] format [[Color|Color (RGBA)]] - (Optional, default: [0,0,0,1]) background color in format [r, g, b, a]


|p6= keepAspect (Optional): [[Boolean]] - [[true]] to keep original video aspect ratio (background color will fill the void), [[false]] to stretch. Default: [[true]]
|p6= keepAspect: [[Boolean]] - (Optional, default [[true]]) [[true]] to keep original video aspect ratio (background color will fill the void), [[false]] to stretch


|r1= [[Boolean]] - [[true]]
|r1= [[Boolean]] - [[true]]
Line 69: Line 68:
|timestamp= 20191111183100
|timestamp= 20191111183100
|text= Example ffmpeg command to encode a ogv video which can be played back.
|text= Example ffmpeg command to encode a ogv video which can be played back.
<code>ffmpeg -i input.mp4 -c:v libtheora -q:v 7 -c:a libvorbis -q:a 4 intro.ogv</code>
<sqf>ffmpeg -i input.mp4 -c:v libtheora -q:v 7 -c:a libvorbis -q:a 4 intro.ogv</sqf>
See [[OGV File Format]].
See [[OGV File Format]].
}}
}}

Latest revision as of 10:28, 13 January 2024

Hover & click on the images for description

Description

Description:
Plays in-game video with a range of options. The function can be called or spawned. If spawned, scriptDone command can be used to see if video is stopped or finished. If called in scheduled environment, the next line of code will not process until the video is stopped or finished.
The function also calls "BIS_fnc_playVideo_started" and "BIS_fnc_playVideo_stopped" Scripted Event Handlers in missionNamespace - see BIS_fnc_addScriptedEventHandler and Arma 3: Scripted Event Handlers.
  • to play the video on an object, e.g an in-game screen, see Example 3
  • the video can be stopped in a variety of ways - see Example 4
  • see OGV File Format for format and conversion information.
Execution:
call
Groups:
GUI

Syntax

Syntax:
[content, size, color, skipVarName, bgColor, keepAspect] spawn BIS_fnc_playVideo
Parameters:
content: String - full path to .ogv file
size: Array of Numbers - (Optional, default [safeZoneX, safeZoneY, safeZoneW, safeZoneH]) screen size in format [x, y, w, h]
If the aspect ratio of the size parameter is not the same as the aspect ratio of the video file, black bars will be visibile. The video will not be stretched
color: Array of Numbers - (Optional, default [1,1,1,1]) foreground color in format [r, g, b, a]
skipVarName: String - (Optional, default "BIS_fnc_playVideo_skipVideo") missionNamespace variable to skip the video when variable is true
bgColor: Array format Color (RGBA) - (Optional, default: [0,0,0,1]) background color in format [r, g, b, a]
keepAspect: Boolean - (Optional, default true) true to keep original video aspect ratio (background color will fill the void), false to stretch
Return Value:
Boolean - true

Examples

Example 1:
private _video = ["A3\Missions_F_EPA\video\A_in_intro.ogv"] spawn BIS_fnc_playVideo;
Example 2:
private _video = ["\a3\missions_f_exp\video\exp_m04_v01.ogv"] call BIS_fnc_playVideo;
Example 3:
_video = "a3\missions_f_exp\video\exp_m07_vout.ogv"; _screen = "Land_TripodScreen_01_large_F" createVehicle (player modelToWorld [0,10,0]); _screen setObjectTexture [0, _video]; [_video, [10, 10]] call BIS_fnc_playVideo;
Example 4:
How to stop the video:

Additional Information

See also:
Functions Library

Notes

Report bugs on the Feedback Tracker and/or discuss them on the Arma Discord or on the Forums.
Only post proven facts here! Add Note
Dedmen - c
Posted on Nov 11, 2019 - 18:31 (UTC)
Example ffmpeg command to encode a ogv video which can be played back.
ffmpeg -i input.mp4 -c:v libtheora -q:v 7 -c:a libvorbis -q:a 4 intro.ogv
See OGV File Format.