Jump to content

Tech Support

Administrators
  • Posts

    1,796
  • Joined

  • Days Won

    336

Posts posted by Tech Support

  1. Ability to configure default player volume and enable videos loop

     

    In 3.9.1 there were 2 new options added to player settings:

     

    1) Volume - here you can configure default player volume or mute it by default.

    2) Loop - you can enable loop for all videos or videos shorter than the given number of seconds.

     

    player_volume_and_loop.png.2e72fcb5913c200222a103ff96adc7eb.png

  2. Fixed the way how vertical videos are displayed in player

     

    There was a bug with incorrectly displaying vertical videos, which were displayed in vertical player. Also poster and timelines were not showing correctly.

    Now this issue was fixed in 3.9.1:

     

    vertical_video_bugfix.png.adc47cf285174c6bedaf1b375d96d427.png

  3. More robust IP limits on video files

     

    In 3.9.0 after HTML5 player was introduced there was an issue with IP blocking when accessing videos. The reason is that some browsers send many subsequent range requests which results in IP address being logged much more than it should be, also this can produce more server load.

     

    In 3.9.1 we have fixed that, so now range requests will not be logged. Also it is possible now to disable IP limit completely, which should increase performance a little bit.

     

    Here is the new option:

    video_ip_protection_settings.thumb.png.7bdb81468dba18815722da374f8e2203.png

     

    The IP protection will be disabled automatically after updating to 3.9.1. We don't see much sense in it, since we have new link obfuscation option which will be more accurate.

     

    If you are using 3.9.0 it is recommended for now to adjust IP protection with higher limit to prevent your users from being blocked for no reason. Please consider come back to this option after updating to 3.9.1 or higher, as it will be automatically disabled after the update.

  4. Support for marking videos / albums as deleted and showing their pages alive

     

    This is one of the long demanded feature, which we finally managed to implement.

     

    Instead of deleting content you can now mark it as deleted:

    mark_content_deleted.png.012939567345c068f8ace9cfe9dcb6ab.png

     

    Once the option is selected, KVS tube script will show you confirmation form, where you can specify delete reason for the selected set of content. For the first time the list of recently used reasons will be empty, but as long as you start specifying them, they will be populated into a single select field:

     

    mark_content_deleted_form.png.aed958f153551b2b5300c6730da53e4a.png

     

    After the confirmation form is submitted, background tasks will be created for each video / album to be marked as deleted. These tasks will delete all video files and screenshots for videos and images for albums. But the main data will still be present in the database.

     

    Content marked as deleted will not appear in frontend lists (except for purchased videos / albums of the current user). At the same time such content will remain accessible via direct links, where it will be possible to display error message with delete reason:

     

    mark_content_frontend.png.a15cc3f7e5e77860f3d26911ff36e99a.png

     

    In order to correctly display the error message, you should modify theme templates.

     

    For videos, go to Website UI -> Pages -> View Video page -> video_view block. You can find the following {{if}} statement there:

     

    {{if $is_limit_over==1}}

     

    Replace it with the following code:

     

    {{if $data.status_id==5}}
    <div class="no-player" style="width: 100%; height: 0; padding-bottom: {{$player_size[1]/$player_size[0]*100|replace:",":"."}}%; background: black">
    <span class="message">{{$data.delete_reason}}</span>
    </div>
    {{elseif $is_limit_over==1}}

     

    For albums, go to Website UI -> Pages -> View Album page -> album_view block. You can find the following {{if}} statement there:

     

    {{if $is_limit_over==1}}

     

    Replace it with the following code:

     

    {{if $data.status_id==5}}
    <div style="height: 150px">
    <span class="message">{{$data.delete_reason}}</span>
    </div>
    {{elseif $is_limit_over==1}}

  5. Showing related models for the current model

     

    In 3.9.1 we have just added support for related mode in list_models block, which will allow you show models that are similar to the current model by one of the following criteria:

    - By tags

    - By categories

    - By country

    - By city

    - By gender

    - By age (+-3 years)

    - By height (+-5 units)

    - By weight (+-5 units)

    - By hair color

     

    It is also possible to dynamically switch between these criteria to allow user decide.

     

    The functionality is available in list_models block settings:

     

    related_models.thumb.png.9dd6406eff922c10ab472ed9a5ebb994.png

  6. There are many sites which can be used to download videos from 3rd-party tube sites. For example this one: tubeninja.net

    KVS tube script comes with a fully-featured protection mechanism, which can do 3 things for your tube site:

    1. Prevent other users from downloading your videos via web tube downloaders.
    2. Prevent any other scripts from parsing and downloading your videos.
    3. Prevent other tube sites from hotlinking your videos and stealing your traffic.

    The settings are in Settings -> Content Settings under Video download script protection settings section:

    video_protection_settings.thumb.png.a94f12c1c5f21ab2a02eefbb3cc1578f.png

    What you should do is to make sure that Enable protection for video download script is ON, Hotlink protection type is set to IP and Enable links obfuscation option is also switched ON.

    Link obfuscation will only work in KVS player. If you are using 3rd-party video player, then you cannot use this option. However, if your hotlink protection type is set to IP this will also prevent using web tube downloaders for your site. But your site will be vulnerable for other scripts to parse and download your content. If it is important for you to prevent that, you should use KVS video player and enable this option.

  7. You can't do that since Ad spot is a part of the full HTML page.

     

    But you can do a workaround with using iframe. For example create http://domain.com/spot.html file with your advertising code and put this meta tag there inside <head> section.

     

    Then in KVS advertising setting change advertising code with <iframe src="http://domain.com/spot.html" width="N" height="M" frameborder="0"></iframe>

     

    Replace width and height as needed.

     

    BTW we have a ticket to make this iframe way to be enabled automatically in advertising settings. We can also consider autorefresh feature.

  8. 1) Search suggestions can be implemented using search_results block, which renders list of all search QUERIES (the block name is confusing, I know).

    It is possible for it to list queries containing the entered query, e.g. like here:

    http://www.kvs-demo.com/search/indian/

     

    There is search_results block which displays list of queries similar to "indian". You can use 3rd party javascript plugin to parse data from this block.

     

    In order to do that you can create a global block (Website UI -> Global blocks) named Queries and of search_results type. Then enable var_query=query parameter in it and configure its template to return data list in the format readable by your plugin:

    http://kvs-demo.com/admin/project_pages.php?action=change_block&item_id=$global||search_results||queries&item_name=Queries

     

    Then you can get list of similar queries using this approach:

    http://www.kvs-demo.com/index.php?mode=async&function=get_block&block_id=search_results_queries&global=true&query=indian

     

    And you get list of queries similar to "indian". Your javascript plugin can render them as a dropdown or as designed.

     

    2) That's supported already.

     

    In list_members block template you can use this code for each member to show badge:

    {{if $item.is_trusted==1}}

    Trusted

    {{/if}}

     

    In video_view / album_view block template you can use this code:

    {{if $data.user.is_trusted==1}}

    Trusted

    {{/if}}

     

    In member_profile_view block template you can use this code:

    {{if $data.is_trusted==1}}

    Trusted

    {{/if}}

  9. Text cuepoints are now possible with KVS tube script and KVS player

     

    It will be possible now to configure player to display textual notes on timeline along with timeline screenshots. This can make a big sense for paysite owners to provide members easy-to-use way to navigate across long videos.

     

    First you need to have timeline screenshots. For long videos it will not be required to generate huge amount of timeline screenshots anymore, it can be configured to a fixed number (see related post in this topic). Now KVS tube script will allow you to specify titles for arbitrary timeline screenshots:

     

    cuepoints_settings.png.b08014d3c8cb1ca89d333f736154b8a4.png

     

    Then you can enable cuepoints in player settings after enabling timeline screenshots:

     

    cuepoints_player_settings.png.b05bc0f9999e3512b3fa9e39ed34f057.png

     

    And here how they look in the player for the end user:

     

    cuepoints_player.png.053626a52d7019da7ee16228083292c6.png

  10. "The layer should load in page center and also other layer" as I think.

    Thanks

     

    It should be displayed relatively to the clicked button, but indeed we didn't check constraints so it could go off screen.

    We have fixed this in 3.9.1, thank you.

  11. Yes, it works in my case.

     

    For example in album_view block you should have this DIV:

     

    <div class="images">

     

    Add ID to it, so that pagination knows which element to replace:

     

    <div class="images" id="{{$block_uid}}">

     

    And then after

     

    {{foreach item="item" from=$data.images}}
    ... links to images here
    {{/foreach}}

     

    Add pagination:

     

    {{include file="include_pagination_block_common.tpl"}}

  12.  

    If I select only one Quality (480p), this will work same

    means that the downloaded video file will be stored without any processing and save CPU time.:cool:

     

    Previously you could select only 1 file to download for each video, and if you had multiple formats the rest of files were created by KVS. Now you can download multiple formats, so that KVS will not create anything and will use the downloaded files.

  13. Please suggest me which number is good for HD and Full videos

     

    It doesn't matter which video size or duration you have. Normally you should allow bitrate multiplier as 1.0, since you want player to buffer only video fragment which is being playing at the moment. However in many cases bitrate is not constant, it varies for different video fragments. So setting 1.0 will most likely be not accurate and users will experience interruptions in playback. That's why you need to configure value higher than 1.0 to ensure video is buffered little bit faster than it is played.

     

    You can test online by putting 1.2 and see how fast the buffer will become longer than played part. If you set 1.5 buffering will be even more faster and you will save less traffic. Basically 1.2 should be enough.

  14. This is something we will add soon. It will be possible to mark videos and albums as deleted and specify the reason text for delete. KVS will delete all content files, but will keep the object in database and thus it will be possible to display non 404 page for it.

  15. Using delete feeds in tube grabbers / tube scrappers

     

    Now starting from 3.9.1 some tube grabbers will support ability to automatically delete videos which were deleted on source sites.

    This option will only be available for sites that provide deleted videos feeds and it should be enabled manually for each grabber where supported:

    tube_grabbers_delete_feeds.png.d3976834edda02bcebbd30b1352fab21.png

  16. Video screenshots now can be fully managed inside main video editor

     

    Finally we have fixed the annoying issue reported many times that main video editor didn't allow deleting screenshots. Now the main video editor provides support for changing main screenshot and also deleting the unneeded screenshots.

     

    Also we've changed screenshots layout to be responsive everywhere across the admin panel.

     

    video_editor_screenshots.png.b24376edccd7f8d9657dd744505063f4.png

     

    Video screenshots editor is still in place providing ability to replace individual screenshots.

  17. Cool!

     

    Are there any plans to add Bitcoin support for memberships any time soon? Any KVS site could accept it, basically. I think it would be a good way to offer an ad-free plan through.

     

    Yes, we will also consider that, but not in the nearest release.

  18. Tube scrappers / tube grabbers functionality update

     

    In 3.8.5 we have added a beta version of tube scrapper / tube grabber plugin, which became very popular among our customers. In 3.9.1 we are further extending this plugin with some very important improvements. See details below.

     

    1) It is possible now to limit the number of words or characters in the grabbed description.

     

    2) It will be possible to skip videos with the same titles you already have in database. Duplicate title doesn't necessary mean duplicate video, but in many cases the same video is being added to multiple sites, so grabbers cannot see they are duplicates, since they are located on different sites and obviously their video files will be different. The new option can prevent from adding such videos.

     

    3) The most important feature is to allow grabbing multiple qualities of the same video at a time. Many tube sites offer videos in multiple qualities and if you wanted to have the same on your site, earlier you would have to grab the topmost quality and create minor qualities at your end. Starting with 3.9.1 you will be able to grab any qualities you need at the same time and upload them all to your project without any conversion needed! See the screenshot:

     

    tube_grabbers_multiple_files.png.235c7b4b2facabfcb12d03523adfd2a8.png

     

    For each video quality the source tube site provides, you can now select which KVS video format it should be uploaded into. Uploading directly into the format means that the downloaded video file will be stored without any processing and you will save CPU time.

     

    NOTE: multiple formats are only supported starting from KVS advanced package.

  19. For a video site most of the bandwidth is being used for serving videos. In many cases you will have a limited channel like 100mbit or 1000mbit, so you will not save any money by saving bandwidth, however there are several cases when saving bandwidth can make great benefit for you:

    1. When your channel is fully loaded with serving videos, your site may become unresponsive for some users and you may get SEO penalty. One solution is to buy a new server or extend bandwidth limit, but you can save this money with KVS by trying to limit video streaming speed.
    2. When you are using CDN, in most cases you pay for the maximum bandwidth peak. You can save some money by paying less if your maximum peak becomes less.

    Why limiting streaming speed can save your bandwidth? Many users do not watch videos in full length, they may skip up and down to different fragments. However if their internet speed is high, they can download full video at a max speed shortly even if they didn't watch most of it. With a speed limit you will reduce % of downloaded bandwidth by each user and finally you will get some cut in your global bandwidth usage.

    KVS provides 2 way to limit video streaming speed:

    1. Limit speed to fixed bitrate. This is not a good solution, since it can be inaccurate in many cases - since video bitrate is often dynamic and you won't know the exact bitrate to limit.
    2. Limit speed to dynamic bitrate with a multiplier. This option is much better as it will make sure different speed limits for videos of different bitrates and you don't need to investigate the average bitrate of your videos.

    However, there is one important issue which you should know about streaming MP4 files. Each MP4 file has a metadata atom in the beginning (MOOV atom). This atom contains keyframes from video file and can take up to 4MB depending on video duration and geometry. Player needs to download this atom before it can start playing videos. Therefore if you limit download speed, your videos will start playing with a big delay. However Nginx provides a way to fix that, we will describe this later.

    NOTE: limiting streaming speed is only possible with serving videos with Nginx or CDN. In case of CDN the implementation of speed limit is fully dependent on your CDN provider (BTW some CDNs are not interested in doing this for an obvious reason). KVS will pass speed limit info to the CDN integration script, which may or may not use it - but this is not KVS issue.

     

    How to configure download speed limit

    In KVS you can configure download speed limit per each video format separately. Go to Settings -> Video formats and for each video format you can set speed limit:

    Global speed limit: Dynamic bitrate x 1.2 (we recommend multipliers from 1.1 to 1.5)

    You can set other options under Speed limitation section as needed. For example you can give your premium or active members unlimited download speed. You can also limit speed for visitors from certain countries only, so that you main audience is not affected. In order to define list of countries you want to limit please take a look at Stats -> Countries for reference.

    video_format_speed_limit.thumb.png.3deda4e0b8202b494d5f3bf844a7b840.png

     

    • Thanks 1
  20. Here are some important notes and prerequisites before you start

    • In order to use HTTPS on your site you should purchase SSL certificates for your domain and all subdomains you are using with KVS project. This includes all remote storage servers as well, since any files loaded on your project, including video files should be served via HTTPS to get the full coverage.
    • HTTPS may produce additional load on your server because of additional layer of traffic encryption.
    • If you are using Nginx, HTTPS should be configured at Nginx level. Nginx serves static files and they need to be served via HTTPS as well.
    • All 3rd-party scripts and advertising you are using should support HTTPS as well, otherwise they will trigger warnings in browsers and will distract your users.

     

    How to enable HTTPS in KVS tube script

    Step 1. Configure SSL at server level for domain and all subdomains you are using for KVS project. This should be done at Nginx level for projects that work via Nginx.

    If you are using CDN or remote storage servers, check how HTTPS works for all of them.

    NOTE: configuring HTTPS at server level is not covered by this guide. Please refer to Nginx / Apache official documentation on this.

     

    Step 2. In admin panel go to Settings -> Storage servers and for each storage server modify URL field to point to https://, e.g.:

    https://yourdomain.com/contents/videos

     

    Step 3. In /admin/include/setup.php change all URLs to https://. In most cases you only need to change this setting:

    $config['project_url']="https://www.kvs-demo.com";

    However there can be other settings referring direct URLs as well. So search the whole file for http:// and change all usages to https://.

    NOTE: KVS will reset all cache after you change project URL. If you have much traffic on your site, your server may be overloaded for some time until the new cache is populated.

     

    Step 4. In main .htaccess file change all URLs to https:// as well. In most cases you will only have this line:

    RewriteRule ^(.*)$ https://www.%{HTTP_HOST}/$1 [R=301,L]

     

    Step 5. Open your site via HTTPS protocol and make sure that everything is displayed correctly. Starting from this point your site will fully work on HTTPS. Go to Plugins -> System audit and run installation and server checks there. You should not have any errors from these 2 checks.

     

    Step 6. It is recommended to configure 301 redirect for all HTTP requests to HTTPS so that there is no duplicate content available under different protocols. This redirect should be set globally in Nginx configuration (or Apache configuration if your server is not running under Nginx).

    NOTE: configuring redirect at server level is not covered by this guide.

     

    Troubleshooting

    1. Design is not displayed properly when using HTTPS. Most probably you didn't switch all static resources to be loaded via https://. Open source code of your page and search for http:// text. Once you located the URL of static resource referred by http://, go to Website UI -> Search in templates in admin panel and try searching for template which renders this URL. Fix to https://.
    2. On some pages browser shows insecure warning. This problem is caused by the same issue as above. Some parts of your page are trying to use resources via insecure HTTP protocol and that's why browser shows the warning.
×
×
  • Create New...