Jump to content

Tech Support

Administrators
  • Posts

    1,788
  • Joined

  • Days Won

    334

Everything posted by Tech Support

  1. No, the only way to send attachments is to upload them to some google drive for example and send the link in feedback form. This is also not yet possible, email system is planned for the complete rewrite and we are not doing any enhancements in this area until we start this.
  2. Please check this post, it has the exact code that you can use to display models for each video:
  3. Our local test shows that this is working. It could be that your grabber doesn't provide the data, or you didn't update the grabber in KVS (for it to be updated the new grabber version should be incremented).
  4. Please create a support ticket with some real examples, maybe we can understand the issue better by looking into the exact files.
  5. Not possible to skip if you opt to embed videos - this content type doesn't have any video files involved, so not possible to create screenshot from video file. One of the possible solutions would be to add an option to import (and grabbers) to download a temporary video files to create screenshot from, however this would be quite big feature and can't be easily added now.
  6. By default KVS simply shows 404 error message on black screen when somebody is using embed code for a video that was deleted. The contents what is displayed for wrong / deleted embed codes can be customized in Settings -> Embed player settings under Error template field. Here is the example of how you can configure it to display list of videos in addition to error message. Just use the code below as Error template: <html> <head> <title>{{$lang.error_404.title}}</title> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> <meta name="viewport" content="width=device-width, initial-scale=1"/> <style type="text/css"> @import "https://fonts.googleapis.com/css?family=Roboto:400,500,700&amp;subset=cyrillic"; /* related videos in player */ .player-related-videos { position: absolute; left: 0; top: 0; right: 0; bottom: 0; padding: 30px 10px 30px 10px; overflow: hidden; } .player-related-videos .player-related-videos-container { position: relative; width: 100%; height: 100%; overflow: hidden; text-align: center; } .player-related-videos .player-related-videos-item { position: relative; display: inline-block; vertical-align: middle; margin-top: 5px; } .player-related-videos .player-related-videos-item .title { display: none; position: absolute; left: 0; top: 0; right: 0; height: 52px; overflow: hidden; text-align: left; padding: 5px; color: #ffffff; background: -moz-linear-gradient(top, rgba(12, 12, 12, 0.8) 0px, transparent 50px); background: -webkit-gradient(linear, left top, left bottom, color-stop(0px, rgba(12, 12, 12, 0.8)), color-stop(50px, transparent)); background: -webkit-linear-gradient(top, rgba(12, 12, 12, 0.8) 0px, transparent 50px); background: -o-linear-gradient(top, rgba(12, 12, 12, 0.8) 0px, transparent 50px); background: -ms-linear-gradient(top, rgba(12, 12, 12, 0.8) 0px, transparent 50px); background: linear-gradient(to bottom, rgba(12, 12, 12, 0.8) 0px, transparent 50px); } .player-related-videos .player-related-videos-item .duration { display: none; position: absolute; bottom: 5px; right: 5px; color: #ffffff; background: rgba(12, 12, 12, 0.8); padding: 2px 5px; } .player-related-videos .player-related-videos-item:hover .title, .touch .player-related-videos .player-related-videos-item .title, .touch .player-related-videos .player-related-videos-item .duration, .player-related-videos .player-related-videos-item:hover .duration { display: block; } body { font: 400 14px/1.2 "Roboto", Helvetica, sans-serif; } body > div:first-child { top: 0 !important; padding-top: 5px; } </style> </head> <body style="margin: 0; padding: 0; background: #000; color: #fff"> <div style="width: 100%; text-align: center; position: absolute; top: 49%">{{$lang.error_404.title}}</div> <script src="{{$config.statics_url}}/static/js/main.min.js"></script> <script> if ('ontouchstart' in document) { $('body').addClass('touch'); } $.ajax({ url: '{{$config.project_url}}/related_videos_html/0/', type: 'GET', cache: false, success: function (html) { $('body').append($(html)); } }); </script> </body> </html> NOTE: this code is for KVS default theme. For other themes you may need to check which theme scripts you have in http://domain.com/static/js directory. If you have main.min.js file, this code will work. In other themes you may have vendors.min.js - then you need to replace this line: <script src="{{$config.statics_url}}/static/js/main.min.js"></script> with this one: <script src="{{$config.statics_url}}/static/js/vendors.min.js"></script> Finally if you neither have main.min.js nor vendors.min.js, you need to include JQuery library there.
  7. First of all, you are looking into the wrong options. These are not screenshots created automatically, these are screenshots uploaded manually. And with the Imagemagick options for screenshots created manually the following are used by default: -strip -resize %SIZE% %INPUT_FILE% -quality 80 %OUTPUT_FILE% I think the only possible way you can reduce compression here is to increase quality from 80 to 90 or 100. However this won't make it much better, as you have noted already that they provide already compressed screenshots, and it is not possible to make them less compressed.
  8. I think from the ticket you already said that you found a solution, it was download speed limit configured.
  9. Hm... I'm not sure how to adjust this, it looks like you are using some kind of DB access tool.
  10. Yes, this is the case. But you can re-generate directories for all videos using mass edit GUI, it is the very first option:
  11. Sure you can edit titles in database directly, ktvs_videos.title column.
  12. First of all, if you are able to copy link to another browser and access it, your access levels are configured incorrectly. You can configure access levels of each video files in Settings -> Video formats. If you expect that some video files (for example full-length video files) should only be available to members, then you need to configure access level for these video formats accordingly. Another thing is, even if you don't configure that, you will not be able to publish this link anywhere just because by default it is IP-encoded. So you can copy it from 1 browser to another and access it there, but if you send it to anyone with another IP, the link will not work. There are 2 types of video file links with KVS: 1) Protected link, the link that verifies access restrictions, e.g. IP lock, login lock and etc, it looks like this: https://www.kvs-demo.com/get_file/1/c007b252ec74075337a50fa416908fc95f7a879d02/0/373/373_360p.mp4/ BTW, if you can try to open it - it will show you error, because this link is only be working for my IP address. 2) Direct link, which points to the file on the filesystem like this: https://www.kvs-demo.com/contents/videos/0/373/373_360p.mp4 BTW, this link is not working as well, because we have Nginx installed and have activated "protect videos from direct access" rules in Nginx config. If you don't have Nginx installed, the 2nd link will be fully available to everyone, no protection will be ever implied. So this is the reason why you need Nginx to be installed. Even if you are not able to add custom rules into Nginx config, you can still protect it by changing storage directory: https://www.kvs-demo.com/contents/videos to some random directory name, so that nobody can guess it. And with Nginx the direct link will never be exposed to the end user.
  13. We updated Wordpress plugin to 1.0.8, and it now supports post status to be set to Draft.
  14. I would be very careful of blocking empty referrers, as this doesn't affect download managers / download plugins (they are sending referrers of cause). But this could affect some legit users with security settings that do not send any referrers. Not sure I understand what is the reason of adding this into htaccess. The first line definitely makes no sense, since Apache (where htaccess is running) is not serving mp4 files and this redirect will never happen.
  15. No, at the moment KVS doesn't support blob URLs, so not possible to hide that.
  16. Good news, after looking into the code, it turns out that you can specify multiple screenshots by separating them using comma, e.g.: $result->set_screenshot('http://domain.com/image1.jpg, http://domain.com/image2.jpg'); This was not done intentionally, but it might work. Please try that.
  17. Unfortunately grabbers API does not support multiple screenshots. Why you need this? We can update API, but long time to wait for this.
  18. No, this is not designed to export Wordpress data into KVS. There is a problem with Wordpress, its data is not structural, and many videos are uploaded via different plugins, post types, techniques and so on, so it is not possible to create a general-type export into KVS.
  19. This issue is not related to the case when your configure Nginx + Apache, as Apache will make sure that all needed directories are protected. It will only be an issue when you have pure Nginx + PHP without Apache. This is not officially supported by KVS, but still technically possible and many big projects have this configuration (due to some performance gains which could be important for huge traffic projects). With regard to content protection, after installing Nginx you will also need to update your project's domain nginx config with a small inclusion that protects video files from direct access. You can find this inclusion syntax in Settings -> Storage servers under each storage server, but in order to see it you need to switch Streaming type to Nginx: Before installing Nginx, your storage server has another Streaming type, 302 redirect, which simply redirects to the video file without any protection.
  20. Yes, definitely, but not sure if will be a possibility to add it in the upcoming update.
  21. Feedback form is actually a contact form, or what do you mean exactly by contact form? What should it provide?
  22. Please use the following workaround: 1) Create an advertising with some HTML comment code in this advertising spot and specify these 2 countries for it <!--empty ad--> 2) Create another advertising in this spot with the real advertising code and do not specify any countries. Empty countries in advertising settings means that this advertising will be displayed in all cases, except that countries that you specified in the first advertising. And advertising with empty code will be displayed for only these 2 countries.
  23. Not possible for now, will provide an update soon.
×
×
  • Create New...