Jump to content

KVS 3.9.1 update

Tech Support

Recommended Posts

Update status


3.9.1 update status is PRODUCTION. It means that the update was tested on many projects and projects with huge traffic.


You can download 3.9.1 update for your project(s) in KVS customer zone


Update cost


3.9.1 update is free for all KVS installations using 3.x branch.


If you want our team to update your project for you, please purchase this update service:



Update important info


Update will NOT affect your theme or any customizations in theme design (styles, templates, texts). Your site will be looking the same as it was before the update.


Since player skins are considered as part of KVS system files, they will be updated. If you have any custom changes in existing player skins you will lose them. If you have created any custom player skins, they will not be affected, but it is highly recommended to update them from the original player skins, since there are some bugs fixed in skins and also your custom skin won't work correctly with the new player functionality.


Important! Starting from KVS 3.9.1 each update will also update remote_cron.php files on all conversion servers automatically (previously this was only done for default local conversion server). If you did any customizations in this file you will lose them.


Update procedure


Any project starting from 3.0.0 can be updated to 3.9.1 with one only procedure. Depending on your current KVS version update procedure may contain additional steps for older versions.


You must use KVS update plugin in order to update your project. For update you will need:


- KVS update ZIP archive for your project and its hash code for update plugin (contact support in beta phase to get these).

- FTP connection to your project so that you can upload files.


If your project's version is 3.9.0, the update procedure is standard and nothing special is expected:

  • Create backup using Backup plugin.
  • Upload update ZIP into KVS update plugin and specify hash code.
  • KVS update plugin will notify you if there are any custom changes in KVS system files, which will be overridden by update (player skins are not checked here, so they will be silently updated if have custom changes).
  • KVS update plugin will update database automatically.
  • You will need to copy files from the archive on top of your project using FTP or filesystem copy.
  • KVS update plugin will verify the updated files and finalize update procedure.
  • You can use System audit plugin to verify everything looks good.


If your project's version is before 3.9.0, the update procedure will be difficult and will include cache reset for the whole site (if you have much traffic it can make your project to be unavailable for some time). Also 3.9.0 update can have issues with displaying the new player if conflicting with your design styles, please check this post listing all issues:



What's new in 3.9.1


You can find explanations and screenshots for the most of new features in this topic:



This topic also contains guides on how to enable some new features that require template changes and thus are not covered by automatic update.


You can see some new features in action on KVS demo website and admin panel:




1) Player improvements and bugfixes:

  • Better skin for touch devices and devices with small screen: some buttons are hidden, size of other buttons increased.
  • Added new player skin in youtube style.
  • For iOS devices player now supports metadata preload, which will allow faster video start (if you enabled the needed option in player settings and device supports this).
  • Text cue points can now be set up for timeline screenshots in video screenshots editor. Such cue points will be highlighted on player timeline and texts will be shown together with screenshots. Excellent feature to highlight video key scenes.
  • In pre-roll and post-roll advertising settings you can now enable built-in skip button and configure when it will become active. Also GUI of such advertising was changed - you can now show message with displaying advertising duration, and for video ads users can now pause and mute them.
  • Replay icon was added as a replacement for standard play button on video ending.
  • In player settings you can now specify initial player volume (and also mute player by default if needed). Also we've fixed some bugs with volume slider behavior.
  • In player settings you can now configure automatic loop for short videos - you can specify the minimum duration for that.
  • Some poster display issues fixed: earlier poster was not displayed before player fully initialized; also it was displayed without no need if autoplay was enabled.
  • Fixed context menu issue when trying to copy embed code from the player.
  • Fixed number of issues with timeline screenshots display: their size was limited and also they could be positioned incorrectly if skin was customized.
  • Display of vertical videos fixed - now they won't stretch vertically.
  • Fixed issue with caching remote servers redirects by some user agents. The new player will only allow cache them for 1 hour.

2) We re-thinked IP limit blocking mechanism in video protection. Since we've added video file link obfuscation feature

in 3.9.0 player, IP limit makes no much sense anymore. Now it can be switched off and will ease disk utilization. Also

it doesn't count skipping anymore, so protection doesn't rely on how often user skips video. ATTENTION! After updating

to 3.9.1 IP limit will be automatically switched off. You should switch it on manually in video protection settings if

you still need this (for example if you are using 3rd party video player).


3) Grabbers and content import improvements:

  • Added support for importing videos with multiple qualities via grabbers for those source sites that support it. This can save your CPU resources on conversion, but will take more time to import new content by downloading multiple files.
  • Grabbers can not import content source field for each object individually. This is not used in the grabbers KVS provides, but can be used in your custom grabbers.
  • You can now skip content with duplicate titles when importing content from grabbers.
  • You can now limit description length in grabbers: either by certain number words or by symbols.
  • For some grabbers KVS can now use their delete feeds to auto-delete videos from your database. This should be enabled separately for each grabber where supported.
  • When importing embed codes or pseudo-videos from grabbers, you can now specify URL postfix with your ref code to make URLs of all embed codes / pseudo-videos have it.
  • KVS grabbers plugin will now support youtube-dl server library, which implements parsing for many tube sites. This will help us to add grabbers faster in future.
  • Import functionality was enhanced with ability to skip content which files failed to be downloaded for whatever reason. Earlier such content would be imported in KVS and then would be moved to error status during conversion phase. This didn't allow try importing it once again because of duplicates check.

4) In timeline screenshots settings you can now configure the desired number of screenshots instead of their interval.

Based on that the interval can vary depending on video duration. On the one hand this will make navigation in video not

so accurate, on the other hand this will prevent creating 200-500 images for long videos. The key aspect here is that

interval will never be less than 10 seconds and any other intervals will be divisible by 10. For example if you

configure the number of timelines to be 100, for short videos KVS will create timelines with 10 seconds interval -

their number will depend on video duration. For videos longer than 10*100=1000 seconds KVS will choose 20 seconds

interval and etc. If you already use timeline screenshots you can easily switch to the new approach in video format

settings, this will affect new videos and old videos will continue showing timelines using the old way.


5) Due to the changes in timelines creation logic and for supporting future changes in this area, starting from 3.9.1

KVS will automatically update API for all conversion servers during update procedure. You should understand here that

any custom changes you've put into remote_cron.php will be vanished. KVS will try to do a backup copy of this file and

to put it near by. Conversion engine will not use conversion servers with obsolete API version anymore.


6) Added integration with MPA3 script.


7) The execution order of background tasks was changed a bit. Earlier when you had many secondary background tasks,

the new content wouldn't be processed until other tasks are completed or until you manually increase priority for new

content tasks. This won't be needed anymore, since KVS will automatically put new content tasks in the front of

execution queue even if all tasks have the same priority. Moreover you can now configure default priority for content

tasks submitted by different types of users: standard, trusted, premium, webmasters. Also you can now manually increase

conversion priority for videos and albums from their listings - earlier this was only possible from the tasks listing.


8) Finally we've added ability to mark content as removed. You can now do that for any set of videos / albums and

specify the reason. All files of this content will be deleted including video files, screenshots and formats, but the

data will remain in database. This content will disappear from public lists and will only remain available via direct

URLs with displaying all the info, comments and delete reason. For correct rendering you should modify templates,

please check our forum for instructions.


9) User account generation plugin added in 3.9.0 can now generate access codes instead of user accounts. Access codes

can be used on sign up and upgrade flows to get tokens or premium level. You can sell these codes via external online

shops as an alternative to KVS billing solution. Access codes are more convenient than pre-generated accounts, since

they can be used by existing users while keeping existing profiles, also users can use multiple access codes for

refills / rebills.


10) For hotlinked videos it is now possible to re-create screenshots. In order to do that KVS will download hotlinked

video again to create screenshots.


11) It is now possible to award users with tokens for sending traffic to their videos or albums to your site (embed

codes do not support this). You can specify the number of tokens that should be awarded for each N unique views (only

IPs unique within 24 hours are counted here). When calculating awards KVS will pay tokens for those videos and albums

that get the needed number of views. You can use this functionality to get more external links to your project if your

users will be interested in earning tokens. If needed you can pay out tokens with real money using KVS payout solution.


12) KVS 3.9.1 provides new features in restricting access to videos and albums. It is now possible to configure access

level for public videos and albums (previously you could only do that for private and premium). Also you can now

configure access level for each video or album individually, which will override access level inherited from type

field. This new feature can be used to workaround KVS architecture issue that doesn't allow changing video from public

to premium type and vice versa. Now if you want to make any public video available for premium members only or by

tokens purchase, you can do that without changing its type.


13) Enhanced rendering of screenshots and album photos in admin panel, they will be adaptive now. Also added red

highlights for fields which triggered validation errors when saving editors.


14) In main video editor you can now delete screenshots as well if they are enabled for display there. Previously you

could only change main screenshot.


15) Set of import / export enhancements and bugfixes:

  • You can now filter export data by reviewed flag.
  • You can now export video source files for those videos that keep them.
  • It is now possible to export rating in percents (0-100%) and also import / export will support the number of votes for rating.
  • Fixed bug with importing / exporting models with commas in their names.
  • Fixed bug with incorrect sorting by rating.
  • Optimized memory usage in export.
  • Exporting feeds now support filtering by query string. In order to allow this feature you should enable it in feed settings, since it can affect database performance if frequently used.
  • Fixed a bug in exporting feeds which could lead to wrong size in embed codes for some types of videos.

16) Model auto-selection plugin will now be looking into content tags as well. Previously it was only looking into

title and description.


17) You can now sort models manually like categories in order to force specific sorting when displaying on site.


18) In models list block (list_models) it is now possible to display similar models using a big variety of criteria:

by country, by city, by age, by sex, by height, by weight, by eye or hair color and so on.


19) In video upload block (video_edit) you can now configure that uploaded files are considered as files of specific

format to skip their conversion. This feature is not need in most cases, it was implemented for specific requirements

when your project is designed to provide an upload gateway for known users who will correctly upload files in the

needed format. This can also be used to create a separate upload page for webmasters to allow them upload videos faster

without the need to process them.


20) In video, album and playlist editing blocks (video_edit, album_edit, playlist_edit) the new option added that

allows you to configure content deactivation after it was modified. In older KVS versions there was only one option

(force_inactive) that affected both new content and modified content. If it was enabled, any modified video or album

would become deactivated until you manually activate it back. Now this won't happen. After the update the new option

(force_inactive_on_edit) will be switched off, so any modified content will remain active. If you want to force the old

behavior, you should modify settings of these blocks and switch the new option on.


21) In global stats block (global_stats) you can now render how many people visited your site yesterday, last week and

last month from KVS stats.


22) Flagging content will now store additional info about initiator: IP, country, user agent and page URL.


23) On conversations list (mode_conversations mode in list_members block) you can now implement removal functionality

to completely delete multiple conversations. Also for each conversation in the list it is now possible to display last

message from it.


24) It is now possible to display video duration in standard format HH:MM:SS. Historically KVS displayed it in MM:SS

format, which could show 3 digit number for long videos: MMM:SS. In order to use the new format you should modify site

templates, which is described on KVS forum.


25) Bugs that have been fixed:

  • During content import there could be a case when all import lines triggered validation errors, so even in that case KVS would allow submitting this import with empty list of valid lines.
  • Redirecting to random video / album didn't consider some satellite settings.
  • Non critical XSS vulnerability when using dynamic HTTP parameters from site settings.
  • When detecting SAR of source video file in some cases KVS would absolutely redundantly reconvert it for normalization. This was fixed, as well as normalization method was optimized for faster time and avoid quality loss.
  • Search function could lead to empty search if using stop words (in case of searching for the whole stop word) and KVS would show all videos / albums for such empty search.
  • Some cURL operations worked incorrectly if open_basedir option was enabled in PHP configuration.


Link to comment
Share on other sites

  • 4 weeks later...

3.9.1 goes production today. You can download it in your customer zone on KVS website.

Please consider updating from 3.9.0 to 3.9.1, as we have put a lot of fixes and enhancements for the new KVS player.


For older KVS versions updating to 3.9.1 is up to you, we will just remind that 3.9.0 featured new HTML5 player and updating from earlier version can be a bit difficult, there are some potential issues described here in the 2nd post:



Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Create New...