Jump to content

Tech Support

Administrators
  • Posts

    1,816
  • Joined

  • Days Won

    339

Posts posted by Tech Support

  1. 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}}

  2. 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

  3. 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.

  4. 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.

  5. 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}}

  6. 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

  7. "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.

  8. 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"}}

  9.  

    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.

  10. 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.

  11. 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.

  12. 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

  13. 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.

  14. 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.

  15. 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.

  16. 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
  17. 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.
  18. Starting with KVS Advanced you can show video previews for every video in the list instead of single or scrolling thumbs.

    Here are some important notes and prerequisites before you start

    1. If you have many videos, creating previews can take much time, up to many months!
    2. You should make sure that each storage server has enough space to store up to 1mb for each video.
    3. Each preview will take 600-800kb, so showing this for every video will increase your traffic usage.

     

    Steps on how to enable video previews

    Step 1. In admin panel go to Settings -> Add video format and create new video format with the following data:

    • Title: MP4 preview
    • Postfix: _preview.mp4
    • Video type: Standard videos
    • Status: Active optional (you can set Active required here if you don't have videos or have only few videos)
    • Video size: Resize video according to: NxM Enfore this size (replace NxM with exact size you need video to be displayed in lists)
    • FFmpeg options (-crf 28 is a compression quality, use lower number for higher quality):
      -vcodec libx264 -movflags +faststart -threads 0 -r 25 -g 50 -crf 28 -me_method hex -trellis 0 -bf 8 -an -f mp4
      temp.thumb.png.9fdfb3c7c2ffb1861e7f7f74174174aa.png

     

    • Limit duration to: 20 seconds (or any number you want it to be)
    • Number of parts: 4 (or any number of parts you want it to be)
    • Other fields under Duration limitation section - as per your needs.
      temp.thumb.png.42e8e44b3182ab66a0c4c8320bbad48e.png

    Save it. NOTE: if you selected Active required status and you have any videos, KVS will automatically create tasks for creating these files for all your videos. You should use Active optional status if you have many vids.

    You can see this video format in action here in KVS tube script demo admin panel:

    http://kvs-demo.com/admin/formats_videos.php

     

    Step 2. Now it is time to create video previews for some test videos. Please skip this step if you already selected Active required status for preview video format.

    Go to Videos list. Select some test videos (the ones you can see on your latest updates page) and under Batch actions select Mass edit selected. You will see the mass edit GUI. Scroll down to Content section and select MP4 preview format under Create / Re-create format files:

    mass_edit_format_creation.thumb.png.95de68818aa02c088f12fb3e84c6500f.png

    NOTE: Make sure you didn't select anything else in the big set of options.

    Apply changes.

    In Administration -> Background Tasks section you can now see list of tasks to create preview files for the selected videos. You should wait until they are processed, this may take a while. If there are errors on these tasks, please contact support.

     

    Step 3. Go to Website UI -> Theme Settings and select MP4 Preview format in Video preview format option.

     

    Step 4. If preview creation tasks are finished at this point, go to your latest videos and try mouse over the test videos you've chosen to create preview files. You should see the video previews playing. If you don't see them, try refreshing your browsers cache with Ctrl+F5.

     

    Step 5. If you are OK with the quality and functionality of your test previews, you can enable them to be created for all videos now. Go to Settings -> Video formats -> MP4 Preview and change status to Active required.

    NOTE: this will create tasks for all your videos, which can take long time. All new videos will have this format automatically.

     

    Styling waiting icon

    You can modify the following CSS style in your site's style file:

    .list-videos .img.preview-loading:after {
    display: block;
    position: absolute;
    content: '';
    width: 25px;
    height: 25px;
    background: #000000 url('../images/loader.gif') 2px 2px no-repeat;
    bottom: 5px;
    right: 5px;
    z-index: 1;
    }
    

     

    Troubleshooting

    1. It is not possible to create a new video format. This is not possible if you have KVS basic license. Basic licenses do not support multiple formats and will not allow you using this feature.
    2. Tasks for creating preview files failed. Please create ticket for support, there can be many reasons and need investigation in your admin panel.
    3. Video previews are not displayed. Are you trying on the test videos you have selected for massedit? Please open them in admin panel and check if they have preview formats created: temp.png.6e43cb9f66bb2782057a25a97cd3b781.png
      Did you try resetting browser cache with Ctrl+F5? Are you using the same browser where you logged in admin panel? If using different browsers to test this functionality you should log in to admin panel in each browser. Otherwise you can see the cached page version which has not yet been updated with this new feature.
  19. Support for access / promo codes in signup and upgrade

     

    In 3.9.0 we added User accounts generation plugin which provided ability to pre-generate user accounts and sell them via online stores as username:password pairs.

     

    Now in 3.9.1 we have further extended this plugin with ability to generate access codes, which can be used by users during registration process to get privileges from the access code being used. Also existing users can use access codes to upgrade their existing accounts with new privileges.

     

    An access code can grant one of these:

    - Unlimited premium access

    - Limited premium access (N days)

    - N tokens added to user's account

     

    Using access codes is more convenient for users, since they do not need to stick to pre-generated usernames and passwords. Also you can use this functionality for promo purposes, for example post access codes on forums, or use in any other similar way.

     

    Here is how the updated plugin looks now:

     

    temp.thumb.png.287cdd2adac1318b47e174d0030b2234.png

     

    In order to enable access codes on signup you should go to signup block settings and switch on the enable_access_codes option:

     

    temp.png.e3ce9274a674d4182c1d71ffa1e6b4a5.png

     

    Also you should update signup block template with access_code input (sample code is for KVS new theme):

     

    {{if count($access_codes)>0}}
    <div class="row">
    <label for="signup_access_code" class="field-label">{{$lang.signup.field_access_code}}</label>
    <input type="text" name="access_code" id="signup_access_code" class="textfield" placeholder="{{$lang.signup.field_access_code_hint}}"/>
    <div class="field-error down"></div>
    </div>
    {{/if}}
    

     

    The $access_codes variable lists all available access codes haven't been used yet, so you can even display the number of available access codes this way:

     

    We have {{$access_codes|@count}} more access codes available!
    

     

    In order everything to be rendered correctly, you will also need to add these texts to your theme texts (Website UI -> Language files -> Add Text):

     

    signup.field_access_code = Access Code
    validation.common.access_code_invalid = The entered access code is not valid
    

     

    If you want existing users to use access codes, you should do the same thing in upgrade block. The same parameter name and same HTML code will work.

    However upgrade block in your case may also be used with payment options, so you should think about whether you want to combine them together with using access codes in the same GUI, or alternatively you can add another upgrade block for only using access codes.

  20. Integration with MPa3 script

     

    We have also added support for http://mpa3.com membership system script:

     

    temp.thumb.png.06ed06efeafc511768eb189083259e16.png

     

    MPA3 will be integrated into KVS tube script in the same way as other payment processors with support for trial membership. Like for NATS, it is expected that you will use MPA3 signup page instead of KVS one.

  21. Ability to re-create screenshots for hotlinked videos

     

    In 3.9.1 it will be possible to re-created screenshots for hotlinked videos via massedit option:

     

    temp.thumb.png.f59ce943f0dd257b4010a0a6f5b608df.png

     

    In this case KVS tube script will download the hotlinked file and create new set of screenshots.

  22. New way to specify the number of timeline screenshots

     

    In 3.9.1 we added support for specifying the fixed number of timeline screenshots in addition to their interval. Timeline screenshots can be used in player on timeline mouse over to provide previews of what is coming next in the video.

     

    timeline_screenshots_count.thumb.png.d4542c2a722534b7a19795b2c62d2e91.png

     

    The interval is not very good when you upload long videos, since the number of timeline screenshot can be huge. For longer videos the alternate way can be to configure the fixed amount of screenshots and KVS tube script will automatically detect their interval based on video duration.

     

    This new feature will require you to update API on all remote conversion servers, because timeline screenshots are created there.

×
×
  • Create New...