Yii2 widget video
Yii2 widget for handling videos from:
- youtube - videos and playlists
- vimeo - can't remember, probably both
- wistia - whatever, it's paid crap
- brightcove - same as above
- twitch - supports it all, there's obviously limitations on the livestreams etc, just use common sense
- mp4 containers - as long as the browser supports it
it obviously relies on all the shite Yii2 decided to put as their defaults - bootshite, jQueer...etc
VideoWidget::widget([ 'url' => 'https://www.youtube.com/watch?v=N4q2kBe82-o', ])
autoPlay- auto play the video. if using the new IE aka Chromium based browsers - you will most likely end up with muted video. the script will try its best ot play it with sound whenever possible. JUST DO NOT USE IT, IT IS STUPID IDEA.
hideContols- hides the native provder controls and puts volume and full screen only. genereraly the idea is combined with startTimestamp to make a a non live stream look like a stream. pretty much useless, since average joe can just open dev tools and remove the non touch events, anyway.
startTimestamp- when to start it, in Unix timestamp in seconds. Note that the timestamp comes from the server, but the wait is happening on the client browser, so if their's time is off, it will be off.
startPosition- from where to start the video, in seconds
openInModal- open the video in modal dialog
loop- rather pointless thing, but whatever, repeats the video or playlist after it ends.
placeholderImage- replaces the thumbnail from the video, in case you want to put your crappy logo to boost your genitals
placeholderEndImage- shows it after the video ends. logically if you use loop that will never show..capishe ?
combining some options can be nonse, again use common sense.
just use composer, ok ? or better just write your own.
composer require cacko/yii2-widget-video
the extension stores downloaded thumbnails in the system temp folder.
If you want to change, set a dependency of
Cacko\Yii2\Widgets\Video\Models\ScreenshotInterface. if you don't know how - RTFM.
some providers or if you are using mp4 file, do not have api for screeshots, so it is done via the shite way and requires a controller endpoint. it points somewhere now, if you want to change it, same as above , DI ->
currently only youtube and twich require credentials, simply set a component definitions in the main app config.
'components' => [ 'youtubeApi' => [ 'class' => 'Cacko\Yii2\Widgets\Video\Components\YouTube\Api', 'youtubeKey' => 'xxxx', ], 'twitchApi' => [ 'class' => 'Cacko\Yii2\Widgets\Video\Components\Twitch\Api', 'clientId' => 'xxx', 'secretId' => 'xxx', ]