www.burningthumb.com
Video Kiosk – Android User's Manual
Burningthumb Studios
VideoKiosk–AndroidUser'sManualburningthumb.com(Mar20,2020)-v7.6.0.203020
i
Table of Contents
Table of Contents .................................................................................................................................. iIntroduction ......................................................................................................................................... 1SystemRequirements..............................................................................................................................................................1FreeTrialMode..........................................................................................................................................................................2PurchasingandLicensing.......................................................................................................................................................2Installing and Configuring Video Kiosk ................................................................................................. 6TwoStepInstallation...............................................................................................................................................................6Aboutpermissions....................................................................................................................................................................6Wheretofindsettings..............................................................................................................................................................6SettingthedeviceTimeZone................................................................................................................................................8AboutVideoKiosk'sdefaultbehavior...............................................................................................................................8Working with Display Modes ............................................................................................................. 10FullScreenMode.....................................................................................................................................................................10SplitScreenMode...................................................................................................................................................................10InteractiveKioskMode........................................................................................................................................................10Additional Features Overview ............................................................................................................ 12Working with Media Types ................................................................................................................ 15SupportedMediaFormats..................................................................................................................................................15DisplayingVideo.....................................................................................................................................................................15DisplayingImages...................................................................................................................................................................15UsingURLShortcutstodisplayContent.......................................................................................................................15Controlling Playback .......................................................................................................................... 19DefaultPlaybackBehavior..................................................................................................................................................19ControllingtheOrderoftheContentLoop..................................................................................................................19ControllingPlaybackTimeusingaSchedule..............................................................................................................23ControllingPlaybackusingdevicelocation.................................................................................................................31MotionDetection.....................................................................................................................................................................35MonitoringBatteryState.....................................................................................................................................................35ChangingthePlaybackMode.............................................................................................................................................35Controlling the Display ....................................................................................................................... 37ViewOptions-ScreenOrientation,TimersandTransitions...............................................................................37SplitScreenDisplay...............................................................................................................................................................39Overlays......................................................................................................................................................................................44InteractiveHotspots..............................................................................................................................................................45BackgroundImagesandAudio.........................................................................................................................................50ControllingDisplayusingfilenamemetadata..........................................................................................................52LegacySupportDisplayFeatures....................................................................................................................................54Controlling the Device ........................................................................................................................ 56TVControlusingHDMICEC(Androidv5andlater)...............................................................................................56KeyboardandRemoteControlFeatures......................................................................................................................58TouchGestureControl..........................................................................................................................................................58
VideoKiosk–AndroidUser'sManualburningthumb.com(Mar20,2020)-v7.6.0.203020
ii
GamepadControlFeatures.................................................................................................................................................59Reliability Features ............................................................................................................................ 60Handlingchangestotheplaybackloop.........................................................................................................................60Handlingunplayablecontent.............................................................................................................................................60Behavioronwakefromsleep............................................................................................................................................60ErrorDetectionAutomaticRestart.................................................................................................................................60PeriodicAutomaticRestart................................................................................................................................................61Access Management .......................................................................................................................... 62AccessManagementrecommendations........................................................................................................................62Remote Management and Update ..................................................................................................... 67RemoteDeviceUpdating.....................................................................................................................................................67RemoteDeviceStatusReporting......................................................................................................................................70Configuring the Settings ..................................................................................................................... 77Appendix A – Making Video Kiosk a System App ................................................................................ 91Appendix B – Making Video Kiosk the device owner .......................................................................... 92Appendix C – Built in Widget XML Settings ......................................................................................... 94XMLTags....................................................................................................................................................................................94Examples....................................................................................................................................................................................95Appendix D – Registering uncertified devices ..................................................................................... 98
VideoKiosk–AndroidUser'sManualburningthumb.com(Mar20,2020)-v7.6.0.203020
1
Introduction TurnyourAndroiddeviceintoaneasytouse,reliable,robust,secureAndroidkiosktoloopvideo,images,andwebpagesinminutes.Easytouse,you’llhaveyourAndroidTV|tablet|phoneplayingvideos,images,andwebpagesandrunningunattended,reliablyandrobustlywithminimalsetup.Itcomeswithoptionaladvancedfeatures,suchassecureKioskModeforaccessmanagementofinteractivedisplays,remotemanagement,remoteupdate,playbackscheduling,overlays,backgroundsandflexiblescreendisplays–fullscreenorsplitscreen,forplayingavideoloop,foruseasdigitalsignageortocreateaninteractivekiosk.
ThismanualwillcoverbothbasicinstallationaswellashowtouseVideoKiosk’smoreadvancedfeatures.
System Requirements SystemRequirements:Android4.xorlater
Someadvancedfeatures,notablyHDMI-CEC,requireAndroidv5+orAndroidv6+.PleaserefertotheHDMI-CECsectionofthisdocumentformoreinformationonthesystemrequirementsforthosefeatures.
Compatibility:Androidphones,tablets,TVSticks
VideoKioskhasbeentestedanddeployedonthefollowingdevices:
• TVSticks(testedonCX-919,FireTV,i68,MK808,MK809,MK812,MK903,i68,nVidiaShieldTV,RazerForgeTV,PineA64,andmanymore)
• Tablets(testedwithAcer,rootedKindleFire,genericsub$100tablet,andmanymore)• Phones(testedwithAndroidv5,v6,v7,v8,v9phones)
Note:ToavoidtheblackflashproblemfoundonAmlogicSoC,enableTexturedVideoViewsand/orPauseplaybackintheVideoKiosksettings.Alternatively,useadifferentTVBox,suchasaRockchip,Alwinner,ornVidia,basedTVbox(likei68).ContactusifyouarehavinganissuewithyourTVbox.
InternetAccess.VideoKioskcanrunfullyself-containedandinternetaccessisnotrequiredformostfeatures.AnInternetconnectionisonlyrequired:
• togettheappfromthePlaystore• toactivate(anddeactivate)licenses• toupdateyourContentLoopoverthecloud,ifyou'reusingthisfeature• toschedulePlaybackusingaGoogleCalendar,ifyou'reusingthisfeature
Oncethelicenseisactive,youmayturnoffinternetaccessonthedevice.
VideoKiosk–AndroidUser'sManualburningthumb.com(Mar20,2020)-v7.6.0.203020
2
Free Trial Mode WhenyoudownloadVideoKiosk,itisintrialmode.Allfeaturesarefullyfunctional,butyourvideowillbewatermarked.Toremovethis,purchasealicense.
Purchasing and Licensing VideoKioskislicensedonaperdevicebasis,meaningalicensemustbepurchasedandactivatedforeachdeviceonwhichVideoKioskisused.
Therearethreewaystopurchasealicense:
• In-ApppurchasethroughtheGooglePlayStoreonthedevice• PurchasethroughourWebStore• Byinvoiceforlargevolumepurchaseof25ormorelicenses
Purchase Option 1: In-App purchase through the Google Play Topurchaseintheapp,
1. Ifyouhaven'tdonesoalready,gettheVideoKioskappfromtheGooglePlayStoreonthedevice
2. OpenVideoKiosk.3. Toactivatealicenseforadevice,clickthePurchaseButtonontheLicenseActivityscreen
andfollowtheIn-Apppurchasesteps.ThepurchaseishandledthroughtheGooglePlayStore.ThelicensewillautomaticallybeactivatedwhentheIn-Apppurchasecompletes.
Purchase Option 2: Purchase through our Web Store PurchaseandlicensingthroughourWebStoreisaneasy3-stepprocess:
1. Decidewhichlicensemanagementoptionyouwillbeusing.2. PurchaseLicensesthroughourWebStore3. ActivatetheLicenses
Step 1: Decide on a Volume purchase License Management Option Youcanmanageyourlicensesusingoneoftwooptions:
• EmailID.Addanaccount(EmailID)toeachofyourdevicesor• LicenseFile.Placealicensefile,thatwesendtoyou,onyourdevicesatthepath
/sdcard/videokiosk.license
Note:Somedevicefirmwaredoesnotsupportaddingaccounts.Inthiscase,theAddAccountbuttonfromthelicenseactivityscreenwillbehiddenandyoumustrequestalicensefilefromus.
VideoKiosk–AndroidUser'sManualburningthumb.com(Mar20,2020)-v7.6.0.203020
3
Thelicensefilecontainssecurelyencodedinformationthatidentifiesyouraccounttothelicenseserverandassuchshouldbekeptprivate.
Ifyou'vedecidedtousetheEmailIDoption,makesureyoucanaddtheaccountyouplantousetothedevicebeforepurchasinglicensesfortheaccount.
Youcanaddanaccountinanumberofways.Theeasiestwayisto:a. InstallandopenVideoKiosk,b. Granttherequestedpermissions,c. Addtherequestedaccount.
Step 2: Purchase Licenses through our Web Store
Beforepurchasing,determinewhichlicensemanagementoptionyouwillbeusing.
Topurchasevolumelicenses,dothefollowing:
1. GototheVolumePurchasepageorclicktheVolumeLicensingbuttonontheVideoKioskPage.
2. Enteryourlicensemanagementmethod.
IfyouareusingtheEmailIDLicenseManagementoption,choose“EmailAccount”fromthe“LicenseBy”pop-upmenuandentertheEmailIDassociatedwiththedevicesintothe“Account”field.
IfyouareusingtheLicenseFileLicenseManagementoption,choose“LicenseFile”fromthe“LicenseBy”pop-upmenuandleavethe"Account"fileblank..
3. Clickthe“BuyNow”buttontopayusingamajorcreditcardoryourPaypalaccount.4. OnthePurchaseScreen,enterthenumberoflicensesyou’rebuyingandclickthe
“Continue”buttontoproceedtotheCheckOut.
VideoKiosk–AndroidUser'sManualburningthumb.com(Mar20,2020)-v7.6.0.203020
4
5. Onceyouhavecheckedout,youwillbesentanemailwiththestepstoactivatethelicenseswiththeLicenseFileattached,ifapplicable,andthelicenseswillbeaddedtothelicenseserversoyoucanactivatethem.
Step 3: Activate Volume Licenses LicenseActivationisdoneusingtheLicenseActivityscreenonyourdevice.Duetoyourdevice’sscreenresolutionandorientation,itmaybethattheentireLicenseActivityscreenisnotvisible.Ifthishappens,usetouchandswipeup/downtoscrollthescreencontents.
EmailIDLicenseManagementOptionToactivatemultiplelicensesmanagedusingtheEmailIDOption,dothefollowing:
1. Ifyouhaven'talreadydoneso,installVideoKioskfromthePlayStore(orsideloadthe.apkfile).
2. Ifyournetworkisnotconfigured,configurethenetworksothatthedevicehasInternetaccess.
3. OpenVideoKiosk.Grantanypermissionsrequested.4. (Optional)Ifyouwantthelicensetoautomaticallyexpireafterapresetnumberofdays
haveelapsed,fillinthenumberofdaysinthe“ActiveDays”.5. Clickthe“Activate”buttononthe“LicenseActivity”screen.
LicenseFileLicenseManagementOptionToactivatemultiplelicensesmanagedusinglicensefile,dothefollowing:
1. InstallVideoKioskfromthePlayStore(orsideloadthe.apkfile).2. Copythelicensefileontothedeviceatthepath/sdcard/videokiosk.licensesothatVideo
Kioskcanautomaticallyfindit.3. Ifyournetworkisnotconfigured,configurethenetworksothatthedevicehasInternet
access.4. OpenVideoKiosk.Grantanypermissionsrequested.5. (Optional)Ifyouwantthelicensetoautomaticallyexpireafterapresetnumberofdays
haveelapsed,fillinthenumberofdaysinthe“ActiveDays”.6. Clickthe“Activate”buttononthe“LicenseActivity”screen.
Note:Theaccount(Google,Facebook,Email,etc.)ORvideokiosk.licensefileandanInternetconnectionareonlyrequiredtoactivate(anddeactivate)licenses.Oncealicenseisactive,youmayremovetheaccountORvideokiosk.licensefilefromthedevice.YoumayalsoremovethedevicefromtheInternet.
Purchase Option 3: Volume Purchase by Invoice Topurchasemorethan25licensesandreceiveavolumediscount,followtheseinstructions:
VideoKiosk–AndroidUser'sManualburningthumb.com(Mar20,2020)-v7.6.0.203020
5
Decideonalicensemanagementoption1. Decidewhichlicensemanagementoptionyouwillbeusing.ToDecideonaVolume
purchaseLicenseManagementOption,followtheinstructionsinPurchaseOption2,above.
PurchaseLicensesTopurchasemorethan25licensesandreceiveavolumediscount,dothefollowing:
1. Sendanemailtoburningthumb@gmail.comthatcontainsthefollowinginformation:a. Thenumberoflicensesrequiredb. Ifyouplantouseanaccountonthedevicetomanagelicenses,providetheaccount
(Google,Facebook,Email,etc.)thatwillbeusedtoactivatethelicenses,c. Ifyoudonotplantouseanaccountonthedevicetomanagelicenses,indicatethat
yourequirealicensefile(usedtoactivatethelicenses)d. Theemailaddressthatshouldreceivetheinvoice
2. Aninvoicewillbesentfrompaypal.comtotheemailaddressyouprovide.Youcanpaytheinvoiceusinganymajorcreditcard
3. Oncetheinvoiceispaid,youwillbesentanemailwiththestepstoactivatethelicenseswiththeLicenseFileattached,ifapplicable,andthelicenseswillbeaddedtothelicenseserversoyoucanactivatethem.
ActivateLicenses1. ToActivateLicenses,followtheinstructionsinPurchaseOption2,above.
Managing Volume Licenses Licensespurchasedunderthevolumepurchaseplanarefloating,allowingyoutomovethemfromdevicetodevice.Whenalicenseexpiresorisdeactivated,thelicensereturnstothepoolofavailablelicensesandmaybeusedtolicenseVideoKioskonanotherdevice.(VideoKioskreturnstoFreeTrialmodeonthedeactivateddevice.)
LicenseDeactivationisdoneusingtheVideoKioskSettings.Todeactivatethelicenseonadevice,gototheSettings>LicenseandChoose“Deactivate”.
Oncethelicenseisdeactivated,youcanuseitonadifferentdevice.
Using uncertified devices In2019,Googlebeganblockinguncertifieddevices(likedeveloperboards)fromaccessplayservicesunlessthedeviceGoogleServicesAndroidID(GSAID)isregisteredwithGoogle.Tofacilitatetheregistrationofuncertifiedboards,VideoKioskdisplaystheGSAIDonabuttonthatwilltakeyoudirectlytotheregistrationpage.Formoreinformation,refertoAppendixD–Registeringuncertifieddevices.
VideoKiosk–AndroidUser'sManualburningthumb.com(Mar20,2020)-v7.6.0.203020
6
Installing and Configuring Video Kiosk
Two Step Installation VideoKioskisdesignedtobeareliable,videokioskplayingmediacontentinaloopwithoutanyconfiguration.TouseVideoKiosk,followthesesteps:
1. CreateaContentFolder.Todothis,createafolderinoneofthefollowinglocationsandputyourmediainthefolder:
• /sdcard/<androidid>• /sdcard/Movies/<androidid>• /sdcard/VideoKiosk• /sdcard/Movies/VideoKiosk
2. LaunchVideoKiosk. 3. ThereisnoStep3.
VideoKioskwillnowplaytheContentLoop,unattended.Youcanplayvideos,imagesandURLshortcuts,oranycombinationofthethree.Formoreinformationaboutsupportedmediaformats,referto[SupportedMedia,p.15].
About permissions WhenyouinstallVideoKiosk,youhavealwaysbeenpromptedtograntthepermissionsthatVideoKioskrequires.BeginningwithAndroidv6,youwillalsobepromptedatruntimetograntsome,butnotall,ofthosesamepermissionsagain.Ifyouchoosetodenypermissionsatruntime,someofVideoKiosksfeatureswillbedisabled.
Werecommendthatyougrantallofthepermissionsothatyoudon’trunintoproblemswithfeaturesyouhaveinadvertentlydisabledbydenyingtheruntimepermissionrequest.
Where to find settings VideoKiosk’ssettingsaresplitintotwoareas:TheButtonBarandtheSettingsScreen(andsub-screens).Thefeaturesofeacharedescribedbelow.
VideoKiosk–AndroidUser'sManualburningthumb.com(Mar20,2020)-v7.6.0.203020
7
Button Bar Bydefault,theButtonBarisdisplayedforafewsecondswhenyoulaunchVideoKioskandthenitautomaticallyhides.Todisplayitagainyoucantapthescreen,swipedown,swipeup,pressthedownarrowonacontrollerorremotecontrol.
Thebuttonbarallowsyouto:
1. ChoosethemediafoldercontainingtheContentLoop2. SetVideoKioskastheHomeLauncher3. Sendamanagementreport4. Openthesettingsscreen5. OpentheLicenseActivationscreenifinfreetrialmode6. ExitVideoKioskifanotherHomeLauncherisavailableonthedevice
TherearemanyoptionstoprotectaccesstothebuttonsinthebuttonbarincludingnotshowingitonApplaunch,requiringatouchpatterntodisplayit,requiringapasswordtoaccessiteminit.
Settings Screen PressingtheSettingsiconintheButtonBarwillopenthesettingsscreen.Somesettingsareinsub-screensandtouchingthetitleofthescreenwillopenthesub-screen.Thenumberofsettingsisextensive.ForcompleteinformationontheSettingsScreenrefertoConfiguringtheSettingssectionofthisdocument.
VideoKiosk–AndroidUser'sManualburningthumb.com(Mar20,2020)-v7.6.0.203020
8
Setting the device Time Zone YourdeviceallowsyoutosettheTimeZoneintheDeviceSettings.YoumayalsohavetheoptiontousethenetworkprovidedTimeZone.
ToChangethedeviceTimeZonemanually:
1. FromtheHomescreen,touchApps>Settings.2. TouchDateandtime.3. TouchSelecttimezoneandselectthedevice’stimezonefromthelist
TohavethedeviceusethenetworkprovidedTimeZone:
1. FromtheHomescreen,touchApps>Settings.2. TouchDateandtime.3. ChecktheAutomatictimezonecheckboxtousethenetworkprovidedtimezone.This
optionrequiresthatthedevicebeconnectedtothenetwork.
About Video Kiosk's default behavior VideoKioskisdesignedtobereliable,playingmediacontentinaloopwithoutanyconfiguration.However,therearemanyadditionalfeaturesyoucanconfigure.Ifyouhavenotconfiguredotherwise,VideoKioskwilldothefollowing:
Display Mode Default Display Mode Bydefault,VideoKioskdisplaysinFullScreenMode.FormoreinformationaboutSplitScreenMode,referto[Error!Referencesourcenotfound.,p.Error!Bookmarknotdefined.].FormoreinformationaboutInteractiveKioskMode,referto[InteractiveKioskMode,p.10].
Playback Control Default Playback Order IfyouhavenotconfiguredaPlaybackOrder,VideoKioskwillplaythecontentsoftheMediaFolderintheorderofeitherthefirstplaylistitfindsintheMediaFolderor,ifaplaylistisnotfound,themediafoldercontentsinalphabeticalorderbyfullpathname.
TheMediaFoldercanhaveanynumberofsub-folderswithinitcontainingmedia.Ifyouhavenotconfiguredaplaybacksub-folderdepth,VideoKioskwillplaythecontentsdownto5levelsofsub-folders,ignoringsub-foldersinlowerdepths.FormoreinformationaboutPlaybackOrder,referto[ControllingtheOrderoftheContentLoop,p.19].
VideoKiosk–AndroidUser'sManualburningthumb.com(Mar20,2020)-v7.6.0.203020
9
Display Control Image Display Time Bydefault,VideoKioskwilldisplayimagesfor30seconds.Youcanincreaseordecreasethisdisplaytime.Formoreinformation,referto[SupportedMedia,p.15].
Web Page Display Behaviour Bydefault,VideoKioskwilldisplaywebpagesfor30seconds.Youcanincreaseordecreasethisdisplaytime.Formoreinformation,referto[SupportedMedia,p.15].
Device Control Device Control – Dimming the screen Inordertoplaycontent,thedevicemustbeturnedonand,inthecaseofanAndroidTV,thecorrectvideoinputmustbeselected.Onanydevice,VideoKioskwillautomaticallystartplayingcontent.Ifascheduleisbeingused,VideoKioskwillplaycontentonlywhenscheduled.Ifthereisnoscheduledevent,VideoKioskwill,bydefault,dimthescreen.
Reliability Features Reliability – Wake from sleep VideoKioskwillautomaticallystartplayingcontentuponwakingfromsleep.
Reliability - Automatic Restart PeriodicallyrestartingadeviceisacommonwayofaddressingAndroidOSandhardwareinstabilityissues.VideoKiosk’sdefaultbehavioristorestartonceeachnightatmidnight.
Access Management Access Management Bydefault,VideoKioskisnotpasswordprotectedandnorestrictionsondeviceusageareinplace.FormoreinformationaboutAccessManagement,referto[AccessManagement,p.62].
VideoKiosk–AndroidUser'sManualburningthumb.com(Mar20,2020)-v7.6.0.203020
10
Working with Display Modes VideoKiosk’splaybackscreensupportsthreedifferentmodesinwhichtodisplaymedia–FullScreenMode,aswellastwomoreadvancedmodes–SplitScreenModeandInteractiveKioskmode.Thefeaturesofeacharedescribedbelow.
Full Screen Mode InFullScreenMode,VideoKioskwillplaythecontentloopusingthefullplaybackscreen.YoucanplayvideosorimagesorURLshortcuts,oranycombinationofthethree.
Split Screen Mode VideoKiosksupportsSplitScreenMode,whichdividestheplaybackscreeninto4areas,A,B,CandD,allowingyoutoplayyourcontentloopinareaA,whileyourunstandardwidgetsand/orwebURLbasedcontentinareasB,C,andD.
A B C D
How to use Split Screen Mode 1. EnableWidgetMode.2. ConfigureVideoKioskAreasB,CandDwithwhichwidgets|URLstodisplay.3. Optionally,adjustthewidgetarealayout.
Formoreinformation,referto[DisplayOptions-SplitScreen]
Interactive Kiosk Mode VideoKiosksupportsInteractiveKioskMode,whichturnsyourdeviceintoaninteractivetouchscreenormouse-controlledkiosk,displayingwebURLsorApps.
How to turn your device into an interactive kiosk 1. Createanoverlay.Formoreinformation,referto[Overlays,p.44]2. CreateaHotspotFile.Testthehotspotstoensuretheyarebehavingasexpected.Formore
information,referto[InteractiveHotspots,p.45]
VideoKiosk–AndroidUser'sManualburningthumb.com(Mar20,2020)-v7.6.0.203020
11
3. Lockdowntheinteractivekiosktopreventtheuserfromoverridingthecontentyouwishtodisplay.Formoreinformation,referto[EnhancedAccessManagementSetUp,p.65]
VideoKiosk–AndroidUser'sManualburningthumb.com(Mar20,2020)-v7.6.0.203020
12
Additional Features Overview OnceyouhaveaddedyourmediaandconfiguredyourDisplayMode,yourVideoKioskisreadytogo.However,therearemanyoptionalfeaturesavailabletocustomizeyourkiosk.Usethissummarytodecidehowtoenhancethereliability,usabilityandmanagementofyourVideoKiosk.
Media Type Support VideoKiosksupportsplaybackofvariousMediaTypes–video,imagesandURLshortcuts.
Feature DescriptionVideo SupportsplaybackofseveralvideoformatsImage SupportsdisplayofseveralimageformatsURLShortcuts Supports.urlfiles(internetshortcuts),whichistypicallyusedtodisplayliveweb
content,butcanbeusedtoreferenceanyURLontheinternetorlocaltothedevice
Widgets WidgetAreasplaywidgetsURL/Apps InteractiveTouchscreenKioskscanopenremoteandlocalURLsaswellasother
AndroidApps
Controlling Playback VideoKioskprovidesbothsimplewaysandmoresophisticatedwaysofcontrollingPlaybackOrderandschedulingplayback.
Feature DescriptionPlaybackOrderControl Controltheordermediaisplayedinusingaplaylist,thefileandfolderorder,a
PickOnefolderPlaybackScheduling Youcanscheduleplaybackusingseveralmethods
• theAndroidCalendaronthedevice• anXMLschedulefile• aGoogleCalendar
PlaybackDeviceLocation YoucancontrolplaybackusingthedevicelocationMotionDetection YoucancontrolplaybackusingcamerabasedmotiondetectionBatteryStateMonitoring VideoKioskcanmonitorthebatterystateonthedeviceandstopplayingto
conservebatterypowerChangingthePlaybackMode Bydefault,thePlaybackModeissetto“Playnext"whichplaysthenextmedia
itemwhenthecurrentmediaitemfinishes.However,youcanchangethisbehaviourtoplaytheprevious,topauseafterplayortoloopplayandrequireaswipeeventtocontinue.
Controlling the Display ThereareseveralDisplayfeaturesavailablewhichcontrolhowyourcontentlooksonthedevice.
Feature DescriptionSplitScreenDisplay InSplitScreenMode,theplaybackscreenisdividedintoareas(4bydefault),
allowingyoutorunvideocontentinthefirstareaandrunwidgetsintheotherareas.Youcancustomizethe4areas.
Overlays VideoKiosksupportstransparentoverlayfilesthataredisplayedinfrontofthecurrentlydisplayedmedia.Thisfeatureis,forexample,oftenusedtooverlayacompanylogointhecornerofthescreen.
VideoKiosk–AndroidUser'sManualburningthumb.com(Mar20,2020)-v7.6.0.203020
13
Feature DescriptionInteractiveHotspots VideoKiosksupportsdefininghotspotsonanoverlay.Ahotspotisarectangle
somewhereonthescreenwithanassociatedURLorApp.Whenthekioskisbeingusingininteractivemodeandthehotspotorkeyistouched,theURLorAppwillbedisplayedinawebview.
BackgroundImagesandAudio VideoKiosksupportsbackgroundimagesandbackground.ImageDisplayTimers Youcanconfigurethestillimagedisplaytimeandcustomizefadetimebetween
files.ScreenOrientation Youcanchangethescreenorientationforthemediaplaybackscreen.Supported
orientationsincludethedefaultforthedevice,aswellasLandscape,Portrait,ReverseLandscape,ReversePortrait.(SupportedonAndroidv4.2andlater.)
Blackflashreduction Youcanusetexturedvideoviewsand/orpauseplaybacktoreduceoreliminatetheblackflashbetweenvideos.
ControllingDisplayusingMetadatainfilenames
Youcancontrolplaybackwhenyouincludecertainkeywordsinthemediafile'sfilename.
LegacyDisplaySupport VideoKioskcanstretcholdervideosoitfitsthenewstandardvideosizeaswellasreduceoreliminatetheflickeratthebeginningofvideosonolderAndroiddevices.
Controlling the Device Thereareseveralfeaturesavailablewhichhelpyoucontrolthedeviceonwhichyourcontentisplaying.
Feature DescriptionHDMICECsupport VideoKioskcansendHDMI-CECcommandstokeeptheTVonandthecorrect
inputselected.(SupportedonAndroidv5.1andlater.)KeyboardandRemoteControl VideoKiosksupportssomekeysonkeyboardsandremotecontrols.TouchGestureControl VideoKiosksupportsusingswipegesturestoselecttothenextorpreviousmedia
itemduringplayback.GamepadControl VideoKiosksupportssomebuttonsongamepads.
Reliability Features VideoKioskisdesignedtoproviderobust,reliableplayback.Bydefault,ithandlesmediathatcan'tbeplayed,willrestartiftoomanyproblemsareencounteredandseamlesslyhandleschangestothemediafolder.Therearesomeadditionalreliabilityfeaturesyoucanconfigure.
Feature DescriptionBehaviouronwakefromsleep VideoKioskwillautomaticallystartplayingcontentuponwakingfromsleep.Use
thisfeaturetodeterminewhetheritwillstartplayingfromwhereitlastendedintheplayloopthecurrentfileorwillstartplayingfromthebeginningoftheplayloop.
AutomaticRestart PeriodicallyrestartingadeviceisacommonwayofaddressingAndroidOSandhardwareinstability.VideoKioskwillautomaticallyrestartthedeviceorrestartsVideoKioskatthespecifiedintervals.Thisreducestheneedtorestartdevicesmanually.
Access Management BecauseVideoKioskisusedinavarietyofdifferentkioskenvironments,itmaynotbenecessaryforyoutolimitaccesstothedevice.Forexample,awall-mountedTVusedasakiosktoplayvideoatthegymwouldrequirelessaccessmanagementthananinteractivekioskinthehandsofcuriousteenagersatamuseum.VideoKiosk'sAccessManagementfeaturesaredesignedtobeflexiblesothatyoucanconfigureaccessatalevelappropriatetothekioskenvironment.
VideoKiosk–AndroidUser'sManualburningthumb.com(Mar20,2020)-v7.6.0.203020
14
Feature DescriptionSettingtheHomeApp InordertohaveVideoKioskautomaticallyrestartwhenAndroidisrestarted,set
itastheHomeAppPasswordProtection Yourequireapasswordinordertomakechangestothekiosk.Disablethepowerbuttonlongpressmenu
Disablingthepowerbuttonlongpresspreventsusersfromcontrollingthedeviceusingthepowerbuttonlongpressmenu.
Disablevolumebutton Disablethistopreventusersfromchangingthevolume.PreventaccesstoSystemUI ThisfeaturehidesthesystemUIforarootedAndroidv4deviceandpinsthe
VideoKioskApp(inKioskmode)forAndroidv5andlaterdeviceswhereVideoKioskismadethedeviceForanexampleofhowtomakeVideoKioskadeviceowner,refertoAppendixB–MakingVideoKioskthedeviceownerattheendofthismanual..
Remote Management and Update VideoKioskwasdesignedtoberemotelymanageablesothatboththemediathatwillbeplayedandVideoKioskfunctionalitycanbecontrolledfromacentrallocation
Feature DescriptionRemotelymanagemediafiles UsingaCloudService,youcanremotelychangethemediathatwillbeplayedon
VideoKiosk.RemotelyControlPlayback YoucanremotelychangetheplaybackorderandupdatethescheduleRemotelyControlDisplay UsingaCloudService,youcanremotelychangeanoverlayandchangeanoverlay
hotspotforaninteractivekiosk.RemoteAccessManagement UsingaCloudService,youcanremotelychangethepasswordforadevice.RemoteStatusReporting VideoKiosksupportsbothsendingstatusreportstoaURLandreceiving
responsessoyoucanintegrateVideoKioskremotedevicesintoamanagementsystem
VideoKiosk–AndroidUser'sManualburningthumb.com(Mar20,2020)-v7.6.0.203020
15
Working with Media Types
Supported Media Formats Video Kiosk will display videos, images or URL shortcuts on an Android TV, tablet or phone.
Displaying Video Toplayvideos,putthevideofilesinthemediafolder.
• ThevideoformatsagivenAndroiddevicesupportsaredeterminedbythedevicemanufacturer.
• IfVideoKioskencountersavideoinaformatnotsupportedbythedevice,itwillskipthevideoandwillplaythemedianextfile.Ifthefileisinasupportedformat,butunplayableforadifferentreason(forexampleanemptyorcorruptfile),VideoKioskwillskipitandplaythenextmediafile.
Displaying Images Toplayimages,puttheimagefilesinthemediafolder.
• VideoKiosksupportsthefollowingimagefileformats:.jpg,.jpeg,.gif,.png,.bmp,webp• Ifyourmediafolderincludesstillimages,eachonewillbedisplayedfor30seconds(this
canbemodifiedintheSettings).• IfVideoKioskencountersanimageinaformatthatisnotsupported,itwillskipthefileand
willplaythenextmediafile.
Using URL Shortcuts to display Content VideoKiosksupportsusingURLshortcutfiles(.urlfiles)todisplaycontent.URLshortcutsarefilescontainingalinktoanyfilethatcanbereferencedbyaURL,typicallyawebpage.Thisfeatureisoftenusedtodisplaylivewebcontent,likeanInstagramfeed,butyoucanreferenceanyURLonthewebaswellaslocallystoredhtmlcontentandimages.
• Ifyourmediafolderincludes.urlfiles,thecontentwillbedisplayedforthedurationoftimespecifiedinthe.urlfile.(Thedefaultistodisplaythewebcontentfor30seconds.)
VideoKiosk–AndroidUser'sManualburningthumb.com(Mar20,2020)-v7.6.0.203020
16
• IfVideoKioskencountersaninvalidURL,itwillskipthefileandwillplaythenextmediafile.(AURLisconsideredinvalidiftheURLisincorrectlyformedorifthepagedoesn’texist.)
How to use URL Shortcuts TouseaURLshortcuttodisplaycontent,followthesesteps:
1. Createa.urlFile.InaTextEditor,createaURLfile,withtheextension“.url”.• FormoreinformationaboutURLfilesandtodownloadasamplekit,refertoonline
VideoKioskTutorials• Forfilecontentsrequirements,refertotheVideoKioskURLShortcutfileSyntaxGuide,
below.2. Placethe.urlfilesinyourcontentfolder.Forfurtherinformationaboutplayback,referto
[ControllingPlayback,p.19]
Video Kiosk URL Shortcut file (.url file) Syntax Guide Syntax Explanation Required /
Optional [InternetShortcut] Sectionidentifier RequiredURL Identifiestheurlvalue
ValidValues:AnyvalidurladdressExample:URL=http://www.burningthumb.com/
Required
TIMEOUT Indicateshowlong,inseconds,VideoKioskwilldisplaythewebcontent.ValidValues:Defaultis30secondsAnyvalidfloatingpointnumberExample:TIMEOUT=45
Optional
CACHE-MODE IndicateswhethertocachethewebcontentValidValues:Defaultisno-cacheno-cache–webcontentisnotcacheddefault–webcontentiscachedExample:CACHE-MODE=default
Optional
LAYER-TYPE IndicateswheretorenderthewebcontentValidValues:Defaultishardwarehardware–webcontentisrenderedonthehardwareacceleratedlayersoftware–webcontentisrenderedonthesoftwarelayer
Optional
VideoKiosk–AndroidUser'sManualburningthumb.com(Mar20,2020)-v7.6.0.203020
17
Example:LAYER-TYPE=software
USER-AGENT Allowsyoutospecifytheuseragentsenttothewebserver.Example:USER-AGENT=Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_5) AppleWebKit/603.2.4 (KHTML, like Gecko) Version/10.1.1 Safari/603.2.4
Optional
MUTE-ON-PRELOAD
Ifthewebpagecontainsaudiocontent,thecontentvolumecanbemutedduringbackgroundpre-loadingofthecontentValidValues:Defaultisfalsetrue–thevolumewillbemutedfalse–thevolumewillnotbemutedExample:MUTE-ON-PRELOAD=true
Optional
SHOW-AFTER-PRELOAD
Normallythewebpagewillbedisplayedwhenthepreviousitemfinishesplaying.Youcanspecifythatthewebpageshouldbeshownassoonasthepreloadingiscomplete.ValidValues:Defaultisfalsetrue–thepagewillbedisplayedassoonasthepreloadcompletesfalse–thepagewillbedisplayedwhenthepreviousitemisfinishedplayingExample:SHOW-AFTER-PRELOAD=true
Optional
SCALE-IMAGE IftheURLisanimageURLandyousetthisoptiontotrue,VideoKioskwillscaletheimagetofullscreen.ValidValues:Defaultisfalsetrue–scaletheimagetofullscreenfalse–positiontheimagebasedonthedefaultfortheWebView.ThisvariesbasedontheversionofAndroidbeingusedExample:SCALE-IMAGE=true
Optional
Examples: URL Shortcut Files Thefollowingexampleshowsthecontentofa.urlfilethatinstructsVideoKiosktoplaytheBurningThumbStudioshomepagefor30secondswithoutcachingthewebpagecontent:
[InternetShortcut] URL= http://www.burningthumb.com/ TIMEOUT=30 LAYER-TYPE=software CACHE-MODE=no-cache
VideoKiosk–AndroidUser'sManualburningthumb.com(Mar20,2020)-v7.6.0.203020
18
Thefollowingexampleshowsthecontentofa.urlfilethatinstructsVideoKiosktoautoplayaYouTubevideofor138secondswhilecachingthewebpagecontent.Noticethatadesktop(MacOSX)USER-AGENTisspecifiedsothatthevideowillautoplayeventhoughtherealuseragentisonamobiledevicewhichwouldresultinautoplaynotworking:
[InternetShortcut] URL=https://www.youtube.com/embed/lYQWiQJJ4lE?rel=0&autoplay=1 TIMEOUT=138 LAYER-TYPE=hardware CACHE-MODE=default USER-AGENT=Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_5) AppleWebKit/603.2.4 (KHTML, like Gecko) Version/10.1.1 Safari/603.2.4
Thefollowingexampledisplaysanimageandscalesittousethefullscreen:
[InternetShortcut] URL=https://media-beta.wsbtv.com/photo/MAP/27381361/27381361_Position3_660_500.JPG TIMEOUT=30 SCALE-IMAGE=true
FormoreinformationaboutURLfilesandtodownloadasamplekit,refertothetutorialsat:
http://burningthumb.com/apps/video-kiosk/tutorials/
VideoKiosk–AndroidUser'sManualburningthumb.com(Mar20,2020)-v7.6.0.203020
19
Controlling Playback WithvideoKiosk,youcancontrolboththeordertheContentLoopisplayed(PlaybackOrder)aswellaswhentheContentLoopisplayed(PlaybackScheduling).VideoKioskprovidesanumberofoptionsforcontrollingbothofthese.
• YoucancontroltheorderoftheContentLoopo usingfileandfolderorder,o usingplaylistsoro usingPickonefiles.
• YoucancontrolwhentheContentLoopisplayed(theplaybackloop)o usingascheduleo usingthedevicelocationo usingmotiondetectiono usingthebatterystateofthedeviceandadaptingplaybackwhenbatteryislow
Default Playback Behavior IfyouhavenotconfiguredaPlaybackOrder,VideoKioskwillplaythecontentsoftheMediaFolder(theContentLoop)intheorderofeitherthefirstplaylistitfindsintheMediaFolderor,ifaplaylistisnotfound,themediafoldercontentsinalphabeticalorderbythefullpathnameofeachfile..
Ifyouhavenotconfiguredatimeforplayback,VideoKioskwillplaythecontentsoftheContentLoopwheneverVideoKioskisrunning.
Controlling the Order of the Content Loop Youcancontrolplaybackorderofthecontentsofthemediafolderusingoneofthreemethods:
• Aplaylist• Thefileandpathorder• A.pickonefolder(s)
Aplaylistwilltakeprecedenceovertheothermethods,soifyouselectaplaylist,VideoKioskwillusetheordercontainedinthe.m3u8playlistfile.
Controlling the Content Loop playback order using a Playlist Video Kiosk supports using playlists (m3u8 files) to control the playback order of the content loop.
VideoKiosk–AndroidUser'sManualburningthumb.com(Mar20,2020)-v7.6.0.203020
20
How to use a Playlist
To use a Playlist to control the playback order, follow these steps:
1. Createaplaylistfile,withtheextension“.m3u8”.
o Formoreinformationonm3u8filesandm3u8filesyntax,refertoM3U-Wikipedia,TheFreeEncyclopediaathttps://en.wikipedia.org/w/index.php?title=M3U
o Forfilecontentsrequirements,refertotheSyntaxGuide,below.
2. MovethePlaylistfileontothedeviceorsynchronizeitusingacloudservice. 3. ConfigureVideoKioskwiththelocationofthePlaylist.Youcanconfigurethelocationofthe
Playlistthatyouwantusinganyofthefollowingways.
UsetheDefaultLocation
• Tousethedefaultlocation,createaplaylistfilecalled"playlist.m3u8"andputthefileinthesamefolderasyourcontentfiles.IfthesortorderissettoPathorfirstplaylistfoundandthereisasingleplaylistoraplaylistwiththename"playlist.m3u8"inthemediafolder,itwillbefoundautomaticallybyVideoKioskandyoudonotneedtoselectaplaylistinthesettings.
ConfigurethePathintheAppSettings
• Createaplaylistfile,putitinafolderandconfigurevideoKioskwiththelocation.GotoVideoKioskSettings>FileandFolder>PathtoPlaylistfolderandsetthepathtotheplaylistfolder.VideoKioskwillplaythefirstplaylistitfindsinthatfolder.
PickaPlaylistintheAppSettings
• Youcanpickaplaylistmanually.GotoVideoKioskSettings>FileandFolder>Sortbyandselecttheplaylisttousefromthelist.ForinformationonSettings,referto[ConfiguringtheSettings,p.77]
Video Kiosk Playlist Syntax Guide #EXTM3U #EXT-X-PLAYLIST-TYPE:VOD #EXT-X-VERSION: #EXT-X-MEDIA-SEQUENCE:0
Required
#EXTINF:99.999, (filename.ext)
Identifiesthetrack(“#EXTINF:99,”requiredforeachentry.OptionallyusetherestofthelinetoidentifythetrackSpecifytheFilename(formoreinformationonabsoluteorrelative
Requiredforeachtrack
VideoKiosk–AndroidUser'sManualburningthumb.com(Mar20,2020)-v7.6.0.203020
21
filenames,refertotheWikipediaarticle.
#EXT-X-ENDLIST Indicatesendoffile Required
Example: Playlist File Hereisanexampleplaylist.m3u8filethatplays3files,startingwith“christmas-lunch-specials-2017.mpg”andendingwith“snow.mp4”.
Note:Currentlythe#EXTINFOvaluesareignored,butthe.m3u8parserexpectsthemtobepresent.
IfyouarenotusinganApptocreateyourplaylist,theeasiestwaytocreateoneistodownloadthesampleandreplacethefilenameswithyourownfilenames.Todownloadasamplekit,refertothetutorialsat:
http://burningthumb.com/apps/video-kiosk/tutorials/
Controlling the Content Loop playback order using the File and Folder Settings YoucancontroltheplaybackorderofthecontentsofthemediafolderusingtheVideoKioskFileandfolder>Sortbysettings.WhenPathsortorderorFilenameexcludingpathsortisselected,VideoKioskwillplaythemediainalphabeticorder(UTF8order)byeitherfullpathorjustthefilenamecomponentofthepath.FormoreinformationonUTF8,refertoUTF-8-Wikipedia,TheFreeEncyclopediaathttps://en.wikipedia.org/w/index.php?title=UTF-8&oldid=683120706
ForinformationonSettings,referto[ConfiguringtheSettings,p.77]
Tocontrolplaybackorderusingthesettings,followthesesteps:
1. ConfigureVideoKioskwithasortorder.GotoVideoKioskSettings>FileandFolder>Sortbyandsetthesetorder.ThedefaultisPathoffirstplaylistfound.Options:Pathorfirstplaylistfound–Sortsbypathorbythefirstplaylistfound(ifthereisone)Path–Sortsbyfullpathname
VideoKiosk–AndroidUser'sManualburningthumb.com(Mar20,2020)-v7.6.0.203020
22
Filenameexcludingpath–Sortsbyfilename,excludingpathRandomshuffle–Sortsinarandomorder
Controlling the Content Loop playback order with a Pick One folder Video Kiosk recognizes the special folder extension, .pickone, and will select just one of the files in that (sub-)folder (in a round robin fashion) each time it plays the content loop.
TouseaPickOnefolder,followthesesteps:
1. Createafolder(ornumberoffolders),usingtheextension,.pickone,andputthemediayouwanttoplayinthefolder(s).
2. Putthefoldersinthemediafolder.
VideoKioskwillselectonefiletoplayfromeach.pickonefoldereachtimeitplaysthemedialoop.
Sort Order Considerations Herearesomeconsiderationswhenconfiguringasortorder.
Restricting File Types Androidhasalistofbuilt-insupportedvideoformats.Themanufacturerofyourdevicemaysupportotherformats.Bydefault,VideoKioskwillattempttoplayvideoinaformatnotonthebuilt-insupportedlistandskipthevideoifitcan'tbeplayed.
Torestrictplaybacktojustbuilt-insupportedvideoformats,
1. GotoVideoKioskSettings>Fileandfolder>Limitplaybacktodocumentedformatsandcheckthecheckbox.
Displaying Playback Error Messages Youcantroubleshootvideoplaybackbydisplayingamessageeachtimeavideodoesn'tplay.
ToenableDisplayPlaybackErrorMessage,
1. GotoVideoKioskSettings>Fileandfolder>Showplaybackerrorsandcheckthecheckbox.VideoKioskwillthendisplayabriefmessagewhenamediaitemcannotbeplayed.Onceyourhaveidentifiedandcorrectedtheproblem,werecommendyouturnoffthissettingbeforedeployingproductiondevices.
Sorting by Path or Filename WhenPathsortorderorFilenameexcludingpathsortorderisselected,VideoKioskwillplaythemediainalphabeticorder(UTF8order),whichsortsnumbers(0-9)beforeletters(a-z).Ifyouwanttocontrolsortorder,werecommendyouprependfilenameswitha2-4digitnumberforVideoKiosktosortby.
VideoKiosk–AndroidUser'sManualburningthumb.com(Mar20,2020)-v7.6.0.203020
23
Example:Inthisexample,thereare6mediaassets,3videosclipsfromcompetitionsand3images-1upcomingeventposterimage,1adspotfortheProShopimageand1scheduleimage.Tointerspersethevideosbetweentheimages,prependthefilenameswithnumbertocontrolthesortorderandchoosefilenameasthesortorder.Thefilenameswouldlooklikethis:
001pro-shop-spot.png002brandon-fight-clip.mp4003mike-boxing-102.png004david-fight-clip.mp4005pma-schedule-fall-2015.png006robert-fight-clip.mp4
Theprependednumbersmakethesortordereasytounderstandandeasytosee.
Limiting the sub-folder depth
When controlling playback using the File and folders Settings or a .pickone folder, make sure the folder depth is set high enough to play all the sub-folders. When Video Kiosk is searching a media folder, the default limit to how many sub-folders depths it will traverse is set to 5. If you have a lot of nested sub-folders, you can increase the limit.
1. Pickthelimitofthedepthofnestedsub-folderthatwillbeplayed.GotoVideoKioskSettings>Fileandfolder>Sub-folderdepthandselectthedepth.
Controlling Playback Time using a Schedule InadditiontocontrollingContentLooporder,youcancontrolthetimeatwhichtheContentLoopisdisplayedusingaschedule.Youcanuseanyoneofthefollowingmethods:
• UsingtheAndroidCalendaronthedevicetocreateaplaybackschedule• UsingaGoogleCalendarthatautomaticallysynchronizestotheversioninthecloud• UsinganXMLschedulefilethatyoucopytothedevice• UsinganXMLschedulefilethatyousynchronizetothedeviceusingthebuilt-inCloudDrive
downloadserviceorathird-partyclouddownloadApp
Deciding on a Schedule option Whendecidingonwhichscheduleoptiontouse,considerthreethings:
• Howoftenwilltheschedulechange?• Howmanydeviceswillbeimpacted?• Deviceconstraints.Howaccessiblearethedevices–aretheydifficulttogettobecausethey
aremountedoverheadonawallorinanothercity?Dotheyhaveinternetaccess?Isthereacloudservicesetup?
VideoKiosk–AndroidUser'sManualburningthumb.com(Mar20,2020)-v7.6.0.203020
24
Whichschedulingoptionbestmeetsyourrequirementswilldependonyourconfiguration.Howaretheconsiderationsforeachoption.
• Androidcalendarconsiderations.SinceAndroidCalendarisonthedevice,you’llneedtoenterthescheduleeventsoneachofyourdevices.Ifyouwanttomodifytheschedule,you’llneedtoenterthenewscheduleeventsoneachdevice.Considerations:
o Doesn'trequirethedevicetohaveinternetaccesso RequiresanAndroidCalendarapptobeinstalledoneachdeviceo Easytodo,providedthescheduledoesnotchangeofteno Easytodo,providedyouhaveonlyafewdevicesyouwouldhavetomodifythe
scheduleofo Easytodo,providedthedevicesareeasytoaccess.
• Googlecalendarconsiderations.UsingtheInternet,youcanhavemanydevicessharethesameGoogleCalendar.YouenterthescheduleeventsonaGoogleCalendarandthenconfigureallthedevicestousethesamecalendar.Tomodifytheschedule,youjustneedtoenterthenewscheduleeventsonGooglecalendarandallthedeviceswillautomaticallyswitchtothenewschedule.Considerations:
o Requiresthatalldeviceshaveaccesstotheinterneto RequirestheGoogleCalendarapptobeinstalledoneachdeviceo Requiresmoreinitialset-up,butallowsyoutochangethescheduleononecentral
locationandthenhaveitpropagateouttomanydevices,regardlessoftheirlocation• LocalXMLschedulefileconsiderations.SincealocalXMLScheduleisonthedevice,you’ll
needtocopytheschedulefileontoeachofyourdevices,eachtimeyouchangetheschedule.Thismaybecumbersomeandtime-consumingiftheschedulechangesoften,ifyouhavemanydevices,orifthedevicesaredifficulttogetto.Considerations:
o Doesn'trequirethedevicetohaveinternetaccesso Easytodo,providedthescheduledoesnotchangeofteno Easytodo,providedyouhaveonlyafewdevicesyouwouldhavetocopythenew
XMLschedulefiletoo Easytodo,providedthedevicesareeasytoaccess.
• XMLschedulefileoverthecloudconsiderations.Usingthebuilt-inCloudDrivedownloadserviceorathird-partyClouddownloadApp,youcansynchronizemanydevicestooneXMLScheduleFile.Tomodifythescheduleonalldevices,movethenewschedulefiletothecontentfolderonthecloudserviceandallthedeviceswillautomaticallyswitchtothenewschedule.Thiswillsavetimeoverchangingthescheduleoneachdeviceindividually.However,itdoesrequiretheuseofacloudserviceandthateachdevicehaveaccesstotheInternet.Considerations:
o Requiresthatalldeviceshaveaccesstotheinterneto Doesn'trequireacalendarAppbeinstalledoneachdevice
VideoKiosk–AndroidUser'sManualburningthumb.com(Mar20,2020)-v7.6.0.203020
25
o Requiresmoreinitialset-up,butallowsyoutochangethescheduleinoneXMLfileandthenhaveitpropagateouttomanydevices,regardlessoftheirlocation
Using Android Calendar to control the schedule VideoKioskwillexecutecommandsbasedonthetimeanddescriptionofthecalendarentryinthecalendaryouhaveselectedinthesettings.TouseAndroidCalendartoscheduleplayback,followthesesteps:
1. InAndroidCalendar,createacalendarandaddplaybackeventsusingthestartandendtimesintheCalendartocontrolwhenyourcontentisplayed(ornotplayed,dependingontheDisplayStatesetting.)
2. Optionally,youcancontroldevicebehaviorbyaddingcommandstothedescriptionfieldoftheevent.Formoreinformation,refertotheVideoKioskCalendarCommandReferenceGuidesectionofthisdocument.
3. ConfigureVideoKioskwiththelocationoftheschedule.GotoVideoKioskSettings>Schedule>UseacalendarorscheduleandselecttheAndroidCalendarastheschedulelocation.VideoKioskwilldisplayallAndroidCalendarsonthedeviceinthislist.
4. Choosethedevicebehaviorwhennoscheduleeventoccurs.Thedefaultistodisplayablankscreen.Toplaytheclockinstead,gotoVideoKioskSettings>Schedule>DisplayClockandsettoon.YoucanchangetheclockcolorusingtheVideoKioskSettings>Schedule>ClockColorsetting.Youcanchangetheclockformat(12hourAM/PMversus24hour)intheSystemSettingsforthedevice.
5. ChoosewhetherthescheduleeventcontrolsthedisplaybysettingtheScheduleSettingDisplaystate.Alwayson-thescheduleeventsdonotturnthedisplayoffOnforevents,otherwiseoff-thescheduleeventwillturnthedisplayonOffforevents,otherwiseon,thescheduleeventwillturnthedisplayoff.
6. ChoosehowoftenVideoKioskchecksforchangestotheschedule.Thedefaultisevery30seconds.YoucanchangetheclockcolorusingtheVideoKioskSettings>Timers>ScheduleChecksecondssetting.
7. Ensurethatthedevice’stimeissettothecorrecttimeandcorrecttimezone.(Thismaybesetautomatically,dependingonthedevice.Formoreinformation,refertotheOwner’smanualthatcamewiththedevice.)
Using Google Calendar to control the schedule VideoKioskwillexecutecommandsbasedonthetimeanddescriptionofthecalendarentryinthecalendaryouhaveselectedinthesettings.Ifyou’reusingGoogleCalendartoscheduleplayback,you’llneedtoensurethedevicehasaccesstotheInternet.
How to use a Google Calendar Schedule TouseGoogleCalendartoscheduleplayback,followthesesteps:
1. InGoogleCalendar,createacalendarandaddplaybackeventsusingthestartandendtimesintheCalendartocontrolwhenyourcontentisplayed(ornotplayed,dependingonthe
VideoKiosk–AndroidUser'sManualburningthumb.com(Mar20,2020)-v7.6.0.203020
26
DisplayStatesetting.)
2. Optionally,adddevicecontrolcommandstothecalendareventdescriptionfield,ifrequired.
Formoreinformation,refertotheVideoKioskCalendarCommandReferenceGuidesectionofthisdocument.
3. Onthedevice,logontotheGoogleAccountyouusedwhencreatingtheGoogleCalendar.ThiswillnotifyVideoKioskoftheexistenceoftheGoogleCalendarandaddittotheVideoKiosklistofschedules.
4. ConfigureVideoKioskwiththelocationoftheschedule.GotoVideoKioskSettings>Schedule>UseacalendarorscheduleandselecttheGoogleCalendarastheschedulelocation.
5. Choosethedevicebehaviorwhennoscheduleeventoccurs.Thedefaultistodisplayablankscreen.Toplaytheclockinstead,gotoVideoKioskSettings>Schedule>DisplayClockandsettoon.YoucanchangetheclockcolorusingtheVideoKioskSettings>Schedule>ClockColorsetting.Youcanchangetheclockformat(12hourAM/PMversus24hour)intheSystemSettingsforthedevice.
6. ChoosewhetherthescheduleeventcontrolsthedisplaybysettingtheScheduleSettingDisplaystate.Alwayson-thescheduleeventsdonotturnthedisplayoffOnforevents,otherwiseoff-thescheduleeventwillturnthedisplayonOffforevents,otherwiseon,thescheduleeventwillturnthedisplayoff.
7. ChoosehowoftenVideoKioskchecksforchangestotheschedule.Thedefaultisevery30seconds.YoucanchangetheclockcolorusingtheVideoKioskSettings>Timers>ScheduleChecksecondssetting.
8. Ensurethatthedevice’stimeissettothecorrecttimeandcorrecttimezone.(Thismaybesetautomatically,dependingonthedevice.Formoreinformation,refertotheOwner’smanualthatcamewiththedevice.)
Video Kiosk Google Calendar Schedule examples HereisanexampleofaGooglecalendarscheduleusedbyaretailstore,displayingthecontentloopduringthestore’sopeninghours,turningthedisplayonat1000andoffat1800fromMondaytoSaturday.
VideoKiosk–AndroidUser'sManualburningthumb.com(Mar20,2020)-v7.6.0.203020
27
HereisanexampleofaGooglescheduleusedbyadojo,displayingthecontentloopwhenclassesarerunning,exceptduringthekid’sclasses.Toturncontentdisplayoffforthisoneevent,thecommand“videokiosk_display=off”isaddedtotheevent’sdescription.
Video Kiosk Calendar Command Reference Guide AndroidCalendarorGoogleCalendarmayalsobeusedtocontrolVideoKiosk’sbehavior.VideoKioskwillcheckthecalendarandexecutecommandsbasedonthetimeanddescriptionofthecalendarentry.Bydefault,atthetimeofthecalendarevent,VideoKioskwillstartplayingtheloopaccordingtohowthePlaybackOrderissetandstopplayingattheendofthecalendarevent.Tochangethisbehaviour,includethesecommandsinthedescriptionofthecalendarentry.
VideoKiosk–AndroidUser'sManualburningthumb.com(Mar20,2020)-v7.6.0.203020
28
Command Arguments Descriptionvideokiosk_display_state {alwayson,
eventon,eventoff}
Setthedisplaystatetoalwayson(scheduledeventswillnotchangethedisplay),Onforevents,otherwiseoff(scheduledeventswillturnthedisplayon,otherwisethedisplaywillbeoff),orOffforevents,otherwiseon(scheduledeventswillturnthedisplayoff,otherwisethedisplaywillbeon).Changingthiswillupdatethesettings.Ifthevideokiosk_displaycommandispresent,itoverridesthissettingforthatspecificevent.
videokiosk_path /path/to/folder SettheplaybackpathusedbyVideoKiosktotheContentfolderonthedevice.UsethepathtotheContentFolder,notafileintheContentFolder.ThiscommandisequivalenttochangingtheContentfolderintheAppbyclickingthefoldericoninthebuttonbar.Changingthiswillupdatethesettings.Ifyouwanttotemporarilychangethepath,justforthisevent,youneedtocreate2events.Thefirsteventshouldsetthetemporarypathanditshouldbefollowedimmediatelybythesecondeventthatresetstotheoriginalpath.
videokiosk_display {on,off} Turnthedisplayonoroffforthisoneevent.Thisoverridesthedisplaystatebutonlyforthisoneevent.Forexample,ifthedefaultisdisplayon,youcanturndisplayoffforspecificeventsusingthiscommand.
Examples:
• Toturncontentdisplayoffforjustoneeventaddthislinetotheeventdescription:videokiosk_display=off
• Tochangethepathtothemediafolder,addthislinetotheeventdescription:(Sincethepathdependsonthefilesystemofthedevice,checkthepathwithafilebrowseronyourdevicepriortousingthiscommand.)videokiosk_path=/mnt/sdcard/CurrentSchedule
Using an XML file to control the schedule Video Kiosk supports using an.XML file to control the schedule.
How to use an XML Schedule file TouseanXMLschedulefiletoscheduleplayback,followthesesteps:
1. InVideoKiosk>Settings>Fileandfolder>Sortby,choosePathorfirstplaylistfound.Scheduledplaybackwon'tworkwiththeSortbysettings(Path,Filenameexcludingpath,Randomshuffle).
2. InaTextEditor,createanXMLschedulefileanduseittocontrolplayback.Whenyouhavefinishededitingthefile,changethefileextensionto“.schedule”soVideoKioskwillrecognizeitasaSchedulefile.Formoreinformation,refertotheVideoKioskXMLScheduleFileSyntaxReferenceGuidebelow
VideoKiosk–AndroidUser'sManualburningthumb.com(Mar20,2020)-v7.6.0.203020
29
3. MovetheXMLschedulefileontothedeviceorsynchronizeitusingacloudservice.Formoreinformationaboutsynchronizing,refertothe[RemoteDeviceUpdating]sectionofthisdocument
4. ConfigureVideoKioskwiththelocationoftheschedule.YoucanconfigurethelocationoftheSchedulethatyouwantintwoways,byputtingtheschedulefileinthedefaultlocationorbysettingthepathtotheschedulefileintheAppSettings.
UsetheDefaultLocation
• Tousethedefaultlocation,createaschedulefilecalled"VideoKiosk.schedule"andputtheschedulefileinthesamefolderasyourcontentfiles.VideoKioskwillautomaticallyusethisastheScheduleFile.
ConfigurethePathintheAppSettings
• GotoVideoKioskSettings>Schedule>Pathtoschedulefolderandsetthepathtotheschedulefolder.
• GotoVideoKioskSettings>Schedule>Useacalendarofscheduleandselectthescheduletouse.
5. Choosethedevicebehaviorwhennoscheduleeventoccurs.Thedefaultistodisplayablankscreen.Toplaytheclockinstead,gotoVideoKioskSettings>Schedule>DisplayClockandsettoon.YoucanchangetheclockcolorusingtheVideoKioskSettings>Schedule>ClockColorsetting.Youcanchangetheclockformat(12hourAM/PMversus24hour)intheSystemSettingsforthedevice.
6. ChoosewhetherthescheduleeventcontrolsthedisplaybysettingtheScheduleSettingDisplaystate.Alwayson-thescheduleeventsdonotturnthedisplayoffOnforevents,otherwiseoff-thescheduleeventwillturnthedisplayonOffforevents,otherwiseon,thescheduleeventwillturnthedisplayoff.
7. ChoosehowoftenVideoKioskchecksforchangestotheschedule.Thedefaultisevery30seconds.YoucanchangetheclockcolorusingtheVideoKioskSettings>Timers>ScheduleChecksecondssetting.
8. Ensurethatthedevice’stimeissettothecorrecttimeandcorrecttimezone.(Thismaybesetautomatically,dependingonthedevice.Formoreinformation,refertotheOwner’smanualthatcamewiththedevice.)
Video Kiosk XML Schedule file Syntax Guide <events> </events>
Alistofallplaybackevents Required <event>
</event> Asingleplaybackevent Requiredforevent
<week> </week>
Eventsoccursonmultipledaysoftheweek.Definedaysusingthestring“SMTWTFS”,usingthelettertoincludethedayanda“-“toskiptheday.Useall7charactersortheeventwillbeignored.
Useeither<week>or<dayofweek>foreachevent,notboth
VideoKiosk–AndroidUser'sManualburningthumb.com(Mar20,2020)-v7.6.0.203020
30
<dayofweek> </dayofweek>
EventoccursforasingledayValidValues:SunMonTueWedThuFriSat
Useeither<week>or<dayofweek>foreachevent,notboth
<starttime> </starttime>
Thetimetheeventstarts(24hourclock,format“99:99”)
Requiredforevent
<endtime> </endtime>
Thetimetheeventends(24hourclock,format“99:99”)
Requiredforevent
<playlist> </playlist>
Aplaylisttouseforthisevent Optional
<path> </path>
Apathtouseforthisevent Optional
Video Kiosk .schedule XML file examples Theweektagisusedtodefinethesameeventoccurringonmultipledaysoftheweek,usingastringoftheformSMTWTFS,whereeachdayoftheweekusesthefirstletterofthedaysname.Ifyouwanttheeventtooccuronaday,usetheletterfortheday’sname.Ifyouwanttoskipaday,usea“-“insteadofthefirstletteroftheday’sname.It’simportantthatthestringalwayscontainsall7characters.Ifyouuseanyothernumberofcharacters,theeventwillbeignored.
Forexample,
• AneventthatoccursMondaythroughFridaywouldusethestring“-MTWTF-“• Aneventthatoccursonlyontheweekendwouldusethestring“S-----S”• AneventthatoccursonMonday,WednesdayandFridaywouldusethestring“-M-W-F-“
HereisanexampleofanXMLfilethatcontainstwoevents,thefirstdisplayingthemorningplaylistweekdaymorningsfrom06:00to11:59andtheseconddisplayingtheafternoonplaylisteveryafternoonfrom12:00to20:59:
<?xml version=”1.0″ encoding=”UTF-8″?> <events> <event> <week>-MTWTF-</week> <starttime>06:00</starttime> <endtime>11:59</endtime> <playlist>morning.m3u8</playlist> </event> <event> <week>SMTWTFS</week> <starttime>12:00</starttime> <endtime>20:59</endtime> <playlist>afternoon.m3u8</playlist> </event> </events>
VideoKiosk–AndroidUser'sManualburningthumb.com(Mar20,2020)-v7.6.0.203020
31
Thedayofweektagisusedtodefineaneventoccurringononedayoftheweek.Thevaluestouseforthedaysoftheweekare:
Sun,MonTueWedThuFriSat
Forexample,aneventthatoccurseachMondaywouldusethestring“Mon“
HereisanexampleofanXMLfilethatcontainstwoevents,thefirstdisplayingthemorningplaylistonMondaymorningsfrom0600to1159andtheseconddisplayingtheafternoonplaylistThursdayafternoonsfrom1200to2059:
<?xml version=”1.0″ encoding=”UTF-8″?> <events> <event> <dayofweek>Mon</dayofweek> <starttime>06:00</starttime> <endtime>11:59</endtime> <playlist>morning.m3u8</playlist> </event> <event> <dayofweek>Thu</dayofweek> <starttime>12:00</starttime> <endtime>20:59</endtime> <playlist>afternoon.m3u8</playlist> </event> </events>
FormoreinformationaboutXMLSchedulefilesandtodownloadasamplekit,refertothetutorialsat:
http://burningthumb.com/apps/video-kiosk/tutorials/
Controlling Playback using device location Youcancontrolplaybackusingthedevicelocation,definedbyGeofences.Geofencescanbespecifiedintwoways:
• VideoKiosk.locationXMLfiles• GeoJSONwithVideoKioskExtensions
It’simportanttoconsideroverlappingGeofences,inthecasewhereGeofencesoverlap,andadeviceislocatedintheoverlappingarea,VideoKioskwillchoosetheplaylistfromthesmallerofthetwoareas.Ifthetwoareasarethesamesize,VideoKioskwillchoosetheplaylistfromthefirstarea.
VideoKiosk–AndroidUser'sManualburningthumb.com(Mar20,2020)-v7.6.0.203020
32
Location XML file VideoKioskwillselectaplaylistbasedonthelocationofthedeviceandtheGeofencesdefinedina.locationXMLfile:
1. InaTextEditor,createanXMLlocationfile(s)andusethemtocontrolplayback.Formoreinformation,refertotheVideoKioskLocationSyntaxReferenceGuidebelow
2. SelectVideoKiosklocationfilethatdefinestheGeofencesyouwanttouse.Youcanselectthelocationsthatyouwantintwoways,byputtingthelocationfileinthedefaultmediafolderorbysettingthepathtothelocationfilesintheAppSettings
ConfigurethePathintheAppSettings
• GotoVideoKioskSettings>Location>Pathtolocationfolderandsetthepathtothelocationfolder.
• GotoVideoKioskSettings>Location>UseGeofencelocationsandselectthelocationfiletouse.
Video Kiosk .location file Syntax Guide <fences> </fences>
AlistofallGeofences Required
<fence> </fence>
AsingleGeofence Required
<name> </name>
ThenameoftheGeofence Required
<circle> </circle>
AcircularGeofence.DefinesaGeofencewithacenterandaradius.NoteyoushouldselectacircleORapolygonbutnotboth.
Optional
<lng> </lng>
ThelongitudeofthecenterpointofthecircularGeofence
Requiredforcircle
<lat> </lat>
ThelatitudeofthecenterpointofthecircularGeofence
Requiredforcircle
<radius </radius>
Theradius,inmeters,ofthecircularGeofence
Requiredforcircle
<polygon> </polygon>
DefinesaGeofencesasaseriesofpoints.Eachpolygonmusthaveaminimumof3points..NoteyoushouldselectacircleORapolygonbutnotboth.
Optional
<point> </point>
Onepointinapolygon <lng>
</lng> ThelongitudeoftheapointofthepolygonGeofence
Requiredforpoint
<lat> </lat>
ThelatitudeofapointofthepolygonGeofence
Requiredforpoint
<playlist> </playlist>
AplaylisttousewhenthedeviceisgeographicallylocatedinthisGeofence
Required
VideoKiosk–AndroidUser'sManualburningthumb.com(Mar20,2020)-v7.6.0.203020
33
Location XML Example BelowisanexampleoftheXMLrequiredtocreatea1kmcirculargeofenceintheWestEndofVancouver,BC,Canada.
<?xml version=”1.0″ encoding=”UTF-8″?> <fences> <fence> <name>WestEnd</name> <lat>49.28768</lat> <lng>-123.1350</lng> <radius>1000</radius> <playlist>westend.m3u8</playlist> </fence> </fences>
GeoJSON file VideoKioskwillselectaplaylistbasedonthelocationofthedeviceandtheGeofencesdefinedina.geojsonJSONfile:
1. Onthewebsitegeojson.iocreatethemapthatyouwishtouse. 2. Addtheextra,required,fieldsnameandplaylisttoeachpolygononyourmap 3. Savethefile(s)asGeoJSON(.geojson)andusethemtocontrolplayback.Formore
information,refertotheVideoKioskGeoJSONSyntaxReferenceGuidebelow 4. SelectVideoKiosklocationfilethatdefinestheGeofencesyouwanttouse.Youcanselect
thelocationsthatyouwantintwoways,byputtingthelocationfileinthedefaultmediafolderorbysettingthepathtothelocationfilesintheAppSettings
ConfigurethePathintheAppSettings
• GotoVideoKioskSettings>Location>Pathtolocationfolderandsetthepathtothelocationfolder.
• GotoVideoKioskSettings>Location>UseGeofencelocationsandselectthelocationfiletouse.
VideoKiosk–AndroidUser'sManualburningthumb.com(Mar20,2020)-v7.6.0.203020
34
Video Kiosk .location file Syntax Guide SinceJSONisnotashumanreadableasXML,itisstronglyrecommendedthatyouusethewebsitegeojson.iotocreateandedityour.geojsonfiles.Inadditiontothestandardgeojsongeneratedwhenapolygoniscreatedonthissiteyouneedtoaddthefieldsnameandplaylist:
• nameisauniquestringthatisusedtonamethepolygon.• playlististhefilename(notthefullpathjustthefilenamepartofthepath)oftheplaylist
thatyouwanttouse.
Belowisanexampleofthegeojsoncreatedatgeojson.iowiththeextrafieldsadded.
{ "type": "FeatureCollection", "features": [ { "type": "Feature", "properties": { "stroke": "#555555", "stroke-width": 2, "stroke-opacity": 1, "fill": "#555555", "fill-opacity": 0.5, "name": "westend", "playlist": "westend.m3u8" }, "geometry": { "type": "Polygon", "coordinates": [ [ [ -123.14892768859862, 49.28925041973686 ], [ -123.1377696990967, 49.2766528015807 ], [ -123.11536788940428, 49.29014612779744 ], [ -123.13339233398438, 49.296527576688376
VideoKiosk–AndroidUser'sManualburningthumb.com(Mar20,2020)-v7.6.0.203020
35
], [ -123.14892768859862, 49.28925041973686 ] ] ] } } ] }
Motion Detection Withdevicesthathaveacamera,VideoKioskcanusethecameratodetectmotionandstartplaying.Itwillstopplayingmediaifnomotionisdetectedforthespecifiedtimeout.
1. ConfigureVideoKioskmotiondetection.GotoVideoKioskSettings>Schedule>Detectmotionandconfigurethebehaviorwhenmotionisdetected.ForinformationonSettings,referto[ConfiguringtheSettings,p.77]
Monitoring Battery State Somedevices,notablytablets,havebatteries.YoucanconfigureVideoKiosktoplaycontentbasedonthepercentagebatterychargeremainingandwhetherornotthebatteryischarging(i.e.thedeviceispluggedintoacharger).
1. ConfigureVideoKioskbatterymonitoring.GotoVideoKioskSettings>Schedule>Monitorbatterychargeandconfigurethebehaviorwhenthebatteryisnotchargingandwhenthebatterychargeislow.ForinformationonSettings,referto[ConfiguringtheSettings,p.77]
Changing the Playback Mode UsuallythePlaybackModeissetto“Playnext”,andVideoKioskplaysthenextmediaitemwhenthecurrentmediaitemfinishes.However,youcanchangethisbehaviourtoplaytheprevious,topauseafterplayortoloopplayandrequireaswipeeventtocontinue.
Tochangetheplaybackmode,
1. GotoVideoKioskSettings>InteractivePlayback>Mode
VideoKiosk–AndroidUser'sManualburningthumb.com(Mar20,2020)-v7.6.0.203020
36
andsetthePlaybackMode.ForinformationonSettings,referto[ConfiguringtheSettings,p.77]
VideoKiosk–AndroidUser'sManualburningthumb.com(Mar20,2020)-v7.6.0.203020
37
Controlling the Display Displayfeaturescontrolhowyourcontentlooksonthedevice.DigitalSignageWidgetsfeaturesareusedtoconfigureandcustomizethesplitscreenwhenusingSplitScreenMode.Overlaysandbackgroundsareusedtodisplaybackgroundsbehindmediafilesandoverlaysinfront.Youcanalsocustomizethetimeimagesaredisplayed,configuretimerstofadebetweenmediafilesandchangethescreenorientation.
ForinformationonSettings,referto[ConfiguringtheSettings,p.77]
View Options - Screen Orientation, Timers and Transitions
Screen orientation VideoKioskallowsyoutosetthescreenorientationforjustthemediaplaybackscreen.Theotherviews,suchassettings,arenotaffected.(Ifyouwanttochangeallthevieworientations,youcanusethedeviceSystemSettings).Thesupportedorientationsare:
• Default• Landscape• Portrait• ReverseLandscape• ReversePortrait
Tochangethescreenorientation,gotoVideoKioskSettings>ViewOptions.
Image Display Options
Image Display Time Ifyourmediafolderincludesstillimages,eachonewillbedisplayed,bydefault,for30seconds.
• Toincreaseordecreasethedefaultdisplaytime,gotoVideoKioskSettings>Timers>Imagedisplaytimeandchangethedisplaytime(inseconds).
• Ifyousetthetimeto0,VideoKioskwilldisplayanimageandthenpauseuntilthescreenistouched.Youcanusethisfeaturetopausethemedialoopandwaitforuserinteractionpriortocontinuing.
• Tooverridethedefaultdisplaytimeforindividualimages,refertothe"ControllingDisplayusingfilenam"sectionofthisdocument.Asanexample,youmightwanttodothisifthereisalotoftextononeslideandyouwanttogiveviewersmoretimetoreadit.)
VideoKiosk–AndroidUser'sManualburningthumb.com(Mar20,2020)-v7.6.0.203020
38
Image Fade Time Note:RequiresAndroidv4.2orlater
Ifyourmediafolderincludesstillimages,eachonecanfadeinandfadeoutoversomenumberofmilliseconds.Toincreaseordecreasethisfadetime,gotoVideoKioskSettings>Timers>Imagefadetimeandchangethedisplaytime(inseconds).
Other Image Display Options VideoKioskprovidessettingsforhandlingimages,suchas:
• ImageViewScaleType–supportsmanyscalingoptions,suchas:o PanandZoom(KenBurns)effect,o FitXY,FitStart,FitCenter,FitEndo Center,CenterCrop,CenterInside
• Imageresizing–scalesimagestofitrotatedscreen• JPGdithering–useditheringwhendecoding• UsetheEXIFOrientationMETAdatatocontrolimagerotation–Rotateimagesbasedon
EXIFOrientationinfilemetadata• Controllingmaxmegapixels–reducesqualityofimageslargerthanyourmaxlimit
Tochangetheimagesettings,gotoVideoKioskSettings>ViewOptions.
Video Display Options
Video Fade Time Note:RequiresAndroidv4.2orlater
Ifyourmediafolderincludesvideofiles,eachvideocanfadeinandfadeoutoversomenumberofmilliseconds.Toincreaseordecreasethisfadetime,gotoVideoKioskSettings>Timers>Videofadetimeandchangethedisplaytime(inseconds).
NOTE:Fadingvideoisresourceintensive.OnlowendAndroidsticksenablingVideofadingcanresultinchoppyvideoplayback.Ifyouexperiencechoppyvideoplayback,settheVideofadetimebackto0.
Other Video Display Options VideoKioskprovidesoptional4KDisplaysupport,whichenablesthe4Kdisplaysupportprovidedbytheparticulardevice.Formoreinformation,refertoSettings>ViewOptions>RequestBestResolutionintheSettingssectionofthisdocument.
Using textured video views and / or pause playback to reduce black flash PleasenotethatsomeMP4videoencodingsdonotworkwithtexturedvideoviewsandyoumaygetablankorgreenscreenduringplayback.Ifthishappens,youneedtoturnofftexturedvideoviews.
Thechipsetinsomedevices,typicallyAmlogic-based,displayablackflashbeforeandafterplayingeachvideo.Thisisbecausethe3Drenderingpipelineisusedtodisplaystandardvideoviews.Asan
VideoKiosk–AndroidUser'sManualburningthumb.com(Mar20,2020)-v7.6.0.203020
39
alternative,youcanusetexturedvideoviews,whichusethe2Drenderingpipeline,toreduceoreliminatethisblackflash.Pleasenotethatusingthe2Drenderingpipelineisslowersoonsomelow-enddevicesenablingthissettingcanresultinchoppyplayback.OnAndroidv4.2andlater,youcanenablethissettingtoreduceoreliminatetheblackflash.Todothis,gotoVideoKioskSettings>ViewOptions>Usetexturedvideoviewsandcheckthecheckbox.
Inaddition,whenVideoKioskreachestheendofavideo,itinvokesthemethodStopPlayback()whichcanalsoresultinablackflashonsomeAmlogicbaseddevices.YoucanconfigureVideoKiosktousePause()insteadofStopPlayback()whicheliminatesthissecondsourceofblackflashesonsomedevices.TodothisgottoVideoKioskSettings>ViewOptions>Pauseplaybackandcheckthecheckbox.Unfortunately,onsomedevices,enablinghissettingcanresultinplaybackerrorssobecarefulandonlyenablethissettingifyouarestillgettingblackflashesafterenablingtexturedvideoviews.
Web Display Options
Web Fade Time Note:RequiresAndroidv4.2orlater
Ifyourmediafolderincludesstill.urlfiles,eachwebpagecanfadeinandfadeoutoversomenumberofmilliseconds.Toincreaseordecreasethisfadetime,gotoVideoKioskSettings>Timers>Webfadetimeandchangethedisplaytime(inseconds).
Other URL Display Options VideoKioskprovidessettingsforhandlingmedia,suchas:
• PreloadURLs–LooksaheadandpreloadsURLfilesinthebackground
Tochangethemediahandlingsettings,gotoVideoKioskSettings>ViewOptions.
Split Screen Display VideoKiosksupportsSplitScreenDisplay,whichsplitstheplaybackscreeninto4areas,A,B,CandD,allowingyoutorunvideo,imagesorwebcontentinareaA,whileyourunwidgetsorwebcontentinareaB,C,D.
VideoKiosk–AndroidUser'sManualburningthumb.com(Mar20,2020)-v7.6.0.203020
40
Eachareahasadefaultitwilldisplay.Whensplitscreenmodeisenabled,thefollowingwillbedisplayed:
• AreaAwilldisplayyourvideocontent• AreasB,CandDwilldisplayyourbackground,orablackscreenifnobackgroundis
configured
Configuring the Split Screen Display ToenableSplitScreenmode,
1. Ifyouhaven’talreadydoneso,enableWidgetMode.GotoVideoKioskSettings>Widgets>Enablewidgetsandcheckthecheckbox.VideoKioskwillre-launchanddisplaya4-panelsplitscreen.
2. ConfigureVideoKioskAreasB,CandDwiththewidgets|URLstodisplay.(Youcanusethebuilt-inwidgetsorathird-partywidget.)ForeachofAreasB,CandD,gotoVideoKioskSettings>Widgets>ChooseAreaxWidgetandselectandconfigurethewidget(s)andURL(s)todisplay.Eachwidgetareacandisplaymultipleappwidgetsand/orwebURLrenderedcontent.ThewebURLcanbeanyvalidprotocolincludinghttp://,https://(remotecontent)andfile://(localcontent).Addanyotherwidgetsand/orwebURLstobedisplayedinthatArea.Optionally,entertheamountoftime,ifitisdifferentthanthedefaultvalue,todisplayitinminutes.
3. Optionally,configurethe“MonitorInternet”feature.IfyourwidgetsaredependentontheInternet,theymaybehaveinanunexpectedmannerifInternetconnectionislost.YoucanconfigureVideoKiosktomonitortheInternetandreturntofullscreenmodewhenInternetconnectionislost.Toenablethisfeature,gotoVideoKioskSettings>Widgets>MonitorInternet,andtickthebox.
4. Optionally,configurethe“Arrangeinrows”option.Thedefaultistoarrangeyourwidgetsincolumns.
5. Optionally,adjustthewidgetarealayoutandthewidgetareapadding.Formoreinformation,refertothe“CustomizingWidgetAreas”sectionbelow.
To Return to Full Screen Mode ToreturntoFullScreenMode,
VideoKiosk–AndroidUser'sManualburningthumb.com(Mar20,2020)-v7.6.0.203020
41
1. GotoVideoKioskSettings>Widgets>Enableanduncheckthecheckbox.VideoKioskwilldisplayfullscreen.
Customizing Widget Area Layout YoucanusetheVideoKioskdefaultlayout,oryoucancustomizethelayoutbyaddingorremovingpaddingbetweentheareasorbychangingthesizeofthewidgetareas.
Adjusting Widget Area Size WidgetAreaSizeistheboundariesofthefourAreas(AreasA,B,CandD)includingtheareausedbythewidgetandthepadding.
BydefaultVideoKioskassumesa1080pdisplayinlandscapeorientationwithascreenresolutionof1920x1080.Thehorizontalweightsare1426and494andtheverticalweightsare800and280.Soona1080pdisplaythepixelsizeswillbeasfollowsAreaA:1426x800,AreaB:494x800,AreaC:1426x280andAreaD:494x280.Thebestwaytounderstand|usethelayoutweightsistodeterminethehorizontalwidthandverticalheightofyourdisplaybasedonitsorientationandthensettheweightstothenumberofpixelsthatyouwantinyourlayout.
Toadjustawidget’sareasize,
1. GotoVideoKioskSettings>Widgets>Horizontallayoutandadjustthehorizontalweightforthewidget’sarea.
2. GotoVideoKioskSettings>Widgets>Verticallayoutandadjusttheverticalweightforthewidget’sarea.
Adjusting Widget Area Padding PaddingistheareabetweentheWidgetareaboundariesandthesidesoftheWidget.Eachwidgetareahasadefaultpaddingamountwhichallowsthebackgroundtoshowthroughbetweenthewidgetareasandalignsthewidgetwithinthearea.Ifyou’dliketochangeawidget’splacementslightlywithinit’sarea,usethepaddingfeature.Pleasenotethatthepaddingcanbebothpositiveandnegative.ForwebURLcontent,additionalpaddingandformattingmayneedtobeincludedinthehtmldescriptionofthecontent.
Toadjustawidget’spadding,
1. GotoVideoKioskSettings>Widgets>AreaXPaddingandadjustthepaddinginthewidget’sarea.
VideoKiosk–AndroidUser'sManualburningthumb.com(Mar20,2020)-v7.6.0.203020
42
Example: Customizing Widgets
Inthisisanexample,thedefaultwidgetarealayoutanddefaultwidgetpaddinghasbeenused.
Inthisexample,thedefaultwidgetarealayoutisusedandthepaddingforAreaAandAreaDhavebeenincreased.
Inthisexample,thedefaultwidgetpaddinghasbeenused.ToallowAreaAtousetheentirewidthofthescreen,thehorizontalweightofAreaBhasbeensettoO,whilethehorizontalweightofAreaAhasbeensettothemaximumforthescreenresolution.
Widget Considerations
Where to find widgets • VideoKiosksupportsbuiltinwidgetsforRSS,DateandTime,Imagefolder,andURL• BurningthumbStudioshasdevelopedsomeAppWidgetsandHTML5/CSS/Javascript
widgetsspecificallyfordigitalsignage.Formoreinformation,gotohttp://burningthumb.com/apps/video-kiosk/video-kiosk-add-ons/
• WidgetsareavailablefromtheGooglePlayStore.• Youcandevelopyourownwidgetsandsideloadthemontothedevice.
Widget Readability BecauseAreasB,CandDareofdifferentsizes,youneedtogivesomeconsiderationtohowwellthewidgetwillbeseenwhenplacingthewidgetinoneoftheareas.Whendecidingonwhichareatoplaceawidget,considerhowthewidgetwasintendedtobedisplayed(landscape,portraitor
VideoKiosk–AndroidUser'sManualburningthumb.com(Mar20,2020)-v7.6.0.203020
43
square),thedevice’sdisplaysize(TVortabletorphone)andhowfarawaytheviewerwillbefromthescreen.
Using the Built-in Video Kiosk Widgets Version7.1.0ofVideoKioskincludesasetofbuiltinwidgets.TheseincludeDateandTime,ImageFolder,URL,andRSSwidgets.
Whenyoupickabuilt-inwidget,thesettingsforthatwidgetisdisplayed.YoucanconfigurethewidgetusingthesesettingsorusinganXMLfile.FormoreinformationaboutusinganXMLfile,refertoAppendixC–BuiltinWidgetXMLSettings.
Date and Time Widget
UsetheDateandTimewidgettodisplaytheDateand/ortheTimeandanoptionalgroupofimagesfromafolder.Whenyoupickthewidget,thesettingswillbedisplayed.
DateandTimeWidgetSettingsXMLSettings–pathtoafilecontainingXMLsettingsforthewidgetImagefolder–pickthefolderthatcontainsthebackgroundimagesImagedisplaytime–thetime,inseconds,todisplayeachimageTimefontsize–thefontsizeofthetimeTimeswitch–turnonoroffthedisplayofthetimeDatefontsize–thefontsizeofthedateDateswitch–turnonoroffthedisplayofthedateFontcolor–thefontcolor
Image Folder Widget
UsetheImageFolderwidgettodisplayagroupofimagesfromafolder.Whenyoupickthewidget,thesettingswillbedisplayed.
ImageFolderWidgetSettingsXMLSettings–pathtoafilecontainingXMLsettingsforthewidgetImagefolder–pickthefolderthatcontainsthebackgroundimagesImagedisplaytime–thetime,inseconds,todisplayeachimage
VideoKiosk–AndroidUser'sManualburningthumb.com(Mar20,2020)-v7.6.0.203020
44
URL Widget
UsetheURLwidgettodisplayalocalfile://orremotehttp://HTML/CSS/Javascriptbasedwidget.Whenyoupickthewidget,thesettingswillbedisplayed.
URLWidgetSettingsXMLSettings–pathtoafilecontainingXMLsettingsforthewidgetURL–thelocalfile://orremotehttp://URLtodisplay
RSS Widget
UsetheRSSwidgettodisplayalistofRSSNewsfeedsfromremoteservers.Whenyoupickthewidget,thesettingswillbedisplayed.
RSSWidgetSettingsXMLSettings–pathtoafilecontainingXMLsettingsforthewidgetKind–oneofTall|Wide|MarqueeNextdownloadhours–thenumberofhourstowaitbetweenloadingthefeedfromtheserverNextURLminutes–thenumberofminutestowaitbetweendisplayingfeedsMaxdocumentitems–themaximumnumberofnewsitemstodisplayperfeedNextitemseconds–thenumberofsecondstowaitbetweendisplayingdocumentitemsTitlefontsize–thefontsizeoftheitemtitleDescriptionfontsize–thefontsizeoftheitemdescriptionFontcolor–thefontcolorHidewhenvalueis–ifthetitleordescriptioncontainthisvalue,theywillbehiddenJustifytitle–oneofLeft|Center|RightandonAndroidv8orlaterFullJustifydescription-oneofLeft|Center|RightandonAndroidv8orlaterFullBackground–atintcolorandpathto1or2backgroundimages(theyrotateeveryhour)Feeds–thelistofRSSFeedURLs
Overlays VideoKiosksupportsanoverlayfilewithtransparency(.pngformatwithafilenamethatendin.overlay.png),whichisdisplayedinfrontofthecurrentlydisplayedmedia,withorwithouthotspots.
VideoKiosk–AndroidUser'sManualburningthumb.com(Mar20,2020)-v7.6.0.203020
45
• AnOverlayisoftenusedtooverlayagraphicoverpartofthedisplay,suchasalogointhecornerofthescreen.InVideoKiosk'sdemoslideshow,theproductlogoisshowninthebottomcornerofeachslide.
• AnOverlaywiththeadditionofhotspotsisusedtoturnyourdeviceintoaninteractive
kiosk.Forexample,inVideoKiosk'sdemoslideshowonaninteractivetablet,theproductlogoisshowninthebottomcornerofeachslide.Ifyoutouchthelogo,VideoKioskwilltakeyoutotheVideoKioskpageontheBurningthumbwebsite.
How to use an overlay file TouseanOverlay,followthesesteps:
1. Createanoverlayfile.CreateaPNGfilewiththesameframesizeasyourdisplay.Forexample,ifyouareusinga720pdisplay,youwouldcreateaPNGfilethatis1280×720insize.SomewhereinthePNGfileputyourlogo,orwhateverimageyouwanttousetooverlaythevideo.Endthefilenamein.”overlay.png”sothatVideoKioskrecognizesitasanoverlayandnotasanimagetodisplayaspartofthecontentloop.
2. Movetheoverlayfileontothedeviceorsynchronizeitusingacloudservice. 3. VideoKioskassumesyou'veputtheOverlayfileintheContentLoopfolder.Ifyou'veputit
somewhereelse,configureVideoKioskwiththelocationoftheoverlayfile.GotoVideoKioskSettings>Overlay>PathtoOverlayfolderandsetthepathtotheoverlayfolder.
4. GotoVideoKioskSettings>Overlay>Overlayfileandselecttheoverlaytouse.5. Optionally,iftheoverlayimageisadifferentsizethanthescreendimensionsyoumaywant
toadjustthescaletypeusingVideoKioskSettings>Overlay>Overlayimagescaletype
VideoKioskwilloverlayyourmediawiththecontentoftheoverlayfile.
Interactive Hotspots VideoKiosksupportsusingahotspotxmlfile,withhotspotsand/orkeycodesdefined,toallowtheusertointeractwiththedevice.Interactionscanalsobetracked.
VideoKiosk–AndroidUser'sManualburningthumb.com(Mar20,2020)-v7.6.0.203020
46
Using Hotspots to control interaction behavior AhotspotisarectanglesomewhereonthescreenorakeycodeanditsassociatedURL|App.Whenthehotspotisactivated,theURLwillbedisplayedusingtheintegratedkioskwebviewortheAppwillbelaunchedasanewactivityontopofVideoKiosk.(TheURLcanpointtoafileonthedeviceorafileontheInternet).
Using a Hotspot to open a Web Page WhenthehotspotassociatedwithawebURLisactivated,thewebpagewillbedisplayedinanintegratedwebviewthatlimitstheuserswebbrowsingtotheURLyouspecifiedinthehotspots.Toensureyourkioskisshowingyourcontentloop,VideoKioskmonitorshowlongthedevicehasbeendisplayingthehotspotwebcontentandreturnstoshowingyourcontentloopafteraconfigurableamountoftime.Thisensuresthataninteractivedeviceabandonedbyauserwhiledisplayingwebcontentreturnstoshowingyourcontentloop.YoucanchangethisinactivitytimeoutintheVideoKiosksettings.
Using a Hotspot to open an App WhenahotspotassociatedwithanApppackagenameisactivated,theAppwilllaunchandVideoKioskwilllosecontrolofthedeviceuntilthebackbuttonorhomebuttonisusedtoreturntoVideoKiosk.
IfyouplantouseahotspotassociatedwithanApppackagename,thereisnoautomaticmechanismthatensuresadeviceabandonedbyauserwillreturntotheloopandtheusermusttakespecificactiontoreturntoVideoKiosksothattheloopcontinuestoplay.
Activating Hotspots Hotspotsareactivatedeitherbyascreentouchorbypressingthekeyassociatedwithapre-assignedkeycodeonthekeyboardorremotecontrol.
AkeycodeistheAndroidkeycodethatcorrespondswithanindividualkeyonaninputdevice.WhenthekeyonthedevicethatcorrespondstotheAndroidkeycodeistouched,theURLwillbedisplayedusingtheintegratedkioskwebviewortheAppwillbelaunchedasanewactivityontopofVideoKiosk.Formoreinformation,refertothe"ControllingtheDevice"sectionofthisdocument.
Using Hotspots with Split Screen Mode IfyouareusingVideoKioskinsplitscreenmode,youcanspecifytheURL|AppforeachAppWidget.VideoKioskwillfirstlookatAppWidgetsconfiguration,anduseanyvaluesfoundtherewhilefallingbacktotheXMLfileconfigurationifnothingwasspecifiedfortheAppWidget.
Interaction Tracking Videokioskcantrackinteractionswithhotspots.IfyouwantVideoKiosktotrackinteractions,specifyaninteractionkey.Toreportoninteractions,enableinteractionreportingontheVideoKioskmanagementinterface.
VideoKiosk–AndroidUser'sManualburningthumb.com(Mar20,2020)-v7.6.0.203020
47
IfyouareusingVideoKioskinsplitscreenmode,youcanspecifytheinteractionkeyforeachAppWidget.VideoKioskwillfirstlookatAppWidgetsconfiguration,anduseanyvaluesfoundtherewhilefallingbacktotheXMLfileconfigurationifnothingwasspecifiedfortheAppWidget.
Defining Hotspots DefineeachhotspotanditsassociatedwebURLorApppackagenameusinganoverlayfile(whichdisplaysthehotspotstotheuser)andanoverlayhotspotxmlfile(whichtellsVideoKioskwhattodowhenaparticularhotspotisactivated).
How to create an overlay xml Hotspot file Tousehotspots,followthesesteps:
1. Ifyouhaven’talreadydoneso,createan.overlay.pngfile.(seeabove)2. InaTextEditor,createanXMLHotspotfileanduseittocontrolinteractionbehavior.When
youhavefinishededitingthefile,changethefilenametothesamenameasyouroverlayfileandchangetheextensionto“.xml”soVideoKioskwillrecognizeitasthehotspotfilethatgoeswiththeoverlayfile.Forexample,ifyouroverlayfileiscalled“videokiosk.overlay.png”,nameyourXMLhotspotoverlayfile,“videokiosk.overlay.png.xml”.Formoreinformationaboutthexmlfilesyntax,refertotheVideoKioskXMLHotspotFileSyntaxGuidebelow
3. MovetheXMLhotspotfileontothedeviceorsynchronizeitusingacloudservice.PuttheXMLhotspotfileinthesamefolderastheOverlayfilesothatVideoKioskwillfinditautomatically.
4. Optionally,configurethetimeoutfortheWebViewinVideoKiosk.Ifauserofaninteractivedeviceleaveswhilethedeviceisstilldisplayingwebcontent,VideoKioskwillreturntoyourcontentafter30seconds.Toincreaseordecreasethiswaittime,gotoVideoKioskSettings>Overlay>WebActivitytimeoutandchangethetimeout(inseconds).Formoredetailedinformationaboutusingthissetting,referto[ConfiguringtheSettings,p.77]
5. Optionally,disableWebViewnavigation.Note:IfyoudisableWebViewnavigation,youareresponsibleforbuildingnavigationintoyourwebpage(s),includinginvokingthemethodwindow.VideoKiosk.closeWebView();toreturntoVideoKiosk’smedialoopplayback.Formoredetailedinformationaboutusingthissetting,referto[ConfiguringtheSettings,p.77]
6. IfyouareusingVideoKioskinSplitScreenmodeandhaveconfiguredtheXMLfiletousethe<widgetarea></widgetarea>tag,thenconfiguretheURL|AppandinteractionkeyforeachAppWidgetthatyouaddtoeachWidgetArea.Ifyoudon’tconfigurethoseitemsintheWidgetAreaconfiguration,VideoKioskwillusetheconfigurationfromtheXMLfile.Note:IfyouareusingWidgetAreastodefinetheURL|Appyoushouldalignthehotspotssothattheyappearoverthewidgetareas.Thisisnotrequired,butitprobablymakesthemostsensetodoitthisway.
VideoKiosk–AndroidUser'sManualburningthumb.com(Mar20,2020)-v7.6.0.203020
48
Video Kiosk XML Hotspot file Syntax Guide <hotspots> </hotspots>
Alistofhotspots <hotspot>
</hotspot> Asinglehotspot.Tobeactive,each
hotspotrequiresadestinationurlorappisspecifiedandthatanactivatingrectangleand/orkeycodeisspecified.
<url> </url>
DestinationwebURLusedforasinglehotspot
<app> </app>
DestinationAppbundleidentifierusedforasinglehotspot.Thespecialvaluebuiltin.wifiwillopenabuilt-inWIFIconfigurationActivity.
<command> </command>
Ahotspotcommandcanbeoneofthefollowing:pause–playbackwillpauseresume–playbackwillresumenextfile–gotothenextfilepreviousfile–gotothepreviousfilenextfolder–gotothenextfolderpreviousfolder–gotothepreviousfolder
<depth> </depth>
Whenusingthecommandsnextfolderandpreviousfoldercommands,thisintegervaluelimitshowmanyfoldersdeeptolook.Thisallowsyoutocontrolwhethersub-foldersareconsiderednextorpreviousfolders.ValidValues:0-nextisnextfolderatsamefolderlevel1-Nextfolderisnextsub-folderinsidethefolder2-Nextfolderisnextsub-folderinsidethesub-folder
<widgetarea> </widgetarea>
LookatthespecifiedWidgetArea(B|C|D)fortheurl,app,andinteractionkey.ThevalueswillbeselectedbasedonthecurrentwidgetbeingdisplayedintheWidgetArea.IfvaluesarefoundintheWidgetconfiguration,usethem.Oherwiseusetheonesspecifiedinthisfile.
<keycode> </keycode>
TheAndroidkeycode,usedtoactivateahotspotusingakeyboard
<rect> </rect>
Thescreenrectangleforthehotspotdefinedusingnumbersbetween0and1asafractionofthescreen
<top> </top>
Rectangletop <left>
</left> Rectangleleft
<bottom> </bottom>
Rectanglebottom <right>
</right> Rectangleright
<interactionkey> </interactionkey>
(Optional)Astringthatidentifiesthehotspot.Ifthistagisset,theinteractions
VideoKiosk–AndroidUser'sManualburningthumb.com(Mar20,2020)-v7.6.0.203020
49
forthehotspotwillbecountedandreported.Ifthistagisnotset,theinteractionsforthehotspotwillnotbecounted.
<password> </password>
(Optional)ASHA512encodingofthepasswordthatmustbeenteredtoaccessthisAPPorURL
<pinned> </pinned>
(Optional)AbooleanthatdeterminesifVideoKiosktriestokeepthelaunchedApppinned.Thedefaultvalueisfalse.OnAndroid9settingthevaluetotruehasnoeffectbecauseAndroidv9requiresanewtaskwhichwillresultinthedisplayunpinning.
Hotspot .xml file example FormoreinformationaboutoverlaysandXMLHotspotfilesortodownloadasamplekit,refertothetutorialsat:
http://burningthumb.com/apps/video-kiosk/tutorials/
Hereisanexampleofwhatafilethatcontains2hotspotscouldlooklike.
• Thefirsthotspot’sdestinationistheURL“http://burningthumb.com”.Itcanbetriggeredbytouchingthehotspotrectangleorbypressingthekeycorrespondingtokeycode51.TheinteractionstothishotspotarecountedandreportedintheManagementReportwiththeidentifyingstringof“burningthumb”.
• Thesecondhotspot’sdestinationistheApp“Calculator2”.Itcanbetriggeredbytouchingthehotspotrectangleorbypressingthekeycorrespondingtokeycode29.TheinteractionstothishotspotareneithercountednorreportedintheManagementReport.
<?xml version="1.0" encoding="UTF-8"?> <hotspots> <hotspot> <url>http://burningthumb.com</url> <rect> <top>0.55</top> <left>0.05</left> <bottom>0.95</bottom> <right>0.45</right> </rect> <keycode>51</keycode> <interactionkey>burningthumb</interactionkey> </hotspot> <hotspot> <app>com.android.calculator2</app> <rect> <top>0.55</top> <left>0.55</left> <bottom>0.95</bottom> <right>0.95</right> </rect> <keycode>29</keycode> </hotspot> </hotspots>
VideoKiosk–AndroidUser'sManualburningthumb.com(Mar20,2020)-v7.6.0.203020
50
Hotspot .xml file Verification help Tohelptestanddebugyour.xmlfile,VideoKioskhasanoptionalsettingyoucanusetohighlightyourhotspotsonyourscreensothatyoucanensuretheyareinthecorrectplaceandfunctioningasexpected.Remembertoturnthisfeatureoffbeforereleasingthedevicetousers.
Toturnverificationmodeon
1. GotoVideoKioskSettings>Overlay>Highlighthotspotsandcheckthecheckbox.
Toturnverificationmodeoff
1. GotoVideoKioskSettings>Overlay>Highlighthotspotsanduncheckthecheckbox
Background Images and Audio Backgroundfeaturescontroltheimageoraudiobehindyourcontent.
Background Images VideoKiosksupportsbackgroundimagesthatwillbedisplayedbehindyourmediaasitisplayingandbehinddigitalsignage.Youcanusenobackgroundimage(thedefault),onebackgroundimage,orcyclebetweenanumberofbackgroundimages.
Touseasinglebackgroundimage,followthesesteps:
1. Createabackgroundimagefileinpngorjpgformat.Werecommendyoumakeitthesamesizeasyourscreen(e.g.1280×720insize).
2. ConfigureVideoKioskwiththelocationofthebackgroundfile.GotoVideoKioskSettings>Background>PathtoBackgroundfolderandsetthepathtothebackgroundfolder.
3. GotoVideoKioskSettings>Background>Backgroundfileandselectthebackgroundfiletouse.
Tocyclethroughanumberofbackgrounds,followthesesteps:
1. Createthebackgroundfilesinpngorjpgformat.Werecommendyoumakeitthesamesizeasyourscreen(e.g.1280×720insize).
2. ConfigureVideoKioskwiththelocationofthebackgroundfiles.GotoVideoKioskSettings>Background>PathtoBackgroundfolderandsetthepathtothebackgroundfolder.
3. GotoVideoKioskSettings>Background>NextBackgroundTimeandsetthenumberofsecondsbetweenbackgrounds.
VideoKiosk–AndroidUser'sManualburningthumb.com(Mar20,2020)-v7.6.0.203020
51
Example: Sample Configuration • Put3backgroundfiles(background-a.png,background-b.pngandbackground-c.png)inthe
backgroundfolder• SettheNextBackgroundTimeto20seconds
VideoKioskwillcyclethrougheachofthethreebackgroundimages,displayingeachfor20seconds.
Background Audio VideoKiosksupportsbackgroundaudio.YoucanplaystreamingaudiooralocalaudiofilethatVideoKioskwillplayinaloop.Bydefault,VideoKioskwilllookforalocalaudiofilenamedbackgroundaudioloop.mp3inyourBackgroundfolderandifitisfounditwillbeplayedautomaticallywithnoadditionalconfigurationrequired.
To enable background audio playback: 1. Ifyouhaven'talreadydoneso,configureVideoKioskwiththelocationofthebackground
file.GotoVideoKioskSettings>Background>PathtoBackgroundfolderandsetthepathtothebackgroundfolder.
2. Toenablebackgroundaudio,ChecktheEnablebackgroundaudiocheckbox3. ConfigureVideoKioskwiththelocationoftheaudiofile.Youcanconfigurethelocationof
thefilethatyouwantintwoways,byputtingtheaudiofileinthedefaultlocationorbysettingthelocalpathornetworkpathtotheaudiofileintheAppSettings.
UsetheDefaultLocation
• Tousethedefaultlocation,createanfilecalled"backgroundaudioloop.mp3"andputtheaudiofileinthebackgroundfolder.VideoKioskwillusethisastheBackgroundAudioFile.
ConfiguretheLocalPathintheAppSettings
• GotoVideoKioskSettings>Background>AudioURLandentertheURLofthelocalfileorclickthe"ChooseFile"buttontopickitfromtheBackgroundsFolder.
• NavigateandselectthefileandthenclickConfirmbutton
ConfiguretheNetworkPathintheAppSettings
• DeterminetheactualURLoftheaudiostream.• GotoVideoKioskSettings>Background>AudioURLandentertheURLtothe
stream.4. ClicktheDonebutton.
To disable background audio playback: 1. GotoVideoKioskSettings>Background>AudioURL2. Todisablebackgroundaudio,UnchecktheEnablebackgroundaudiocheckbox
VideoKiosk–AndroidUser'sManualburningthumb.com(Mar20,2020)-v7.6.0.203020
52
3. ClicktheDonebutton.
Controlling Display using file name meta data OneofthewaysyoucancontrolVideoKioskisbyaddingmetadatatothefilenameofyourmediafile.Thisfeatureisusedwhenyouwanttodooneofthefollowing:
• CustomizetheImageDisplaytimeforsomeofyourimages.• DisplayTitlesasanoverlayforyourmediafiles• Wheninsplit-screenmode,displaysomeofyourimagesorvideoconfiguredtoplayinSplit-
ScreenAreaAinfullscreeninstead
Customizing the Image Display Time for one image file Youmightwanttousethisfeatureifyouwereshowingimagesandsomeneededmoretimethanothers.Forexample,ifyouhadsomephotos,withaslideinthefrontexplainingwheretheyweretaken,youmightwanttousealongerdisplaytimefortheexplanationslidetogiveyourviewerstimetoreadthetext.
Tochangetheimagedisplaytimeonanimagefromthedefaultof30secondsto45seconds,add".timeout=45."tothefilename.
Forexample,changethefilenameofvacationontheislandtext.jpgtovacationontheislandtext.timeout=45.jpg
Thatoneimagewillnowbedisplayedfor45secondswhiletherestoftheimageswillbedisplayedfor30seconds.Forexactsyntax,refertothe"FileNameMetaDataSyntaxGuide"below.
Displaying Titles in the corner of each media file TodisplayTitlesinthebottomrightofeachfile,dothefollowing:
1. GotoVideoKioskSettings>ViewOptions>ShowMedianameandenablethisfeature.2. Foreachslide,addTitlemetadatatothefilename.Forexactsyntax,refertothe"FileName
MetaDataSyntaxGuide"below.
Pleasenotethatifyoudon'tspecifyTitlemetadataforamediafile,thefilenamewillbedisplayedinthetitlebanner.Thiscanbeusefulwhentestingyourcontentloop.
VideoKiosk–AndroidUser'sManualburningthumb.com(Mar20,2020)-v7.6.0.203020
53
Switching between Split Screen and Full Screen when playing a media file WhenyouareusingSplitScreenmode,youmaywanttodisplaysomemediaitemsinfullscreeninsteadofinSplitScreenAreaA,thedefaultwhenusingsplitscreenmode.Todisplayamediafileinfullscreenmode,".fullscreen=true."tothefilename.Whenthenextmediaitemisplayed,itwillreverttoplayinginSplitScreenAreaA.
File Name Meta Data Syntax Guide Thissectionsummarizesthemetadatathatyoucanembedinthefilenameofamediaitemwhereeachpieceofmetadatausestheform:
.key=value.
Notethatthekey/valuepairissurroundedbydots.Thisisarequiredelementofthesyntax.Ifthedotsarenotpresent,VideoKioskwillignorethekey/valuepair.
Key ValueType Descriptiontimeout numeric Setthetimeoutforimages.Thisoverridesthedefault
ImageTimespecifiedinthesettings.(Validforimagesonly.VideoandWebmediaitemshavedifferentmechanismsforsettingtheirtimevalues.)
title text SetthestringthatwillbedisplayediftheViewOption>Showmedianamesettingisenabled.Note:IfatitleisnotspecifiedasmetadatainthefilenameandtheShowmedianameoptionisenabled,thefilenamewillbedisplayedasthemedianame.Thiswillincludeanymetadataspecifiedforthisfile.(Validforimages,videoandwebmedia.)
fullscreen boolean SetthemediaitemtobedisplayedinfullscreenwhenWidgetModehasbeenenabled.IfWidgetModehasnotenabled,thishasnoeffect.IfWidgetModehasbeenenabled,thismediaitemwillbedisplayedinfullscreenmodeandwhenitisfinishedplaying,thedisplaywillreturntodisplayingmediainWidgetAreaA.Anyvalue,otherthantrue,istreatedasfalse.(Validforimages,videoandwebmedia.)
Examples: Here'sanexamplewherewehavethreefiles,twocontainingmetadata.
palmtrees.jpgthebeach.title=WaikikiBeach.timeout=60.fullscreen=true.jpgtherain.fullscreen=true.jpg
TheuserhasconfiguredVideoKioskwith
VideoKiosk–AndroidUser'sManualburningthumb.com(Mar20,2020)-v7.6.0.203020
54
• an"ImageDisplayTime"of30seconds,• hasenabledthe“Showmedianame”option,• hasenabledSplitScreenmodewiththeimagesbeingdisplayedinWidgetAreaA.
Theresultswouldbethefollowing:
Thefirstimage-palmtrees.jpg-willdisplayfor30seconds-willdisplaythetitle"palmtrees"-willdisplayinWidgetAreaA
Thesecondimage-thebeach.title=WaikikiBeach.timeout=60.fullscreen=true.jpg-willdisplayedfor60seconds,overridingthedefaulttimeout-willdisplaythetitle“WaikikiBeach”-willbedisplayedinfullscreeninsteadofjustWidgetAreaA
Thethirdimage-therain.fullscreen=true.jpg-willbedisplayedfor30seconds-willdisplaythetitle"therain"namewillbedisplayedas“therain.fullscreen=true”,sinceTitlehasnotbeenset-willbedisplayedinfullscreeninsteadofjustWidgetAreaA
Legacy Support Display Features VideoKioskincludessomefeaturestoworkaroundissueswithusingoldvideooroldAndroiddevices.
Stretch video Oldvideoisnarrower(960x720)thanthenewstandardvideosize(1280x720),whichcausesblackbandstobedisplayedinthevacantspaceonthesides.YoucanusetheStretchVideofeatureto
VideoKiosk–AndroidUser'sManualburningthumb.com(Mar20,2020)-v7.6.0.203020
55
eliminatetheblackbands.Todothis,gotoVideoKioskSettings>Legacy>Stretchvideoandcheckthecheckbox.
First frame render time Thiscontrolshowlong(1/100thseconds)thefirstvideoframetakestorender.
OlderAndroiddevicescanflickerastheyattempttorenderthefirstframeofvideo.Thisflickeringcanbeeliminatedbyincreasingthefirstframerendertime.Todothis,gotoVideoKioskSettings>Legacy>Firstframerendertimeandincreasetherendertime.
VideoKiosk–AndroidUser'sManualburningthumb.com(Mar20,2020)-v7.6.0.203020
56
Controlling the Device ForinformationonSettings,referto[ConfiguringtheSettings,p.77]
TV Control using HDMI CEC (Android v5 and later) In order to play content, the TV must be turned on and the correct video input must be selected.
• OnanyAndroid4+device,VideoKioskwillautomaticallystartplayingcontentwhenscheduled(ifnocalendarorscheduleisbeingusedthencontentwillalwaysplay).Whenthescheduledeventhasended,VideoKioskwillstopplayingcontent,dimthescreen,andoptionallydisplayaclock.
• OnAndroiddevicesrunningAndroid5+,VideoKioskcanturntheTVon• OnAndroiddevicesrunningAndroid5+,VideoKioskcancontroltheselectedHDMIinput.• OnAndroiddevicesrunningAndroid6+,VideoKioskcanturntheTVon,selectthecorrect
input,andturntheTVoffinsteadofdimmingthescreen.
Using HDMI-CEC to control the TV VideoKioskcansendHDMI-CECcommandstokeeptheTVonandtheAndroidTVdeviceHDMIinputselectedwhenmediaisbeingdisplayed(requiresatAndroidv5.1+)and/orturntheTVoff(puttheTVinstandbymode)whenmediaisnotbeingdisplayed(requiresAndroidv6.0+).
How to install Video Kiosk as a System App TheHDMI-CECfeaturesrequireVideoKiosktobeinstalledasaSystemApp.ToinstallVideoKioskasaSystemApp,dothefollowing:
1. UsearootedAndroiddevice.2. PlacetheVideoKiosk.apkfileinthefolder/system/priv-app3. MakesuretheVideoKiosk.apkread/write/executesecurityissetto6444. Rebootthedevice.
Foranexampleofhowtodothisusingtheadbtool,referto[AppendixA–MakingVideoKioskaSystemApp,p.91]
IfyouneedhelpinstallingVideoKioskasaSystemApporwouldliketopurchaseaTVboxwithVideoKioskpre-installedasaSystemApp,pleasecontactus.
Turning the TV on VideoKioskcanbeconfiguredtobothturntheTVonandtochangetothecorrectHDMIinputwhenaneventisscheduled.Thisfeaturerequiresthefollowing:
• TheTVsupportsHDMI-CEC• TheAndroiddevicesupportsHDMI-CECbothinhardwareandinsoftware
VideoKiosk–AndroidUser'sManualburningthumb.com(Mar20,2020)-v7.6.0.203020
57
• TheAndroiddeviceisrunningAndroid5+orAndroid6+• TheAndroiddeviceisarooteddevice• VideoKioskhasbeeninstalledasaSystemApp
TohaveVideoKioskturntheTVonandtochangetothecorrectinputwhenascheduledeventbegins,followthesesteps:
1. InstallVideoKioskasaSystemApp.2. ConfiguretheSettings
GotoVideoKioskSettings>Schedule>HDMICECOneTouchPlayandcheckthecheckbox.
Returning the TV to the correct input InadditiontoselectingthecorrectHDMIinputwhenascheduledeventbegins,VideoKioskcanbeconfiguredtoperiodicallychecktoensuretheTVisstillusingtheselectedHDMIinputandtochangeitbacktothecorrectinputthroughoutscheduledevents.(VideoKioskwillonlyreturntheTVtothecorrectinputwhenascheduledeventrunning.)
Thisfeaturerequiresthefollowing:
• TheTVsupportsHDMI-CEC• TheAndroiddevicesupportsHDMI-CECbothinhardwareandinsoftware• TheAndroiddeviceisrunningAndroid5+orAndroid6+• TheAndroiddeviceisarooteddevice• VideoKioskhasbeeninstalledasaSystemApp
TohaveVideoKioskturntheTVonandtoselectthecorrectinputperiodicallyduringascheduledevent,followthesesteps:
1. InstallVideoKioskasaSystemApp.2. ConfiguretheSettings
GotoVideoKioskSettings>Schedule>SendHDMICECOneTouchPlayperiodicallyinminutesandchangethefrequencywithwhichtheOneTouchPlayCECcommandwillbesent.
Turning the TV off VideoKioskcanbeconfiguredtoturntheTVoffwhenascheduledeventisfinished.Thisfeaturerequiresthefollowing:
• TheTVsupportsHDMI-CEC• TheAndroiddevicesupportsHDMI-CECbothinhardwareandinsoftware• TheAndroiddeviceisrunningAndroid6+• TheAndroiddeviceisarooteddevice• VideoKioskhasbeeninstalledasaSystemApp
TohaveVideoKioskturntheTVoffwhenascheduledeventisover,followthesesteps:
VideoKiosk–AndroidUser'sManualburningthumb.com(Mar20,2020)-v7.6.0.203020
58
1. InstallVideoKioskasaSystemApp.2. ConfiguretheSettings
GotoVideoKioskSettings>Schedule>HDMICECSendStandbyandcheckthecheckbox.
Keyboard and Remote Control Features VideoKiosksupportssomekeysonkeyboardsandremotecontrols.Howthesebuttonsaremappedtovariousremotecontrolsandkeyboardsisvendorspecific.
Next video Thebuttonusedtoselectthenextvideocorrespondstoanyofthefollowing:
• KEYCODE_MEDIA_NEXT(87)• KEYCODE_PAGE_DOWN(93)
Previous video Thebuttonusedtoselectthepreviousvideocorrespondstoanyofthefollowing:
• KEYCODE_MEDIA_PREVIOUS(88)• KEYCODE_PAGE_UP(92)
Touch Gesture Control VideoKiosksupportsthefollowingtouchgesturecontrols.ToenablethisfeatureGotoVideoKioskSettings>Buttons>Enableswipingandcheckthecheckbox.
Next media item Thetouchgestureusedtoselectthenextmediaitemcorrespondstoanyofthefollowing:
• Swipefromrighttoleft
Previous media item Thetouchgestureusedtoselectthepreviousmediaitemcorrespondstoanyofthefollowing:
• Swipefromlefttoright
VideoKiosk–AndroidUser'sManualburningthumb.com(Mar20,2020)-v7.6.0.203020
59
Gamepad Control Features VideoKiosksupportssomebuttonsongamepads.Howthesebuttonsaremappedtovariousgamepadsisvendorspecific.
Display button bar Thebuttonusedtodisplaythebuttonbarcorrespondstoanyofthefollowing:
• KEYCODE_DPAD_DOWN(20)• KEYCODE_DPAD_UP(19)
Next video Thebuttonusedtoselectthenextvideocorrespondstoanyofthefollowing:
• KEYCODE_BUTTON_R1(103)
Previous video Thebuttonusedtoselectthepreviousvideocorrespondstoanyofthefollowing:
• KEYCODE_BUTTON_L1(102)
VideoKiosk–AndroidUser'sManualburningthumb.com(Mar20,2020)-v7.6.0.203020
60
Reliability Features Video Kiosk is designed to provide robust, reliable playback so that operator intervention is not required to handle common playback issues.
ForinformationonSettings,referto[ConfiguringtheSettings,p.77]
Handling changes to the playback loop VideoKioskhandleschangesinthemediafolderswithoutrequiringarestart.Ifthemediafoldercontentschange,thenewselectionofmediawillplaythenexttimethecontentloopstarts.Thisallowsyoutoremotelyupdatethecontentwithouthavingtostopthedevice.
Handling unplayable content VideoKiosksupportsavarietyofimageandvideoformats.Ifthereiscontentinthemediafolderthatisnotinasupportedformat,VideoKioskwillskipitandplaythenextfile.Ifthefileisinasupportedformat,butunplayableforadifferentreason(forexampleanemptyorcorruptfile),VideoKioskwillskipitandplaythenextfile.
If too many errors occur in a row, Video Kiosk will try to correct the problem by restarting.
• Onarooteddevice,andifVideoKioskistheHomeApp,VideoKioskwillrebootAndroidandVideoKioskwillre-launchandstartplayingagainafterreboot
• Otherwise,VideoKioskwillexitandre-launchVideoKioskandstartplayingagain
Behavior on wake from sleep VideoKioskwillautomaticallystartplayingcontentuponwakingfromsleep.Whenthedevicewakes,VideoKioskcanplaythecurrentfileorplayfromthebeginningofthemediafolder.
• Tochangethisbehavior,gotoVideoKioskSettings>Sleeping>Onwakefromsleepandpickanoption
Error Detection Automatic Restart VideoKioskkeepstrackofplaybackerrors.Iftoomanyerrorsoccurwithoutaninterveningsuccess(30videos,300webpages),theAppwillautomaticallyrestart.
VideoKiosk–AndroidUser'sManualburningthumb.com(Mar20,2020)-v7.6.0.203020
61
• Toturnthisfeatureon|off,gotoVideoKioskSettings>Launching>Restartonerrors
Periodic Automatic Restart PeriodicallyrestartingadeviceisacommonwayofaddressingAndroidOSandhardwareinstabilityissues.VideoKioskwillautomaticallyrestartthedeviceorrestartsVideoKioskatthespecifiedintervals.Theautomaticrestartfeatureisusedtorestartthedeviceataconfigurableintervaltime.Thedefaultbehavioristorestartonceeachnightatmidnight.
• Toturnthisfeatureon|off,gotoVideoKioskSettings>Launching>RestartDaily• Tochangehowoftenandatwhattimetherestartoccurs,gotoVideoKioskSettings>
Launching>RestartTimes• TotesttheRestartdailysettingnow,gotoVideoKioskSettings>Launching>Test
Restart.Onrooteddevices,thismaytriggerarebootwhenyouexitthesettings.
VideoKiosk–AndroidUser'sManualburningthumb.com(Mar20,2020)-v7.6.0.203020
62
Access Management TheAccessManagementfeaturescontroltheaccessbothtothedevicecontrolsandtothevideokiosksoftware.Restrictingthefunctionalityofyourdevicetokioskfunctionalityisanimportantpartofcontrollingwhatcontentisbeingshownonyourdevice,especiallyifyouarerunninganinteractivekiosk.Otherwiseaninquisitiveormalicioususermaymakechangestoyourdevicebypausingthevideo,decreasingthevolumeorquittingfromyourkioskaltogether.Topreventsuchchangesfromoccurring,AccessManagementisavailable.
ForinformationonSettings,referto[ConfiguringtheSettings,p.77]
VideoKioskprovidesaccessmanagementfunctionalitybothtolimitaccesstothedevicecontrolsandtotheVideoKiosksettings.Whichaccessmanagementfeaturesaresupporteddependsonwhetherornotthedeviceisrooted,asdocumentedinthefollowingtable:
Feature Non-rooteddevice
Rooteddevice
SetVideoKioskastheHomeApp ✔ ✔PasswordprotectaccesstotheVideoKioskUserInterface(UI) ✔ ✔Closepowerbuttonlongpressmenu ✔ ✔Disablevolumebuttons ✔ ✔Show|Hidemediacontroller ✔ ✔PreventaccesstoSystemUserInterface(UI) ✔ ✔UsingVideoKioskasthesingleLauncher ✔ ✔
Access Management recommendations BecauseVideoKioskisusedinavarietyofdifferentkioskenvironments,itisnotalwaysnecessarytolimitaccesstothedevice.However,VideoKioskincludesfunctionalitytoallowyoutolimituseraccesstothedevice,shouldthatberequired.Forexample,awall-mountedTVusedasakiosktoplayvideoatthegymwouldrequirelessaccessmanagementthananinteractivekioskinthehandsofcuriousteenagersatamuseum.VideoKiosk'sAccessManagementfeaturesaredesignedtobeflexiblesothatyoucanconfigureaccessatalevelappropriatetothekioskenvironment.
VideoKioskcanberunwithnoAccessManagement.However,tohelpensureyourkioskisusedasakioskandthatitisasreliableaspossible,werecommendtheBasicAccessManagementSetupbeusedinallVideoKioskinstallations.
Basic Access Management Set Up – Setting the Home App TheHomeAppistheappthatanAndroiddevicewillreturntowhentheHomebuttonispressedandwilllaunchwhenAndroidisrestarted.InordertohaveVideoKioskautomaticallyrestartwhen
VideoKiosk–AndroidUser'sManualburningthumb.com(Mar20,2020)-v7.6.0.203020
63
Androidisrestarted,setitastheHomeApp.WerecommendyoualwayssetVideoKioskastheHomeApp.Todothis,followthesesteps:
OnAndroid4andAndroid5,ifyourversionhasasystemsettingforthehomeapp:1. IntheVideoKioskbuttonbar,presstheVideoKioskSettingsbuttonandgoto
VideoKioskSettings>Launching>OpenSystemSettings2. ScrolldownuntilyoufindtheHomesettingandpressHome.Alistwilldisplay.3. Touchtheradiobuttontoselect"VideoKiosk".Touchthe"Back"button3timestoreturnto
theVideoKioskscreen.4. VerifythatVideoKioskistheHomeapp.IntheVideoKioskbuttonbar,touchtheHome
Button.AdialogwilldisplaythecurrentHomeApp.IfthecurrentHomeAppis"VideoKiosk",youhavesuccessfullysettheHomeApp.Press"Cancel"todismissthedialog.Otherwise,repeatsteps2-4.
OnAndroid4:1. IntheVideoKioskbuttonbar,touchtheHomeButton.Adialogwilldisplaythecurrent
HomeApp.IfthecurrentHomeAppis"VideoKiosk",press"Cancel".2. Otherwise,press"AndroidSystem".Androiddisplaysthe"Selectahomeapp"dialog.
Androidrequiresyoutonowselectahomeapp.(Ifyoudon'tselectone,thisdialogwillpopupeverytimethedeviceisrestarteduntilyouselectahomeapp.)
3. Select"VideoKiosk"asthelauncherandpressthe"Always"button.4. VerifythatVideoKioskistheHomeapp.IntheVideoKioskbuttonbar,touchtheHome
Button.AdialogwilldisplaythecurrentHomeApp.IfthecurrentHomeAppis"VideoKiosk",youhavesuccessfullysettheHomeApp.Press"Cancel"todismissthedialog.Otherwise,repeatsteps2-4.
OnAndroid5:1. IntheVideoKioskbuttonbar,touchtheHomeButton.Adialogwilldisplaythecurrent
HomeApp.IfthecurrentHomeAppis"VideoKiosk",press"Cancel".2. Otherwise,press"AndroidSystem".Androiddisplaysthe"SetHome"dialog.Android
requiresyoutonowselectahomeapp.(Ifyoudon'tselectone,thisdialogwillpopupeverytimethedeviceisrestarteduntilyouselectahomeapp.)
3. Select"VideoKiosk"asthehomeapp.Thedialogwilldismiss.4. IntheVideoKioskbuttonbar,touchtheHomeButton.Adialogwilldisplaythecurrent
HomeAppas"VideoKiosk".Pressthe"Always"button.5. VerifythatVideoKioskistheHomeapp.IntheVideoKioskbuttonbar,touchtheHome
Button.AdialogwilldisplaythecurrentHomeApp.IfthecurrentHomeAppis"VideoKiosk",youhavesuccessfullysettheHomeApp.Press"Cancel"todismissthedialog.Otherwise,repeatsteps2-5.
OnAndroidTV6:Bydefault,youarenotallowedtochangethehomeApp.However,onarooteddevice,youcanworkaroundthisbysimplydisablingthebuilt-inlauncherandVideoKioskwillautomaticallybecomethelauncher.Thereareseveralwaystodisablethebuiltinlauncher.Thefollowingexampleshowshowtodoitusingtheadbdevelopertool.
VideoKiosk–AndroidUser'sManualburningthumb.com(Mar20,2020)-v7.6.0.203020
64
Example,usingtheabddevelopertool.
1. FirstinstallVideoKiosk.2. Connectyourdevicetoacomputerwiththedevelopertoolsinstalled3. Fromacommandlineonthecomputer,enterthesecommands:
adb shell pm hide com.google.android.leanbacklauncher adb reboot
VideoKioskwillnowautomaticallyrestartwhenAndroidisrestarted.
OnAndroid6andlaterifyouconfigureVideoKioskasthedeviceowner:(ForanexampleofhowtomakeVideoKioskthedeviceowner,refertoAppendixB–MakingVideoKioskthedeviceownerattheendofthismanual.)
1. IntheVideoKioskbuttonbar,touchtheHomeButton.2. Adialogwilldisplaytellingyouhowmanylaunchersareactiveonthedevice.3. PressthebuttontitledVideoKiosktohidealltheotherlaunchersonthedevice.
ThisistherecommendedoptiononversionsofAndroidthatarenotrooted.
YoucantouchthebuttontitledAlltounhideanyotherlaunchersthatmaybepresentonthedevice.Afterdoingthis,youmaybepromptedtochoosealauncherwhenyoutouchthehomebuttonorwhenthedevicereboots.
IfyouneedhelpdisablingthelauncheroryouwishtopurchaseaTVBoxwhereVideoKioskhasalreadybeeninstalledastheonlylauncher,pleasecontactus.
Basic Secure Access Management Set Up OnaMac,youusetheFindertomanagefileandlaunchapplications;onWindows,youuseWindowsExplorer.TheAndroidOSequivalentiscalledLauncherandunlikeMacandWindows,Androidallowsyoutohavemorethanonelauncher.VideoKioskisalauncher,allowingyoutolaunchapplicationsfromwithinVideoKioskitself.AndbecauseyoucanpasswordprotectVideoKiosk,youcanrestrictaccesstotheotherapplicationsonthedevicetoonlythoseindividualswhoknowtheVideoKioskpassword.
Todothis,followthesesteps:
1. SetVideoKioskastheHomeAppIfyouhaven'talreadydoneso,setVideoKioskastheHomeApp.(Seeabove.)
2. PasswordprotectVideoKiosk.Setthepasswordrequiredtomakechangestothekiosk.YoucanpasswordprotectaccesstoVideoKioskintwoways,byputtingapasswordfileinthedefaultlocationorbysettingthepasswordintheAppSettings.ThepasswordinapasswordfiletakesprecedenceoverthepasswordintheVideoKiosksettings.Ifyoudeletethepasswordfile,thepasswordthatwassetintheVideoKiosksettingsbecomesactiveagain.
UsetheDefaultFolderLocation
VideoKiosk–AndroidUser'sManualburningthumb.com(Mar20,2020)-v7.6.0.203020
65
• Tousethedefaultlocation,createapasswordfilewithanamethatisaSHA512encodingofsomeword,SHA512(someword).password,andputthepasswordfileinthesamefolderasyourcontentfiles.VideoKioskwillthenuse“someword”asthepassword.e.g.Afilecalled36622CA176A6D999D3C2B41D3E002A05B4342C8902DCD98145372C2F0A0B9A0031DC1424FFE825F975A6E390887354E903C460E3E374D95A36CCA2C058B96D7A.passwordisuploadtothemediafolder.VideoKioskwillthenusedragonasthepassword.AsalesssecurealternativeyoucanuseanMD5encoding,inwhichcaseafilenamed8621ffdbc5698829397d97767ac13db3.passwordwouldresultinVideoKioskusingdragonasthepassword.Asatotallyinsecurealternativeyoucanusetheworditself,inwhichcaseafilenameddragon.passwordwouldresultinVideoKioskusingdragonasthepassword.Ifyouplantousethisfeature,andsecurityisimportanttoyou,itishighlyrecommendedthatyouuseaSHA512encodingofthepassword.
SetintheAppSettings
• GotoVideoKioskSettings>Security>SetPasswordandsetthepassword.
Now,onlyindividualswiththeVideoKioskpasswordcanaccesstheotherapplicationsonthedevice.
Enhanced Access Management Set Up WerecommendyouimplementthisEnhancedAccessManagementSetupforallVideoKioskswhereusershavephysicalaccesstothedevice.VideoKioskisdesignedtolimitaccesstothesefeaturestopreventusersfromcontrollingthedevicewiththesefeatures:
1. Closepowerbuttonlongpressmenu.ConfiguredintheVideoKioskSettingsscreen,thisfeaturedisablesthepowerbuttonlong-pressmenu.GotoVideoKioskSettings>Buttons>Closepowerbuttonlongpressmenuandcheckthecheckbox.
2. Disablevolumebuttons.ConfiguredintheVideoKioskSettingsscreen,thisfeaturedisablesVolumeDialog,whichcontrolsdevicevolume,andadditionalfunctionalityonsomeAndroiddevices.GotoVideoKioskSettings>Buttons>Disablevolumebuttonsandcheckthecheckbox.
3. PreventaccesstoSystemUI.ConfiguredintheVideoKioskSettingsscreen,thisfeaturekillsthesystemUIonarootedAndroidv4deviceandusesapinnedApponAndroidv5andlaterdevices.GotoVideoKioskSettings>SystemUI>PreventaccesstoSystemUIandcheckthe
VideoKiosk–AndroidUser'sManualburningthumb.com(Mar20,2020)-v7.6.0.203020
66
checkbox.WhenyouexitVideoKioskorchooseVideoKioskSettings,theSystemUIisrestored.
Now,ifyouhavesetapassword,onlyuserswiththeVideoKioskpasswordcanaccessthedevicecontrols.ForinformationonSettings,referto[ConfiguringtheSettings,p.77]
Advanced Access Management Set Up Onefinalstepyoucantaketocontrolaccesstoyourdeviceistoremoveotherlaunchersfromthedevice.ThisrequiresaccesstotheAndroidDeveloperToolsor,onarooteddevice,specialAppslikeTitaniumBackup.Werecommendyougetthisdonebythedevicemanufacturer.Forfurtherinformation,contactusdirectly.
VideoKiosk–AndroidUser'sManualburningthumb.com(Mar20,2020)-v7.6.0.203020
67
Remote Management and Update VideoKioskwasdesignedtoberemotelymanageablesothatboththemediathatwillbeplayedandVideoKioskfunctionalitycanbecontrolledfromacentrallocation.UsingtheInternet,youcanremotely:
• changethemediathatwillbeplayed• changetheorderinwhichthemediawillbeplayed• changeadevice’splaybackschedule,eitherbyuploadinganewlocalXMLschedulefileorby
usingGoogleCalendar• changeadevice’sVideoKioskpassword• changetheoverlaydisplayedonakiosk• changeaninteractivekiosk’shotspots• havethedevicereportonitsstatus
ThisallowsyoutomanagemanyoftheVideoKioskfeatureswithouthavingtodeployatechniciantothefield.
• FormoreinformationonremotePlaybackSchedulingusingGoogleCalendaroranXMLfile,referto[ControllingPlaybackTimeusingaSchedule,p.23]
• FormoreinformationonDeviceStatusReporting,referto[RemoteDeviceStatus,p.70]
Remote Device Updating VideoKioskfeaturesabuilt-inCloudDrivefeature,whichallowsyoutoremotelyupdatethemediafiles,theplaybackschedule,overlaysandpasswordforadeviceorfleetofdevices.TheCloudDrivedownloadservicesupportsusingeitherGoogleDriveorNextcloudtoupdatethecontentfolderontheAndroiddevice(s).
Alternatively,youcanusethird-partyclouddownloadApplikeAutosyncDropboxorAutosyncGoogleDrive.Theprocessofconfiguringathird-partyclouddownloadAppwouldbesimilartotheproceduresbelow.However,wedonotprovidesupportforconfiguringthird-partydownloadingAppsandrecommendyouusetheintegratedservices.
How to remotely update Video Kiosk Content Usingthebuilt-inCloudDriveDownloadservice(orathird-partyClouddownloadApp),youcanremotelyupdatethecontentandthecontrolfilesthatwillbeusedbyVideoKioskondevices.
Tosetuptheremoteupdating,youneedtodothefollowing:
• Usingthebuilt-inCloudDrivedownloadservice(orconfigureathird-partyClouddownloadApp),createaContentfolder(CloudSourceFolder)forVideoKioskonyourCloudService.
VideoKiosk–AndroidUser'sManualburningthumb.com(Mar20,2020)-v7.6.0.203020
68
• UpdatetheVideoKiosksettingswiththeCloudSourceFolderlocationandthedevice'sContentfolderlocation(Targetfolder).VideoKioskusesthecontentfolderyoucreatedwhenyouinstalledVideoKioskastheTargetfolder.
ToupdatetheContentFolderonthedevice(s),justmovethefilesyouwanttoupdatetotheCloudSourceFolderonyourCloudServiceandthecloudservicewillupdateeachdevicewiththenewfiles.
How to set up the built-in Cloud Drive Download Tosetupthedownloadingusingthebuilt-inCloudDrivedownloadservice,followthesesteps:
1. CreateaCloudSourcefolderforVideoKioskonyourCloudService.
2. OneachAndroiddevice,configurethesettingswiththeCloudSourceFolderlocation.VideoKiosk>Settings>CloudDrive>GoogleDrivefolderORVideoKiosk>Settings>CloudDrive>Nextcloudfolder-Navigateintofolder>Choose
3. OneachAndroiddevice,configurethesettingswiththedevice'slocalContentFolderlocation.(ThisistheContentFolderyoucreatedwhenyouinstalledVideoKiosk.)Ifyouhaven'talreadycreatedtheContentFolder,createitandconfirmthelocation:VideoKiosk>Settings>CloudDrive>Pathtolocalfolder-CreateFolder>VideoKiosk>Confirm-TapVideoKiosk>ConfirmIfyouhavealreadycreatedtheContentFolder,confirmthelocation:VideoKiosk>Settings>CloudDrive>Pathtolocalfolder-NavigatetotheVideoKioskContentFolderyoucreatedpreviously-TapConfirm
4. Optionally,changetheDownloadInterval.Defaultisevery1hour.VideoKiosk>Settings>CloudDrive>DownloadInterval
5. EnableDownloading.VideoKiosk>Settings>CloudDrive>Enabledownloading
6. Verifyyoursettings.VideoKiosk>Settings>CloudDrive>ClouddriveinfoToreturntothepreviousscreen,pressOK.
How to remotely download using built-in Cloud Drive download Todownloadtothedevice(s),youneedtodothefollowing:
VideoKiosk–AndroidUser'sManualburningthumb.com(Mar20,2020)-v7.6.0.203020
69
1. MovethefilesyouwanttoupdatetotheCloudSourcefolderforVideoKioskonyourCloudService.
VideoKioskwillcheckforupdatesontheCloudServiceperiodically,assetintheDownloadIntervalSetting(VideoKiosk>Settings>CloudDrive>Downloadinterval)andupdatethedeviceswiththeupdatesyouhavemade,asscheduled.
PleasenotethatthisfeaturewilldownloadfromtheCloudsourcefoldertothedevice(s)contentfolder,butnotthereverse.
Forexample,
Ifyouaddanimagetothesourcecontentfolderonthecloudservice,thecontentfolderonallthedeviceswillbeupdatedwiththeimage.
However,ifyouaddanimagetothecontentfolderononeofthedevices,thatchangewillnotbepropagatedtotheSourcecontentfolderonthecloudserviceortoanyoftheotherdevices.InsteadthelocallycreatedimagefilewillbedeletedthenexttimethedevicesareupdatedwiththecontentsoftheCloudsourceFolder.
EnsurethatyoualwaysupdatethecontentintheCloudsourcefolder,notthelocalfolderonadevice.
How to remotely manage Video Kiosk schedule, overlays, password files Usingthebuilt-inCloudDrivedownloadservice(orathirdpartyClouddownloadApp),youcanremotelychangeadevice’sVideoKioskpassword,theoverlaydisplayedonakiosk,aninteractivekiosk’shotspotsanddevice’splaybackschedule,ifyouarecontrollingthescheduleusingalocalscheduleXMLfile.Followthesesteps:
1. SetupCloudDriveDownloadfollowingtheinstructionsabove.2. MoveanyofthefollowingfilestotheCloudSourcefolderforVideoKioskonyourCloud
Service:• thepasswordfile• theoverlayfile• theoverlayhotspotfile• localXMLschedulefile
3. ThenewfileswillbedownloadedfromtheCloudSourceFoldertotheContentfolderonthedevice(s).• Formoreinformationaboutcreatingapasswordfile,referto[BasicSecureAccess
ManagementSetUp,p.64]• Formoreinformationaboutcreatinganoverlayfileoranoverlayhotspotfile,referto
[Overlays,p.44]• Formoreinformationaboutschedulingplayback,referto[ControllingPlaybackTime
usingaSchedule,p.23]
VideoKiosk–AndroidUser'sManualburningthumb.com(Mar20,2020)-v7.6.0.203020
70
Remote Device Status Reporting BecauseVideoKioskwasdesignedtoberemotelymanaged,itsupportsbothsendingstatusreportstoaURLandreceivingresponsessoyoucanintegrateVideoKioskremotedevicesintoamanagementsystem.VideoKioskAndroidexaminestheresponsetotheHTTP/HTTPSPOSTforkeyvaluepairsthatitwillusetoupdatethemanagementinterfacesettings.
A management status POST can be sent:
• basedonatimeinterval• basedonaspecifictimeofday• anytimeusingtheSendManagementReportbuttononthebuttonbar
ForinformationonSettings,referto[ConfiguringtheSettings,p.77]
How to enable device status reporting Tosetupdevicestatusreporting,followthesesteps:
1. IfyouplantosendHTTPSPOSTsinsteadofHTTPPOSTs,getanSSLcertificate.Formoreinformation,see[HTTPvsHTTPSconsiderations]below
2. InVideoKioskSettings>Managementconfigurethefollowing:• UniqueDeviceIDandZone(optionalsettingsforyourconvenience)• Whentoreportstatus• URLtoreportstatusto• ContentofthePost
3. VideoKioskdeviceswillnowsendPOSTstothespecifiedURL.
Ifstatusreportingisenabled,astatusreportwillbeautomaticallyPOSTed2minutesaftertheApplaunchers.
HTTP vs HTTPS considerations TouseHTTPS,youmustgetanSSLcertificatefromacertificateauthoritythattheAndroidOSrecognizes.VideoKioskdoesnotsupportHTTPSPOSTtositesusingself-signedcertificates.
Ifyourdevicedoesnothavearealtimeclock,itispossiblethatHTTPSwillnotworkuntilthetimeissetfromthenetwork.If,forsomereason,thenetworktimeserverisnot100%reliable,youshoulduseHTTPPOSTsinsteadofHTTPsPOSTs.
Ifyouplantosendthepasswordtothemanagementserver,andsecurityisimportanttoyou,youshoulduseaSHA512encodingandanHTTPSPOST.PasswordssetusingtheVideoKiosksettingsarestoredasSHA512encodingsofthepassword.
Status Report Post Content: Supported POST Key Value Pairs Sent ThevaluesareencodedusingtheAndroidURLEncoderandtheUTF-8characterset.
VideoKiosk–AndroidUser'sManualburningthumb.com(Mar20,2020)-v7.6.0.203020
71
• PHPprogrammersthatuse$_POSTvariablesshoulddecodethesevaluesusingtheurldecode()method.
• PHPprogrammersthatuse$_REQUESTvariablesshouldnotdecodethevaluessincetheyhavealreadybeendecoded.
ThefollowingkeyswillalwaysbeincludedinthePOST:
androidid TheuniqueidofthedeviceassignedbytheAndroidOS.
account5 Ifanaccounthasbeenaddedtothedevice,anMD5encodingoftheaccount.
cloudid TheFirebaseCloudMessagingCloudIDthatthemanagementservercanusetosendpushnotificationstodevicesifthemanagementinterfaceisacceptingpushnotifications.Ifyouwanttousethisfeatureinaproprietarymanagementinterface,contactusformoreinformation.
Ifthecloudidchanges,amanagementPOSTwillautomaticallybesentsothatthemanagementservercanupdateitsdatabasewiththenewcloudidforthisdevice.
uid Theuniqueidofthedeviceasassignedbyyou.BydefaultthisistheuniqueidassignedbytheAndroidOSbutyoucanchangeittobeanystringthatyoulike.
version TheVideoKioskversionnamelike4.1.0.150529.
osversion TheversionofAndroidOSonthedevice.
date TheUTCdateonthedeviceatthetimethePOSTwassentintheformYYYY-MM-DDHH:MM:SS+HH:MM.Anexampleis2016-08-0716:59:49+00:00.
ThefollowingkeyscanbeincludedinthePOSTbyselectingthemintheManagementSettings(VideoKioskSettings>Management>ManagementPostContent)
isplaying Aflagthatwillbetrueifavideoisplayingorfalseotherwise.Becarefulinterpretingthevaluesinceitcanbefalseifanimagefileisbeingdisplayedorifonevideohasendedanditslastframeisbeingdisplayedwhilethenextvideoispreparingtoplaybuthasnotyetrendereditsfirstframe.
currentmedia Thenameofthecurrentlyplayingvideoordisplayedimagefile.Bydefaultthiskeyvaluepairisenabled.
VideoKiosk–AndroidUser'sManualburningthumb.com(Mar20,2020)-v7.6.0.203020
72
folderpath Thepathtothecurrentlyselectedmediafolder.Pleasenotethatifyouenablethiskey,thenthenamesofthemediaitemsinthefoldercontentarraywillberelativetothispathandifyoudonotspecifythiskeythenthenameswillbethefullpath.
foldercontent Thenamesofallthemediaitemsinthecurrentlyselectedmediafolder.
password ThepasswordassignedtotheVideoKioskusingthesomeword.passwordfile.YoucanusethistoauthenticatetheVideoKioskPOST.Ifyouaresendingthisdata,youshoulduseHTTPSinsteadofHTTP,sinceit’snotagoodideatosendthepasswordintheclear.
zone Thezoneofthedeviceasassignedbyyoutocreateanygroupingofdevicesthatyouwouldlike.
isroot Aflagthatwillbetrueifthedevicehasbeengrantedrootaccessorfalseotherwise.
uptime Thetime,inseconds,sincethelastdevicereboot
filesize Anarrayoffilesizesthatmatchesthearrayoffilenames.[comma-separatedlistofvalues]
emptyfiles Anarraythatlistsanyfilesthatareempty(probablyduetoanetworkerrorduringfilesynchronizationwithyourcloudservice).[comma-separatedlistofvalues]
widgetsenabled Aflagthatwillbetrueifwidgetareasareenabledorfalseotherwise.
areabwidgets AnarraythatliststhewidgetsconfiguredinwidgetareaB[comma-separatedlistofvalues]
areacwidgets AnarraythatliststhewidgetsconfiguredinwidgetareaC[comma-separatedlistofvalues]
areadwidgets AnarraythatliststhewidgetsconfiguredinwidgetareaD[comma-separatedlistofvalues]
onetouchplay AnarraythatlistsfirstaflagthatissettotrueiftheonetouchplayfeatureisenabledandthentheOnetouchplayintervalfromthesettings[comma-separatedlistofvalues]
sendstandby Aflagthatwillbetrueifthesendstandbyfeatureisenabled
VideoKiosk–AndroidUser'sManualburningthumb.com(Mar20,2020)-v7.6.0.203020
73
interactions AnarrayofkeyvaluepairsthatliststheidentifyingstringandinteractioncountforeachhotspotforwhichtheinteractioncounthasbeensetintheHotspotOverlay.XML.Forhotspotswithoutanidentifyingstring,interactionswillnotbecountedorreported.{comma-separatedlistofkeyvaluepairswherekey=value}
location ThelocationofthedeviceasprovidedbyaGPSlatitudeandlongitudepairORthepostaladdressofthedeviceenteredasahumanreadablestring
batterypercent Afloatingpointrepresentation,forexample47.4,ofthecurrentbatterychargeasapercent.
batteryplugged Astringthatindicatesbothifandhowthebatteryisbeingcharged.Thevaluewillbeoneofthefollowing:AC|USB|WIRELESS|NONE
Wheneveryouchangethesettings,VideoKioskwillrestarttheintervaltime.IfyouhaveenabledthetimeofdaystatusPOST,VideoKioskwillsynchronizetheintervaltimewiththetimeofdaywhenthatPOSTissent.
Responses: Supported POST Key Value Pairs in Response ThemanagementinterfacesupportsresponsesbythemanagementsystemtomanagementstatusPOST,suchthatthemanagementsettingsonthedevicecanbechangedbythemanagementsystem.
Therearetwomanagementprotocols(protocol0andprotocol1)andtheyusedifferentresponses.Protocol0isalegacyprotocolandshouldnotbeusedfornewmanagementapplicationdevelopment.Ifyouaredevelopinganewmanagementapplication,useprotocol1.
Protocol 0 Response (deprecated) Responseisanewline-terminated,optionallyurl-encoded,listofkeyvaluepairs.
Themanagementsystemmayrespondwithalistofkeyvaluepairsasfollows:
Key1=value1\nkey2=value2\n…key3=value3\n
\nmeansnewlineasdefinedinthePHPscriptinglanguage.
Thesupportedkeyvaluepairsare:
uid=some id zone=some zone reporttime=HH:MM (where 0 >= HH <= 23 and 0 >= MM <= 59) reporttimeenabled=true|false intervaltime=NNNN (where NNNN > 0) intervaltimeenabled=true|false
VideoKiosk–AndroidUser'sManualburningthumb.com(Mar20,2020)-v7.6.0.203020
74
postkey_isplaying=true|false postkey_currentmedia=true|false postkey_foldercontent=true|false postkey_password=true|false postkey_zone=true|false postkey_isrooted=true|false postkey_folderpath=true|false postkey_widgets=true|false postkey_hdmicec=true|false postkey_interactions=true|false postkey_location=true|false postkey_battery=true|false setdate=YYYY:MM:DD:HH:MM:SS
Ifthe\ncharactersareomitted,VideoKioskwillignorethekeyvaluepairs.YouMUSTincludethenewlinecharacterforeverykeyvaluepair.
Protocol 1 Response ResponseisaJSONMapwherethekeyisusedtoaccessthevalue.
Themanagementsystemmayrespondwithalistofkeyvaluepairsasfollows:
{"key1":"value1","key2":value2…,"keyN":"valueN"}
Thesupportedkeyvaluepairsare:
uid:”some id” zone:”some zone” reporttime””HH:MM” (where 0 >= HH <= 23 and 0 >= MM <= 59) reporttimeenabled:”true|false” intervaltime:NNNN (where NNNN > 0) – NOTE: no quotes, its not a string intervaltimeenabled:”true|false” postkey_isplaying:”true|false” postkey_currentmedia:”true|false” postkey_foldercontent:”true|false” postkey_password:”true|false” postkey_zone:”true|false” postkey_isrooted:”true|false” postkey_folderpath:”true|false” postkey_widgets:”true|false” postkey_hdmicec:”true|false” postkey_interactions:”true|false” postkey_location:”true|false” postkey_battery=true|false setdate:”YYYY:MM:DD:HH:MM:SS”
HereisanexampleofaJSONMapresponse:
{"intervaltimeenabled":"true","intervaltime":60,"postkey_isplaying":"false","postkey_currentmedia":"true","postkey_foldercontent":"true","postkey_password":"true","postkey_zone":"true","postkey_isrooted":"true","postkey_uptime":"true","postkey_filesize":"true","postkey_emptyfiles":"false","postkey_folderpath":"true","postkey_widgets":"true","postkey_interactions":"true","postkey_location":"true","uid":"Metrotown"}
VideoKiosk–AndroidUser'sManualburningthumb.com(Mar20,2020)-v7.6.0.203020
75
Protocol 0 and 1 Response Notes Ifbothintervaltimeenabledandreporttimeenabledaresettofalse,youwillstopthatdevicefromreportingstatus.IfyoudothatviaamanagementPOSTresponsethenmanagementpostscanonlyberestartedmanuallyfromthedevice.
SettingthedateandtimeonadevicerequireseitherthatVideoKioskisin/system/priv-apporthatthedeviceisrooted.HTTPSrequiresthedateandtimetobesetcorrectlysoifyouwanttosetthedateandtimeonadevicewherethetimehasrevertedtothebasetimeonthedeviceyouMUSTuseHTTPformanagementposts.
IfamanagementPOSTresponsechangesthecurrentsettingsonthedevice,itwillimmediatelysendanotherPOSTtothemanagementURL
Example of Use
Sending an email containing POST Data and set device time - PHP Script ThefollowingPHPscriptcanbeusedtosendanemailcontainingallthePOSTdatatowhateveremailaccountyouwouldlike.Youjustneedtochangethevaluesof$to_email,and$from_emailandthenputthescriptonyourwebsiteinafilenamedsomething.php.Inaddition,iftheUTCdateandtimeonthedeviceismorethan30secondsdifferentthantheUTCdateandtimeontheserver,thetimeonthedevicewillbesettomatchthetimeontheserver(thisrequiresthatVideoKioskisin/system/priv-apporthatthedeviceisrooted)
<?php date_default_timezone_set("UTC"); $to_email = ‘[email protected]’; $from_email = ‘[email protected]’; $subject = ‘VidoeKiosk Status’; $headers = 'From: ' . $from_email . "\r\n" . 'X-Mailer: PHP/' . phpversion(); foreach ($_POST as $key => $value) { $message .= htmlspecialchars($key)." = /".htmlspecialchars(urldecode($value))."/\n"; } if (isset($_POST['date'])) { $date = htmlspecialchars(urldecode($_POST['date'])); $l_format = 'Y-m-d H:i:s P'; $l_date = date_create_from_format($l_format, $date); $l_serverDate = date_create(); $message .= "\nServer UTC Date = /" . date_format($l_serverDate, 'Y-m-d H:i:s P') . "/"; $l_clientTS = date_timestamp_get($l_date); $l_serverTS = date_timestamp_get($l_serverDate); $l_interval = abs($l_clientTS - $l_serverTS); $message .= "\n\nDifference in seconds = /" . $l_interval . "/"; if ($l_interval > 30) { echo "setdate=" . date_format($l_serverDate,'Y:m:d:H:i:s') . "\n"; }
VideoKiosk–AndroidUser'sManualburningthumb.com(Mar20,2020)-v7.6.0.203020
76
mail($to_email, $subject, $message, $headers); } ?>
VideoKiosk–AndroidUser'sManualburningthumb.com(Mar20,2020)-v7.6.0.203020
77
Configuring the Settings Ifasettingisnotsupportedonaparticulardevice,thesettingwillnotbedisplayed.Forexample,ifasettingenablesafeaturethatrequiresAndroidv6orlater,thesettingwillnotbedisplayedonadevicerunningAndroidv5.
Formoreinformationonhowtofindthesettings,refertothe[InstallingandConfiguring]sectionofthisdocument.
Settings – Cloud Drive Cloud drive info DisplayasummaryofCloudDrivedownloadsettings.
Enable downloading EnableordisabledownloadingfromClouddrive.Defaultisoff.
Download interval Setthefrequency,inhours,withwhichVideoKioskwillcheckforanddownloadchangesfromtheselectedCloudSourcefolder.Defaultis1hour.
Path to local folder Setthelocalpath,onthedevice,towhichtheselectedCloudSourcefolderwillbedownloaded.Default<path-to-external-storage>/videokiosk
Nextcloud folder Ifyou'reusingNextcloud,choosethelocationoftheCloudSourcefolderonNextcloud
Google Drive folder Ifyou'reusingGoogleDrive,choosethelocationoftheCloudSourcefolderonNextcloud
Note:YoucannotchoosebothaNextcloudsourcefolderANDaGoogleDrivesourcefolder.Chooseonefortheserviceyouareusing..
Settings - File and Folder Enable cache VideoKioskcancachethelistoffilenamesfromtheselectedmediafolderinmemory.VideoKioskreloadsthememorycachefromtheSDcardonlyifthecontentinthemediafolderchanges.Youcan,ifyouprefer,turnthismemorycacheoffandVideoKioskwillreadthefilenamesfromtheSDcardeachtimeitstartstheloop.Defaultison.
Sort by PicktheSortOrderoftheMediaFolder.Thedefaultis"Pathoffirstplaylistfound"Options:Pathorfirstplaylistfound–Sortsbypathorbythefirstplaylistfound(ifthereisone)Path–Sortsbyfullpathname
VideoKiosk–AndroidUser'sManualburningthumb.com(Mar20,2020)-v7.6.0.203020
78
Filenameexcludingpath–SortsbyFilename,excludingpathRandomshuffle–SortsinarandomorderPlaylist–Sortsbytheplaylistyoupick.AllplaylistsfoundinthePlaylistfolderwillbedisplayed.Pickone.
Sub-folder depth Pickfromthemenutolimitthedepthofnestedsub-foldersthatwillbeplayed.Defaultis5.
Limit playback to documented formats Limitthemediafilesthatwillbeplayedto3gp,mp4,ts,webm,mkv,jpg,png,gif,bmp,webp.Whenthisisset,mediafilesofothertypeswillbeskipped.Thedefaultisoff.
Show playback errors Whenthisisset,abrieferrormessagewillbedisplayedifavideocannotbeplayedandthenthevideowillbeskipped.Whenthisisnotset,avideowithplaybackerrorswilljustbeskipped.Thedefaultisoff.
Path to playlist folder Choosethefolderthatcontainsyourplaylistm3u8files.Setthisifyouareusingplaylists.Thedefaultplaylistfolderisthepathtothemediafolder.
Settings - Timers Image display time Howlong(inseconds)imageswillbedisplayedifthefilenamedoesnotincludeatimeoutvalue.Defaultis30seconds.Whenthisissettothevalue"0",VideoKioskwillpauseontheimageuntilthedisplayistouched.
Image fade time (Android v4.2 and later) Howlong(milliseconds)imagewilltaketofadeinandout.Defaultis0seconds.
Web fade time (Android v4.2 and later) Howlong(milliseconds)webpageswilltaketofadeinandout.Defaultis0seconds.
Video fade time (Android v4.2 and later) Howlong(milliseconds)videowilltaketofadeinandout.Defaultis0seconds.NOTE:Settingthistimegreaterthan0canresultinchoppyvideoplaybackonlow-enddevices.Ifyouexperiencechoppyvideoplayback,setthisto0.
Finish playback first Bydefault,VideoKioskwillwaitforthecurrentmediaitemtofinishplayingandthenrestart.Ifyouprefer,youcandisablethisoptionandVideoKioskwillrestartexactlyonthehourwithoutwaitingforthecurrentmediaitemtofinishplaying.
Schedule check seconds Howoften(inseconds)VideoKioskwillcheckforchangestotheschedule.Thedefaultis30seconds.
VideoKiosk–AndroidUser'sManualburningthumb.com(Mar20,2020)-v7.6.0.203020
79
Settings - Launching Launch on startup AutomaticallylaunchVideoKioskwhenthedeviceisrestarted.Ifyouenablethissetting,thestandardlauncherwillopenandthenVideoKioskwillopen.Alternatively,youmayusetheVideoKioskbuttonbartosetVideoKioskasthehome/launcherApp.
Restart on errors VideoKioskkeepstrackofplaybackerrors.Iftoomanyerrorsoccurwithoutaninterveningsuccess(30videos,300webpages),theAppwillautomaticallyrestartwhenthissettingison.Thedefaultis“on”.
Exit and relaunch AutomaticallyexitVideoKioskwhenthemedialoopfinishesplayingandrelaunchVideoKioskagainafteraconfigurablenumberofminutes.ThisisaspecializedfeatureusedwithdevicesthataredistributedasAndroidTVsthatdisplayaperiodicinterstitialadvertisement.
Restart Daily Automaticallyrestartthedevice,atthetimesspecifiedinthe“RestartTimes”setting.Onarooteddevice,thismaytriggerareboot.BehaviourdependsonwhetherthedeviceisrootedornotandwhetherornotVideoKioskassetasthehomeapp,asdocumentedinthistable:
Option: RootedDevice Non-rootedDeviceDonotrestart Doesnotrestartdaily DoesnotrestartdailyExitandrelaunchtheApp
ExitsandrelaunchesVideoKiosk ExitsandrelaunchesVideoKiosk
Rebootthedevice(requiresroot)
VideoKioskistheHomeApp:RebootAndroidandrelaunchesVideoKioskVideoKioskisnottheHomeApp:ExitsandrelaunchesVideoKiosk
ExitsandrelaunchesVideoKiosk
Restart Times Bydefault,ifyouenableRestartDaily,VideoKioskwillrestartonceperdayatmidnight.Youcanchangetherestarttimetoadifferenthourofthedayoryoucanchoosetorestartmultipletimesdaily(onthehour)byselectingmultiplerestarttimes.
Test restart daily TesttheRestartdailysettingnow.Onrooteddevices,thismaytriggeranimmediatereboot.
Launch another App LaunchadifferentinstalledApp.UsethistolaunchappsifyouhavedisabledtheLauncher.Thisisaconvenienceonadevicethathasmultiplelaunchers,allowingyoutolaunchappswithouthavingtoreconfigurethedevicewithLauncher3astheHomeApp.Onadevicewithonlyonelauncher–VideoKiosk–thisallowsyoutolaunchapps,providedyouhavethepasswordtoaccesstheVideoKiosksettings,providingyouwiththefunctionalityyourequiredwhileeffectivelypreventsmalicioususersfromstartinganotherapponyourkiosk.
VideoKiosk–AndroidUser'sManualburningthumb.com(Mar20,2020)-v7.6.0.203020
80
Open System Settings Openthesystemsettingsnow.UsethistoaccessthesystemsettingsifyouhavedisabledtheLauncher.Thisisaconvenienceonadevicethathasmultiplelaunchers,allowingyoutolaunchappswithouthavingtoreconfigurethedevicewithLauncher3astheHomeApp.Onadevicewithonlyonelauncher–VideoKiosk–thisallowsyoutoaccessthesystemsettings,providedyouhavethepasswordtoaccesstheVideoKiosksettings,providingyouwiththefunctionalityyourequiredwhileeffectivelypreventsmalicioususersfromaccessingthesystemsettingsonyourkiosk.
Settings - Buttons Show button bar when App launches Bydefault,asahintthatitexists,thebuttonbarisdisplayedfor30secondsaftertheVideoKioskApplaunches.Insomecases,youmaynotwantthebuttonbartodisplay.Topreventthebuttonbarfrombeingdisplayedfor30secondsaftertheVideoKioskApplaunches,disablethissetting.
Show button bar pattern Bydefault,wheneverthedisplayistouched,thebuttonbarwillappear.Insomecases,youmaywanttouseaspecificpatternoftouchestocausethebuttonbartoappear.Youcansetthatpatternbyusingthissetting.
1. Enteraseriesofdigitswhere0meansatouchanywhereonthescreen,1meansatouchinthetopleft,2meansatouchinthetopright,3meansatouchinthebottomleft4meansatouchinthebottomrightExample:ifyouwantthebuttonbartodisplaywhenthedisplayistouchedinthisorder:topleft,topright,bottomleft,bottomright,youwouldenter1234asthepattern.
Play touch tones IfyouhaveconfiguredaShowbuttonbarpattern,thenturnonthissettingtoplaytouchtoneswhenyoutapthefourscreenquadrantssothatthereisaudiblefeedbackwhenatouchisdetected.Thedefaultis“off”
Close power button long press menu After30secondsorVideoKioskrestart,closepowerbuttonlong-pressmenu.ThispreventsunwantedusersfromaccessingthePowerbutton’slongpressmenu.
Disable volume buttons DisablethebuttonsontheVolumeDialog.ThisincludesdisablingtheVolumeupandVolumedownbuttons,topreventunwantedusersfromchangingthevolumesettingonyourkiosk.OnsomeAndroiddevices,thereareadditionalsettingsavailableonthisdialog.Thesearealsodisabledwhenthisisset.
VideoKiosk–AndroidUser'sManualburningthumb.com(Mar20,2020)-v7.6.0.203020
81
Settings – Interactive Playback Mode Settheplaybackmode.Thedefaultis“Playnext”.
Options:PlayNext-playsthenextmediaitemwhenthecurrentmediaitemfinishesPlayprevious–playsthepreviousmediaitemwhenthecurrentmediaitemfinishesPause–pausesplaybackwhenthecurrentmediaitemfinishes.Useswipeorkeyboardeventtoplaythenextorpreviousmediaitem.Playagain–playthesamemediaitemagaininaloop..Useswipeorkeyboardeventtoplaythenextorpreviousmediaitem.
NOTE:Forbackwardcompatibility,ifVideoKiosk>Settings>Timers>Imagedisplaytimeissetto0,thentheplaybackmodePlaynextwillbeusedregardlessofthissetting.Theimagewilldisplayuntilyoutapthescreenandthenthenextmediaitemwillplay.
Show media controller (Android v4.2 and later) Showorhidethemediacontrollerforvideos.Bydefault,whenvideoisplayingthereisnomediacontrollerandsotheusercannotinteractwiththevideo.Ifyouenablethisoptionamediacontrollerwilloverlaythevideoandtheuserwillbeabletoscrub,fastforward,andevenskipvideos.
Enable swiping Enableusingswipegesturetoskipmediaitemsinplayback.Thedefaultis“off”.
Settings - System UI Prevent access to System UI OnarootedAndroidv4device,thiskillsthesystemUItopreventthesystemandnavigationbarsfrombeingaccessedbyusers.
OnanAndroidv5andlaterdevice,thisusesApppinningtorestrictusersfromaccessinganythingotherthantheVideoKioskApp.WhenyouexitVideoKiosk,orentertheVideoKiosksettings,theSystemUIaccessisrestored.TouseApppinning,
1. SetVideoKioskasthedeviceowner.Thismustbedonepriortoaddinganyuseraccountstothedevice.SettinganAppasadeviceownercanbedoneinseveralways.(ForanexampleofhowtomakeVideoKioskthedeviceowner,refertoAppendixB–MakingVideoKioskthedeviceownerattheendofthismanual.
2. VideoKiosk>Settings>SystemUI>PreventaccesstoSystemUI
VideoKiosk–AndroidUser'sManualburningthumb.com(Mar20,2020)-v7.6.0.203020
82
Settings - Sleeping On wake from sleep Resumesvideoplaybackwhenthedevicewakesfromsleep.Thedefaultistostartplayingfromthebeginningofthemediafolder.Options:PlayCurrentfromPause-PlaystartingfromwhereitwasplayingwhenthedevicewenttosleepPlaycurrentfromStart-PlaystartingfromthebeginningofwhatitwasplayingwhenthedevicewenttosleepPlayFirstfromStart-Playstartingfromthebeginningofthemediafolder
Settings - Schedule Path to schedule folder Choosethefolderthatcontainsyourschedulefile.(SetthisifyouarecontrollingthescheduleusingaLocalXMLschedulefile.IfyouarenotusingschedulingorarenotusingaLocalXMLschedulefile,ignorethissetting.)
Use a calendar or schedule Choosetheschedulethatwillcontrolthedevice.TheschedulelistdisplaysalltheLocalXMLschedulefiles,AndroidCalendarsandGoogleCalendarsitknowsabout.
Monitor battery charge Monitorthebatterychargestateandchangeplaybackwhenbatteryislow.Options:Stopplayingmediaifthedeviceisnotcharging–Thedevicewillmonitorthebatterychargestateandstopplayingmediaifthedeviceisnotcharging.Monitorthebatterylevel–Thedevicewillmonitorthebatterychargestateandstopplayingmediaifthedevicechargeisbelowthe“Lowbatterypercent”thresholdyouspecifyandreturnthedisplaytonormalwhendevicechargeisabove“Highbatterypercent”threshold.
Detect motion Usethecameratodetectmotion.Options:Usethecameratodetectmotion–Thedevicewillusethecameratodetectmotionandstartplaying.Itwillstopplayingmediaifnomotionisdetectedforthespecifiedtimeout.Motiondetectiontimeoutminutes–Thedevicewillstopplayingmediaifnomotionhasbeendetectedafterthespecifiednumberofminutes.
Display state Determineswhathappenswhenthereisascheduleevent.Choosethestateofthedisplaybasedonevents.Options:Alwayson-EventswillnotchangethedisplaystateOnforevents,otherwiseoff–Displaywilldisplaythescreenforscheduleeventsandwilldimthescreenotherwise.(Example:Atthegym,usethescheduletoturnthedisplayonduringclasses
VideoKiosk–AndroidUser'sManualburningthumb.com(Mar20,2020)-v7.6.0.203020
83
butotherwiseturnitoff.)Offforevents,otherwiseon–Displaywillturnoffforscheduleeventsandwillturnonotherwise.(Example:AttheNursingHome,usethescheduletoturnthedisplayoffduringtheevent“nighttime”butotherwiseleaveiton.)
Display clock Choosethedevicebehaviourwhennoscheduleeventoccurs.Thedefaultistodisplayablankscreen.Ifyousetthisto“on”,thedevicewilldisplaythetimeofdayandthecalendardate.NOTE:Toswitchbetweena12hourAM/PMclockanda24hourclock,usetheSystemSettingsforthedevice.
Clock color Choosethetextcolorfortheclock.
HDMI CEC OneTouchPlay OnAndroid5.1+,whereVideoKioskhasbeeninstalledasaSystemAppin/system/priv-app,sendanHDMICECOneTouchPlaymessagetokeeptheTVturnedonthedeviceinputselectedwhenthescheduleindicatesmediashouldbeplaying.
OneTouchPlay Interval Howoften,inminutes,tosendOneTouchPlaymessages.Anynon-zerovaluemeanssendtheOneTouchPlaymessageevery“interval”minutes.AzerovaluemeansdonotsendOneTouchPlaybasedonaninterval.
HDMI CEC SendStandby OnAndroid6.0+,whereVideoKioskhasbeeninstalledasaSystemAppin/system/priv-app,sendSendStandbytoturntheTVoff(putitinstandbymode)whenthescheduleindicatesmediashouldstopplaying.
Enable/Disable HDMI Thisisanexperimentalfeatureandisnotmeanttobeused.
Toggle HDMI Thisisanexperimentalfeatureandisnotmeanttobeused.
Path to SysFS HDMI folder Thisisanexperimentalfeatureandisnotmeanttobeused.
Settings - Location Device location UsethelocationprovidedbythedeviceGPS(CurrentLocation)ORusethepostaladdressofthedeviceenteredasastring.ThisisthelocationthatwillbereportedontheManagementInterface
Path to location folder Choosethefolderthatcontainsyourlocationfiles(XML,JSON)
VideoKiosk–AndroidUser'sManualburningthumb.com(Mar20,2020)-v7.6.0.203020
84
Use Geofence locations TurnGeofencesonorchoosealocation/geojsonfiletouse
When to check Geofences WhentocheckthecurrentlocationagainsttheGeofencesOptions:Priortoeachloop–CheckcurrentlocationbeforeplayingthemedialoopPriortoeachmediaitem–Checkcurrentlocationbeforeplayingeachiteminthemedialoop
Settings - Overlays Path to overlay folder Choosethefolderthatcontainsyouroverlayfiles(png)
Overlay file Chooseapngoverlayfileinthatfolderwithafilenameendingin.overlay.png
Overlay image scale type HowAndroidhandlesoverlayimagesthatareadifferentsizethanthescreenisdeterminedbythescaletypesetting.Typicallythedefault,FitCenter,issufficientbutyoumayhaveaspecificneedtochangeit.FormoreinformationonImageViewscaletypesrefertotheAndroiddocumentation.Options:MatrixFitXYFitStartFitCenterFitEndCenterCenterCropCenterInside
Hide overlay Usedtohidetheoverlayifthescreenisnottouchedformorethan15seconds.Whenthescreenistouched,theoverlaywillbedisplayedagain.Ifthissettingisnotenabled,theoverlaywillneverbehidden.Thedefaultis“off”
Highlight hotspots Usedtohelptestanddebugyour.xmlhotspotfile.Turnthisontohighlightyourhotspotsonyourscreensothatyoucanensuretheyareinthecorrectplaceandfunctioningasexpected.Remembertoturnthisfeatureoffbeforereleasingthedevicetousers.
Web inactivity timeout ThetimeoutforaninactivedeviceinWebView,afterwhichVideoKioskreturnstoplayingthemedialoop.Defaultis30seconds.Ifyousetthevalueto0,theWebViewwillnottimeoutandtheonlywaytogetbacktothemedia
VideoKiosk–AndroidUser'sManualburningthumb.com(Mar20,2020)-v7.6.0.203020
85
playbackloopisfortheusertousetheBacknavigationorfortheJavascriptmethodwindow.VideoKiosk.closeWebView();tobeinvoked.IfyouturnWebViewnavigationoff,andsettheInactivitytimeto0thenyoumustuseJavascriptandinvokewindow.VideoKiosk.closeWebView();toreturntothemediaplaybackloop.
Show WebView navigation Bydefault,whenaWebViewopensabackbuttonispresentandasnavigationoccursabackwardsandforwardspagestackismaintained.Thissettingallowsyoutoturnoffnavigation.Defaultison.Ifyouturnnavigationoff,theuserwillreturntothemedialoopplaybackwhentheWebviewinactivitytimerexpires.IfyouturnnavigationoffandsettheWebinactivitytimervalueto0,theuserwillnotbeabletonavigatebackfromtheWebViewandtheonlywaytogetbacktothemediaplaybackloopisfortheinactivitytimertoexpireorfortheJavascriptmethodwindow.VideoKiosk.closeWebView();tobeinvoked.IfyouturnWebViewnavigationoff,andsettheWebViewinactivitytimeto0thenyoumustuseJavascriptandinvokewindow.VideoKiosk.closeWebView();toreturntothemediaplaybackloop.
Settings – Background Path to background folder Choosethefolderthatcontainsyourbackgroundfile(s)(png,jpg,mp3)
Background file Chooseapngorjpgbackgroundfileinthatfolder
Next Background Time Choosehowlong,inminutes,untilthenextbackgroundfileloads.Onlysetthisifyouwantthebackgroundimagetochange.
Audio URL EnableordisablebackgroundaudioplaybackandchoosetheURLtothebackgroundaudiostreamorlocalfile.
Settings - Management Protocol version ThemanagementprotocolversionsupportedbyVideoKiosk.Thedefaultvalueis0.
Possiblevaluesare:0–legacy(INIkey=valuewithnewlinedelimiter)responses1–JSONencodedresponses
VideoKiosk–AndroidUser'sManualburningthumb.com(Mar20,2020)-v7.6.0.203020
86
NOTE:Thedefaultvalueis0forbackwardscompatibilitybutyoushoulduseprotocolversion1anddevelopyourmanagementserverusingJSON.Protocolversion0isdeprecatedandnonewfeatureswillbeaddedtoprotocolversion0.
NOTE:OlderversionsofVideoKioskwillnotsendtheprotocolversion.Ifyouaredevelopingyourownmanagementsystem,ensurethatyourmanagementserverassumesaprotocolof0andsendslegacyresponsesinthecaseofaProtocolversionnullvalue.
Device ID AuniqueIDforthisdevice(userspecified)
Device Zone Azoneforthisdevice(userspecified)
Report Interval Howoften(minutes)toreportstatus,enableordisable
Report Time Specifictimeofdaytoreportstatus,enableanddisable
URL WheretoPOSTdevicestatus
Management POST Content ThekeysandvaluesthatwillbeinthePOST.Tosendthekeyvaluepair,checkitscheckboxhere.
• Isvideoplayingcurrently?(isplaying=true|false)• Whatmediaisplaying?(currentmedia=filename)• Whatmediafolderwasselected(folderpath=path)• Whatisinthefolder?(foldercontent=[anarrayoffilenames])• DevicePassword(password=device’spassword)• Devicezone(zone=userconfiguredzone)• Rootaccessgranted(isroot=true|false)• Timesincelastreboot(uptime=thelengthoftimethesystemhasbeenup)• Filesize(filesize=[anarrayoffilesizesinbytes])• Emptyfiles(emptyfiles=[anarrayoffilenamesforallfileswithasizeof0)• Widgetinformation(widgetsenabled=true|false,areabwidgets=[anarrayofnames],
areacwidgets=[anarrayofnames],areadwidgets=[anarrayofnames])• WhichHDMI-CECmessagesareenabled(sendstandby=true|false,onetouchplay=true|false)• Countforeachhotspotinteraction,ifcountingconfigured(interactions)• DeviceLocation(location)
Accept push notifications EnablethissettingiftheVideoKioskclientshouldacceptpushnotificationsfromGoogle’sFirebaseCloudMessaging.PushnotificationscanbesenttoVideoKioskfromtheManagementservertorequestthedeviceimmediatelyPOSTitsstatus.IfyouaredevelopingaproprietarymanagementserverandwouldliketosendpushnotificationstoVideoKioskpleasecontactus.
VideoKiosk–AndroidUser'sManualburningthumb.com(Mar20,2020)-v7.6.0.203020
87
Settings - Widgets Enable Widgets Enablewidgetsforthisdevice.Ifyouchangethissetting,VideoKioskwilldisplaya4panellayout,includingmediacontentinAreaAandwidgetsinareasB,CandD.Ifyoudon’tconfigurewidgetsforareasB,C,D,backgroundwillbedisplayed.Ifyouhaven’tconfiguredabackground,ablackscreenwilldisplayinthoseareas.
A
B
C
D
Monitor Internet Priortoplayingthenextmediaitem,checkthestateoftheconnectiontotheInternet.IfthedeviceisnotconnectedtotheInternetthenhidewidgetareasB,C,andD.IfthedeviceisconnectedtotheInternetshowallthewidgetareas.
ConnectedtoInternet NotconnectedtoInternet
A
B
C
D
A
Draw frame on Area A DrawaframearoundAreaA
Choose Area B Widget Choose Area C Widget Choose Area D Widget Pickandconfigurewidgets|URLsforAreaB,CandDandchoosedisplaytime(inminutes).Defaultis60minutes.
Area A Padding Area B Padding Area C Padding Area D Padding Paddingallowsyoutolinewidgetsuphorizontallyandvertically.Usethissettingtosetpadding,indp,aroundwidgetarea–Left,Right,TopandBottom.Defaultis13dpforAreaAand0dpforAreasB,CandD,whichdisplayswiththepaddingdeterminedbythewidget.Todecreasethe
VideoKiosk–AndroidUser'sManualburningthumb.com(Mar20,2020)-v7.6.0.203020
88
spacebetweenwidgets,setthepaddingtoanegative(-)number.Toincreasethepadding,increasethepaddingpositivenumbervalues.
Arrange in rows Arrangewidgetsintworowsinsteadoftwocolumns.Thedefaultistoarrangewidgetsintwocolumns.
Horizontal layout Layoutweightsallowyoutochangethesizeoftheareasonthescreen.Youcanusethehorizontallayoutweightstoalterthehorizontalwidthofeacharea.Foreexampleona1080pdisplayinlandscapeorientationwitharesolutionof1920x1080youcouldcreatealayoutwithAreaAtakingthefullwidthofthescreen,AreaBhidden,andAreasCandDtaking50%ofthescreenusingthehorizontalwidthsettingsof;AreaA:1920,AreaB:0,AreaC:960,andareaD:960.Theresultinglayoutwouldlooklikethis:
A
C
D
Vertical layout Layoutweightsallowyoutochangethesizeoftheareasonthescreen.Youcanusetheverticallayoutweightstoaltertheverticalheightofeacharea.Foreexampleona1080pdisplayinlandscapeorientationwitharesolutionof1920x1080youcouldcreatealayoutwithAreaAandBtakingthetophalfofthescreen,andareaCandDtakingthebottomhalfofthescreenusingtheverticalheightsettingsof;AreaA/B:540,AreaC/D:540.Theresultinglayoutwouldlooklikethis:
A
B
C
D
Settings - Security Set Password Setthepasswordrequiredtomakechangestothekiosk.ValidValues:AnyvalidAndroidpassword
Settings - License Deactivate Deactivatethelicenseonthisdevice.Thisenablesvolumelicenseholderstomigratelicensesbetweendevices.
VideoKiosk–AndroidUser'sManualburningthumb.com(Mar20,2020)-v7.6.0.203020
89
Settings - View Options Request best resolution OnAndroidv6andlaterAppscanrequestthatthedisplayresolutionbeupgradedto4Krenderingoncompatiblehardware.Ifyouenablethissetting,VideoKioskwilllookforthebestresolutionavailableonthedeviceandrequestthatresolutioninanefforttobeupgradedto4Kresolution.Bydefault,thissettingisoffandVideoKioskwillnotrequestthatthedisplaybeupgraded.(IfyourdeviceisnotrunningAndroidv6orlater,thissettingwillnotbedisplayed.)
Screen orientation Setthescreenorientationofthemediaplaybackscreentoeitherthedefaultforthesystemoraspecificorientationbasedonhowyouplantousethedisplay.
Use textured video views Turnonorofftexturedvideoview.Iftexturedvideoviewsareonthe2Drenderingpipelineisusedandiftexturedviewsareoffthe3Drenderingpipelineisused.Typicallythissettingisusedtoeliminatetheblackflashproblemonamlogic-baseddevices.
Pause playback ConfigureVideoKiosktoinvokePause()ratherthanStopPlayback()whentheendofavideoisreached.ThissettingcanresultinplaybackerrorsonsomedevicesandsoshouldonlybeenabledifUsetexturedvideoviewsdoesnotcompletelyeliminateblackflashesbetweenvideos.TypicallythissettingisusedtoeliminatetheblackflashproblemonAmlogic-baseddevices.Veryfewdevicesrequirethissettingtobeenabled.
Preload URLs TurnonoroffURLpreloading.IfPreloadURLsisonVideoKioskwillloadURLfilesinthebackgroundwhenthepreviousitemisbeingdisplayed.Typicallythissettingisusedtoeliminatevisibleloadingofwebcontent.However,ifyourwebcontentcontainsaudio,andthissettingisenabled,thewebpageaudiomaystartplayingwhilethepreviousitemisstillbeingdisplayed.Toavoidthisaudioissue,disablePreloadURLstoavoidtheaudioissue.
ImageView scale type HowAndroidhandlesimagesthatareadifferentsizethantheImageViewisdeterminedbytheImageViewscaletypesetting.Typicallythedefault,FitCenter,issufficientbutyoumayhaveaspecificneedtochangeit.FormoreinformationonImageViewscaletypesrefertotheAndroiddocumentation.Options:-PanandZoom(KenBurns)effect-FitXY-FitStart-FitCenter-FitEnd-Center-CenterCrop-CenterInside
VideoKiosk–AndroidUser'sManualburningthumb.com(Mar20,2020)-v7.6.0.203020
90
Resize images to fit Turnonoroffautomaticimageresizing.IfResizeimagestofitison,thenwhenadisplayisrotated,VideoKioskwillautomaticallyresizetheimagetothelargestpossiblesizewhilemaintainingtheaspectratio.Youmayhaveaspecificneed(forexampleyouareusingalandscapedisplayinportraitorientation)toturnoffautomaticimageresizing.
Dither JPG images TurnonoroffJPGdithering.ThissettingcanaffectthequalityofyourJPGimagesonolderversionsofAndroid
Use EXIF Orientation TurnonorofftheuseoftheEXIFOrientationMETAdataforimagerotation.Whenthissettingisenabled,VideoKioskwillautomaticallyrotateimagesbasedontheEXIFdataembeddedintheimage.Thedefaultis“on”.
Max image megapixels Setthemaximumnumberofmegapixels.Iftheimageislargerthanthis,itwillbereducedinsizeby50%.HistoricallyAndroidhashadproblemsdisplayinglargeimagesandcancrashwith"outofmemory"errors.Ifyouaregetting"outofmemory"errors,youcanreducethesizeofthissettingtomakethemgoaway.Ifyouarenothaving"outofmemory"errors,youcanincreasethesizeofthissettingtodisplayhigherresolutionimages.
Show media name Turnonoroffthedisplayofthemediaitemname.Whenthissettingisenabled,VideoKioskwilldisplayeitherthetitleprovidedusingfilenamemetadatainthefilenameorthefilenameifatitleisnotprovided.Thedefaultis“off”.
Settings - Legacy First frame render time Howlong(1/100thseconds)thefirstvideoframetakestorenderOlderAndroiddevicescanflickerastheyattempttorenderthefirstframeofvideo.Thisflickeringcanbeeliminatedbyincreasingthefirstframerendertime.
Stretch video Stretchvideohorizontally.Typicallyusedtostretchlegacy,960x720videotonewstandard1280x720,inordertoeliminateblackbands.
VideoKiosk–AndroidUser'sManualburningthumb.com(Mar20,2020)-v7.6.0.203020
91
Appendix A – Making Video Kiosk a System App IfyouhaveaccesstotheAndroiddevelopertools,andyourdeviceshellcanbecomeroot,thenyoucanusethismethodfromthecommandprompttoinstallVideoKioskasaSystemApp.
1.Remount/systemasread-write
adb root adb start-server adb shell su mount -o rw,remount /system exit
2.Copytheapkto/system/priv-app
adb push VideoKiosk-release.apk /system/priv-app/VideoKiosk-release.apk 1
3.SettheApppermission
adb shell su chmod 644 /system/priv-app/VideoKiosk-release.apk mount -o ro,remount /system exit
4.Rebootthedevice
adb reboot
VideoKiosk–AndroidUser'sManualburningthumb.com(Mar20,2020)-v7.6.0.203020
92
Appendix B – Making Video Kiosk the device owner
YoucanmakeVideoKioskthedeviceownerfromthecommandpromptonyourcomputer
• IfyouhaveaccesstotheAndroiddevelopertools(installedonyourcomputer)and• IfyourdeviceisrunningAndroidv5orlater
Note:OnsomeAndroidv6devicesVideoKioskwillpinitselfandthenAndroidwillimmediatelyunpinVideoKiosk.Thistypicallymeansthereisasetting(DeviceSettings>Security>Screenpinning)thatyouneedtoturnon.Oncethatsettingisenabled,everythingwillworkasdescribed.
Verifythatyourdeviceallowsthedeviceadminfeaturebydoingthefollowing:
1. Fromacommandlineonthecomputer,enterthiscommand:
adb shell pm list features | grep device_admin
Youshouldgetaresponsebackthatlookssomethinglikethis:
feature:android.software.device_admin
Ifyourdevicedoesnotsupportsettingthedeviceowneryouwillgetablanklineback
Inthecasewhereyourdevicedoesnotsupportthesoftware.device_adminfeatureyoumaybeabletoenableitbydoingthefollowing:
1. Createatextfilenamedandroid.software.device_admin.xml2. Editthefileandputthefollowingcontentinit:
<?xml version="1.0" encoding="utf-8"?> <!-- Copyright (C) 2014 The Android Open Source Project Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. --> <permissions> <feature name="android.software.device_admin" /> </permissions>
VideoKiosk–AndroidUser'sManualburningthumb.com(Mar20,2020)-v7.6.0.203020
93
3. Fromacommandlineonthecomputer,enterthesecommands:
adb root adb remount adb push android.software.device_admin.xml /system/etc/permissions/ adb reboot
4. Whenthedevicehasfinishedrebooting,verifythatyourdeviceallowsthedeviceadminfeaturebyfollowingthestepsoutlinedabove
If,andonlyif,youareabletoverifythatyourdeviceallowsthedeviceadminfeature,performthefollowingstepstomakeVideoKioskthedeviceowner:
1. IfyouplantoinstallfromthePlayStore,addyouraccounttoyourdevice2. InstallVideoKioskonyourdevicefromthePlayStoreorbysideloadingthe.apkfile3. OpenVideoKioskandActivateyourlicense4. MakeVideoKioskthehomeApp(refertoAccessManagement,p.62)5. Ifyouaddedanaccounttothedevice,deletetheaccountfromthedevice
•VideoKiosk>Settings>Launching>Opensystemsettings•Accounts>Google>[account-name]>Hamburgermenu>Deleteaccount
6. ConnectyourdevicetoacomputerwiththeAndroiddevelopertoolsinstalled7. Fromacommandlineonthecomputer,enterthiscommand:
adb shell dpm set-device-owner com.burningthumb.premiervideokiosk/.AdminReceiver
8. Optionally,addtheaccountbackontothedevice•VideoKioskSettings>Launching>OpenSystemSettings•Accounts>Addnewaccount>[re-addaccount-name]•PresstheBackbuttontogetbacktoVideoKioskSettings
VideoKiosk–AndroidUser'sManualburningthumb.com(Mar20,2020)-v7.6.0.203020
94
Appendix C – Built in Widget XML Settings TheVideoKioskbuiltinwidgetscanbeconfiguredusingXMLSettingsfiles.IfyoumodifytheXMLSettingsfilesonthedevicethewidgetwill,afterashortperiodoftime,reloaditselfusingthemodifiedsettings.
XML Tags ThefollowingXMLTagsaresupportedbythebuiltinwidgetsintheXMLSettingsfile.
All <settings></settings> <padding></padding> <top></top> <left></left> <right></right> <bottom></bottom>
URL Widget <url></url>
Image Folder Widget <pathimages></pathimages> <secondsperimage></secondsperimage>
Date and Time Widget <pathimages></pathimages> <secondsperimage></secondsperimage> <colortext></colortext> <fontsizetime></fontsizetime> <fontsizedate></fontsizedate> <booleanshowtime></booleanshowtime> <booleanshowdate></booleanshowdate>
RSS Widget <kindofwidget></kindofwidget> <hoursperdownload></hoursperdownload> <minutesperfeed></minutesperfeed> <itemsperfeed></itemsperfeed>
VideoKiosk–AndroidUser'sManualburningthumb.com(Mar20,2020)-v7.6.0.203020
95
<secondsperitem></secondsperitem> <fontsizetitle></fontsizetitle> <fontsizedescription></fontsizedescription> <colortext></colortext> <colorbackground></colorbackground> <texthidden></texthidden> <itemsperfeed></itemsperfeed> <justifytitle></justifytitle> <justifydescription></justifydescription> <pathimage1></pathimage1> <pathimage2></pathimage2> <feeds></feeds> <urlfeed></urlfeed>
Examples ThefollowingareexamplesofXMLSettingsfilesforeachbuiltinwidget.
URL Widget XML Settings File Example <?xml version="1.0" encoding="UTF-8"?>
<settings> <padding> <top>13</top> <left>13</left> <bottom>13</bottom> <right>13</right>
</padding>
<url>file:///sdcard/html/analog-clock/index.html</url>
</settings>
Image Folder Widget XML Settings File Example <?xml version="1.0" encoding="UTF-8"?>
<settings> <padding> <top>13</top> <left>13</left> <bottom>13</bottom> <right>13</right>
</padding>
<pathimages>/sdcard/videokiosk/widget/image/images</pathimages>
<secondsperimage>30</secondsperimage>
</settings>
VideoKiosk–AndroidUser'sManualburningthumb.com(Mar20,2020)-v7.6.0.203020
96
Date and Time Widget XML Settings File Example <?xml version="1.0" encoding="UTF-8"?>
<settings> <padding> <top>13</top> <left>13</left> <bottom>13</bottom> <right>13</right> </padding>
<pathimages>/sdcard/videokiosk/widget/date/images</pathimages>
<secondsperimage>30</secondsperimage>
<colortext>#FFAAAAAA</colortext>
<fontsizetime>30</fontsizetime>
<fontsizedate>20</fontsizedate>
<booleanshowtime>true</booleanshowtime>
<booleanshowdate>true</booleanshowdate>
</settings>
RSS Widget XML Settings File Example <?xml version="1.0" encoding="UTF-8"?>
<settings>
<padding> <top>13</top>
<left>13</left> <bottom>13</bottom> <right>13</right> </padding>
<kindofwidget>wide</kindofwidget>
<hoursperdownload>1</hoursperdownload>
<minutesperfeed>5</minutesperfeed>
<itemsperfeed>10</itemsperfeed>
<secondsperitem>30</secondsperitem>
<fontsizetitle>20</fontsizetitle>
<fontsizedescription>15</fontsizedescription>
<colortext>#FF000000</colortext>
<colorbackground>#FFFFFFFF</colorbackground>
<texthidden>hidden</texthidden>
<justifytitle>left</justifytitle>
<justifydescription>full</justifydescription>
<pathimage1>/sdcard/videokiosk/widget/rss/background/image1.png</pathimage1>
<pathimage2>/sdcard/videokiosk/widget/rss/background/image2.png</pathimage2>
<feeds>
<urlfeed>http://rss.cbc.ca/lineup/topstories.xml</urlfeed>
<urlfeed>http://premierwestmma.com/feed/</urlfeed>
<urlfeed>http://rss.cbc.ca/lineup/sports-nfl.xml</urlfeed>
VideoKiosk–AndroidUser'sManualburningthumb.com(Mar20,2020)-v7.6.0.203020
97
</feeds>
</settings>
VideoKiosk–AndroidUser'sManualburningthumb.com(Mar20,2020)-v7.6.0.203020
98
Appendix D – Registering uncertified devices TofacilitateregisteringdeviceswithGoogle,VideoKioskdisplaystheGoogleServicesAndroidID(GSAID)onabuttononVideoKiosk'sLicenseActivationActivity(Screen)thatlinksdirectlytotheGoogledeviceregistrationpage.
Thestepstoregisteranuncertifieddevice,usingtheOdroid-N2asanexample,areasfollows:
1. IftheGoogleAppsarenotinstalledonyourdevice,downloadthecorrectOpenGAPPs(forexamplewiththeOdroid-N2boardyouwoulduseARM9.0Nano)fromhttps://opengapps.org/
2. Renamethedownloadtoashortname,forexampleoga.zip3. SideloadandopenVideoKiosk4. AllowallVideoKioskPermissions5. Ifyouarenotusingawirednetwork,setupWIFI6. EnableUSBdebugging
a. Gotothedevicesettings(backonescreenusingbackarrowintopleftcorner)b. ChooseAbouttabletc. TapBuildnumber8times
7. ConnectaUSBcabletothedevice,usuallyusingtheOTGport8. Enterthesecommands
a. adbrootb. adbpushoga.zip/cache/recovery/oga.zipc. adbshell
i. echo"--update_package=/cache/recovery/oga.zip">/cache/recovery/command
ii. dpmset-device-ownercom.burningthumb.premiervideokiosk/.AdminReceiver
iii. rebootrecovery9. OpenVideoKiosk10. TapAccount11. TapGoogle12. Waitforthe"Deviceisnotplayprotectcertified"message13. Enterthecommandadbreboot14. RegisterGoogleServicesFrameworkAndroidID
a. MakeanoteoftheGSAIDvaluedisplayedonthebuttontitleb. TapthebuttontoopentheRegistrationwebpagec. LogintoGoogled. AddtheIDfromstep(a)
15. Enterthecommandadbreboot