Purchase/Renew

One License - USD $399
One License - USD $349*
Validity - One Year
Need more? Contact Us
*Includes free upgrades and support for one year.

  • Cache Videos Using Squid + Videocache

    Videocache is a Squid URL rewriter plugin written in Python for bandwidth optimization while browsing famous video sharing portals/websites like Youtube, Metacafe etc. It helps you save bandwidth when a particular video is requested more than once from the same network/machine.

    Squid can not cache the videos served dynamically. Videocache fits into squid to help it cache the videos as well. The cached videos are stored on your proxy server's local storage or on a storage server in your network. These cached videos can be served to your clients at a very fast speed saving your upstream bandwidth.

    Supported Websites

    Videocache supports the caching of videos served dynamically from the following websites

    1. Youtube Videos - Youtube.com.
    2. Facebook Videos - facebook.com.
    3. MySpace Videos - myspace.com.
    4. AOL Videos - aol.com.
    5. Metacafe Videos - Metacafe.com
    6. DailyMotion Videos - Dailymotion.com
    7. Vimeo HD Videos - Vimeo.com
    8. Bing & MSN Videos - Video.bing.com
    9. Blip TV Videos - Blip.tv
    10. Break Videos - Break.com
    11. Red Tube Videos - Redtube dot com
    12. X Tube Videos - Xtube dot com
    13. You P0rn Videos - Youporn dot com
    14. Tube 8 Videos - Tube8 dot com
    15. Wrzuta Audio & Videos - Wrzuta.pl

    Supported Operating Systems

    Videocache currently works on almost every Linux/Unix based Operating System like Fedora, CentOS, Red Hat, RHEL, OpenSuSE, Mandriva, Ubuntu, Debian, Gentoo, FreeBSD, NetBSD, Slackware.

    Videocache may work on Mac OSX* and Microsoft Windows* (with Cygwin).

    Supported Video Formats

    Videocache currently supports caching of following audio/video formats from the websites specified above: flv, 3gp, mp3, wmv, mp4, rm, ram, mov, avi, m4v

    * Mac OSX and Microsoft Windows are not officially supported.

  • Videocache Commercial License Pricing

    Latest version of Videocache is 1.9.9. With Videocache Bundle, you get free support via Support Forums. We will email you the software bundle within 24 hours of the purchase. Videocache bundle comes with a shell script (install.sh) which can be used to install Videocache in a hassle free manner.

    Purchase/Renew License

    Note: If you don't have PayPal, you can pay using moneybookers.com, Western Union or other means. Please check our FAQ on Payment for alternate payment methods. Contact Us for bulk purchase.

    One License - USD $399
    One License - USD $349*
    Validity - One Year
    Need more? Contact Us
    *Includes free upgrades and support for one year.
  • Installing Videocache

    If you have not purchased Videocache license already, please go to Pricing Page to purchase a license now.

    Required Packages

    Videocache requires following packages to work. You should have these packages installed and properly configured on your system. In case you don't have these packages installed check the respective links as shown below.

    1. Squid >= 2.6
    2. Python >= 2.4.3
    3. Python-iniparse (Any version)
    4. Apache (httpd) Web Server (Any version)

    Installating Dependencies

    On CentOS/Fedora/RHEL

    [root@localhost ~]# yum -y install gcc httpd squid python-devel python-iniparse

    On Ubuntu/Debian

    [root@localhost ~]# apt-get install gcc apache2 squid3 python-dev python-iniparse

    For installing dependencies on other operating systems, please check your operating system manual.

    Installation Using install.sh Bash Script

    1. Extract videocache-x.x.x.tar.gz

    [root@localhost ~]# tar -xvzf videocache-x.x.x.tar.gz

    2. Change directory to videocache-x.x.x

    [root@localhost ~]# cd videocache-x.x.x

    3. Install videocache using the install.sh script.

    [root@localhost ~]# bash install.sh

    All the activities and errors of the install script are logged to standard output or standard error. Please check the messages for any errors or missing packages. Use your package manager to install the missing packages and then run install script again to complete the installation.

    Basic Videocache Configuration

    1. If the installation was successful, the next step is to add videocache specific rules in your Squid configuration file generally located at /etc/squid/squid.conf. Based on your Squid version, open the file named vc_squid_2.conf (for Squid 2.x) or vc_squid_3.conf (for Squid 3.x) in the videocache bundle and copy the contents to Squid configuration file.

    2. Open videocache configuration file (/etc/videocache.conf) and set the values of options cache_host and client_email. Follow the instructions on Configuration Page to learn more about other options.

    3. Don't forget to run vc-update command after saving the videocache configuration file.

    Starting Videocache

    Starting videocache is a three step process.

    1. First of all, start/restart Apache(httpd) web server using the following command.

    [root@localhost ~]# apachectl -k restart

    2. Start (or restart) videocache scheduler (vc-scheduler) using the following command.

    [root@localhost ~]# vc-scheduler -s restart

    3. And finally restart your Squid server using the following command.

    [root@localhost ~]# /etc/init.d/squid restart

    Now check /var/log/videocache/ for Videocache logs and check videocache.log for current activity. You can also have a look at other logfiles to know the activity of other components.

  • Configuring Videocache

    Configuring Videocache is very easy. The configuration file for videocache is located at /etc/videocache.conf. Below is a brief explanation of different options used in videocache.conf.

    If you change options in configuration file, please use the Update Script to update the videocache installation and restart Videocache as explained on Restart Videocache page.

    Click on the option name to get the details.

    • enable_videocache
    • client_email
    • offline_mode
    • videocache_user
    • cache_host
    • base_dir
    • max_cache_processes
    • proxy
    • proxy_username
    • proxy_password
    • hit_threshold
    • max_video_size
    • min_video_size
    • disk_avail_threshold
    • enable_videocache_cleaner
    • video_lifetime
    • logformat
    • timeformat
    • logdir
    • logfile
    • max_logfile_size
    • rpc_host
    • rpc_port
    • max_logfile_backups
    • enable_youtube_cache

    This option controls the global behavior of videocache plugin. If it is 0, videocache will stop caching or serving anything. This option’s value can be either 0 or 1.

    Default value:

    enable_videocache = 1

    The option client_email must be set appropriately otherwise videocache will not work.

    Please set this option to the email address using which you purchased Videocache license.

    Default value:

    client_email = <blank>

    When offline mode is enabled, videocache will serve the videos already in cache and will skip caching the new videos. When set to 0, videocache will cache new video and when set to 1, videocache will serve the already cached videos and will not cache the new videos it encounters.

    Default value:

    offline_mode = 0

    The option videocache_user must be set appropriately otherwise videocache will not work.

    Use this option to set the user which should be running videocache scheduler. This user must be same as the squid user. On RedHat/CentOS/SuSE, it's generally squid and on Debian/Ubuntu/BSDs, it generally proxy.

    Default value:

    videocache_user = squid

    Please change cache_host to actual IP address or domain name of your proxy server, otherwise videocache will not work properly.

    The hostname or IP address of the system on which caching is being done. This is used for serving the videos from the cache. Please don’t use http:// or slashes (/). Just specify the domain name or IP address.

    Example : proxy.example.com

    Additionally you can specifiy an alternative port to for HTTP. Example : 192.168.36.204:81

    Default value:

    cache_host = 127.0.0.1

    Base directories for caching the videos. You can specify multiple caching directories here separated by '|' symbol.

    Example: To keep /videocache1 and /videocache2 as your cache directories, set base_dir to

    base_dir = /videocache/ | /videocache2

    Please avoid special characters in directory names like whitespaces, $ etc.

    Default value:

    base_dir = /var/spool/videocache/

    The maximum number of parallel cache processes allowed. If all connections are consumed, videos will be queued for caching.

    Default value:

    max_cache_processes = 30

    Use proxy option only when Videocache server should go through another proxy server.

    Proxy to be used for caching videos via HTTP.

    Example : http://proxy.example.com:3128/ or http://192.0.2.25:8080/

    Default value:

    proxy = <blank>

    If the proxy server specified using proxy option requires authentication, please specify the username.

    Default value:

    proxy_username = <blank>

    If the proxy server specified using proxy option requires authentication, please specify the password.

    Default value:

    proxy_password = <blank>

    No of times a video should be requested before we cache it.

    Default value:

    hit_threshold = 2

    The video of size more than max_video_size (MegaBytes) will not be cached.

    Example : If max_video_size = 50, videocache will not cache videos of size more than 50MB. Set this to 0 to disable this check. Don't append MB.

    Default value:

    max_video_size = 0

    The video of size less than min_video_size (MegaBytes) will not be cached.

    Example : If min_video_size = 2, videocache will not cache videos of size less than 2MB. Set this to 0 to disable this check. Don't append MB.

    Default value:

    min_video_size = 0

    This option sets the minimum available free space in Mega Bytes that is left in a partition containing a cache directory before videocache treats that partition as FULL.

    Example : If disk_avail_threshold = 200, videocache will stop caching videos in a cache directory if the free space available in that cache directory is less than 200 Mega Bytes.

    Default value:

    disk_avail_threshold = 1000

    Enables the videocache cleaner script which will remove videos from cache which have not been used since long. The value of this option can be 0 or 1.

    Default value:

    enable_videocache_cleaner = 1

    The maximum life of a video in cache without being used. If the video was not accessed for more than video_lifetime days, it'll be removed from the cache. The unit of video_lifetime is days.

    Example : video_lifetime = 15 will remove videos which were not used since last 15 or more days.

    Default value:

    video_lifetime = 30

    Logformat allows you to get log messages in your preferred format. This logformat, scheduler_logformat, cleaner_logformat are applicable to main videocache log, scheduler log and cleaner log respectively. Use the format codes described below.

    % - A literal % character ts - Seconds since epoch tu - Time in millisecond tl - Local Time tg - GMT Time p - Process ID of the process logging the message s - Severity level of the log message i - Client's IP address w - Website ID (eg. YOUTUBE/GOOGLE/VIMEO etc.) c - Status Code (CACHE_HIT/CACHE_MISS etc.) v - Video ID of current video m - Additional Message (for verbose logs) d - Debug message (for debugging purpose)

    Example : logformat = %ts %i %w %c %v

    Default Values:

    logformat = %tl %p %s %i %w %c %v %m %d scheduler_logformat = %tl %p %s %i %w %c %v %m %d cleaner_logformat = %tl %p %s %w %c %v %m %d

    You can use a custom format for displaying time in log messages. Use the format codes described below

    %a Abbreviated weekday name (Sun, Mon, ...) %A Full weekday name (Sunday, Monday, ...) %b Abbreviated month name (Jan, Feb, Mar, ...) %B Full month name (January, February, ...) %d Day of the month as a decimal number [01..31] %H Hour (24-hour clock) as a decimal number [00..23] %I Hour (12-hour clock) as a decimal number [01..12] %j Day of the year as a decimal number [001..366] %m Month as a decimal number [01..12] %M Minute as a decimal number [00..59] %p Either AM or PM %S Second as a decimal number [00..59] %y Year without century as a decimal number [00..99] %Y Year with century as a decimal number

    The format timeformat will be applicable to localtime and GMT time in the log messages.

    Example : timeformat = %B %b, %Y %H:%M:%S

    Default value:

    timeformat = %d/%b/%Y:%H:%M:%S

    Directory where videocache logs will be stored.

    Default value:

    logdir = /var/log/videocache/

    The name of log file can be specified using different logfile options. Please avoid any special characters in filename.

    Default Values:

    logfile = videocache.log scheduler_logfile = scheduler.log cleaner_logfile = cleaner.log tracefile = trace.log

    Maximum size of logfiles specified above. The size is in mega bytes. The log files will be rotated once they exceed the maximum specified size.

    Please don’t use max_logfile_size = 10MB. Don’t append MB.

    Default Values:

    max_logfile_size = 10 max_scheduler_logfile_size = 10 max_cleaner_logfile_size = 10 max_tracefile_size = 10

    The logfiles are automatically rotated once they have exceeded the max_logfile_size. The max_logfile_backups is the number of backup files you want to keep.

    Example : max_logfile_backups = 2 will keep videocache.log and videocache.log.1 and videocache.log.2 as logfiles.

    Default Values:

    max_logfile_backups = 10 max_scheduler_logfile_backups = 10 max_cleaner_logfile_backups = 5 max_tracefile_backups = 1

    XMLRPC server is used for memory sharing across different instances of videocache. Leave these settings as it is if you don't have a fair idea of XMLRPC. This will be 127.0.0.1 in most cases.

    Default value:

    rpc_host = 127.0.0.1

    Please make sure this port is not currently in use. If it is in use by some other program, change this to some port above 1024 which is not in use by any other program.

    Default value:

    rpc_port = 9100

    This option enables the caching of Youtube videos. This option’s value can be either 0 or 1.

    Default value:

    enable_youtube_cache = 1

  • Videocache Freequently Asked Questions

    We have divided our Freequently Asked Questions in several categories. Please click on a category to view its questions. And then click on a question to view its answer. The page will not reload when you open a category or answer.


    General

    • What is Videocache?

      Videocache is a Squid URL rewriter plugin written in Python for bandwidth optimization while browsing famous video sharing portals/websites like Youtube, Metacafe etc. It helps you save bandwidth when a particular video is requested more than once from the same network/machine.

      Squid can not cache the videos served dynamically. Videocache fits into squid to help it cache the videos as well. The cached videos are stored on your proxy server's local storage or on a storage server in your network. These cached videos can be served to your clients at a very fast speed saving your upstream bandwidth.

      For more details, check Home Page.

    • How can I get Videocache?

      Please check the Pricing Page and select an appropriate license for yourself. Once you purchase a license, we deliver the software bundle to you via email within 24 hours of receiving the client information.

    • How many sites does Videocache support?

      Please check Supported Websites section on Home Page for a list of supported websites.

    • What version of Squid does Videocache work with?

      Videocache currently works with all Squid versions later than Squid-2.6.STABLE21. That means it work with Squid 2.6.x, 2.7.x and also with 3.0.x, 3.1.x and 3.2.x.

    • Does Videocache work with Squid 3.x?

      Yes.

    • Does Videocache work with Squid 2.7?

      Yes.

    • Does Videocache work with Lusca Cache?

      Yes.

    • Does Videocache work on XYZ operating system?

      Videocache work on almost all Linux/Unix operating systems provided they have support for the packages mentioned in Required Packages section on Installation Page.

    • Does Videocache work on FreeBSD/NetBSD/OtherBSD?

      Yes.

    • Does Videocache work on Debian or Ubuntu?

      Yes.

    • Does Videocache work on RedHat/CentOS/Fedora/OpenSuSE/Gentoo?

      Yes.

    • Where the cached videos are stored on my system?

      Normally, the cached videos are stored in /var/spool/videocache/. If the cached videos are not there or this directory doesn't exits, check the value of base_dir option in /etc/videocache.conf and look for videos in the directory specified there.

    • Which python version is required for videocache?

      Python later than 2.4.3 will work.

    Payment/Purchase

    • What are the supported payment methods?

      We support the following payments methods:

      NOTE: Customer will have to bear any extra charges charged by various payments gateways other than PayPal and MoneyBookers.

    • PayPal doesn't work in my country. How can I purchase Videocache?

      Please check the above FAQ on supported payment methods.

    • Can I use a friend's PayPal account or credit card to purchase Videocache?

      Yes. But we encourage you to use your own account or credit card. In case you are using a friend's account or credit card, please leave a note mentioning the same.

    • It's been more than 24 hours since I purchased the software but I have not received it yet. Why?

      First of all, we apologize if you had to face any such delays. The reason can be any of the below.

      • Mostly, the reason is that you have not entered the Client Information in our Cilent Information System and we were unable to process your order.
      • We have sent you the package and it might have been marked as spam by your mail client. Please check your spam folder.
      • Sometimes we are unable to process your order because of the local holidays or festivals. We owe you an apology for that. We'll try to email you the software bundle as soon as we can.
    • Why are you asking for Client Information?

      So that we can answer your support questions as quickly as possible if you face a problem with Videocache.

    • Will you put my information on any other third party website or anywhere on Internet?

      NO. We never do that. We never share your information with any third party website or anywhere on Internet.

    License

    • What are the Videocache Commercial License terms?

      The license terms are very simple. Simply put,

      • You can not pass on the software to your friends. In case you do, your license will be terminated.
      • Videocache licensed for one server can only be installed one server. You can not install Videocache licensed for one server on more than one servers. But there are no limits like number of CPUs on the server.
      • In case you happen to format your server, you can reinstall Videocache.
      • You can first test your Videocache bundle on a test machine and then transfer the setup to production server. But remember only one server at a time. That means you can't keep the setup on test machine anymore.

      NOTE: : The terms mentioned above are not the only terms forced by the Commercial License. Please check the Commercial License.txt included with your Videocache bundle for details.

    • Can I reinstall my Videocache if I format my server or my hard disk crashes?

      Yes. The only condition is that you should not install videocache licensed for one server on more than one servers.

    • Can I first test my Videocache on a test server and then install it on my production server?

      Yes. But once you install Videocache on production server, you'll have to remove Videocache from the test server.

    • Is there a discount if I purchase licenses in bulk?

      Yes. Please contact us using the Contact Link mentioning your requirements.

    • I want to redistribute Videocache in my area. Is there a program for that?

      Yes. We have a very attractive redistribution program. All you need to do is to find the clients in your area and we'll handle the rest. We offer technical support on the redistributed licenses. Please contact us using the Contact Link.

    • What is the validity period of a Videocache License?

      Videocache Commercial License is valid for a period of One year from the date of issue.

    • What is the procedure to renew an expired Videocache License?

      Once your Videocache Commercial License expires, just purchase a new one and the validity of your license will be extended by one year.

    Installation

    • How to install videocache?

      Videocache can be installed using a simple bash script. For details on installation methods and steps, please check the Installation Page.

    • Python-iniparse is not installed on my system. How do I install python-iniparse?

      For all Unix/Linux systems, download python-iniparse from iniparse website. Untar the package. Go to iniparse-x.x.x directory and use this command to install it.

      [root@localhost iniparse-x.x.x]# python setup.py install

    • I don't have Apache web server. Can I use some other web server?

      Yes. But we officially support only Apache. You can use any web-server you want. Videocache requires your web-server to alias /var/spool/videocache/ directory as /videocache/ so that it can be accessed via http://your_system/videocache/. If you have a web server that supports aliasing, you can use it without any worries.

    Configuration

    • How to configure videocache?

      Configuring videocache involves setting some options to correct values in the configuration file located at /etc/videocache.conf for your system/environment. Check the Configuration Page for detailed instructions.


    Didn't find the question you want to ask? Contact us using the Contact Link.

  • Upgrading Videocache

    Upgrading Videocache from one version to another is pretty easy. Just follow the easy steps below.

    Backup Configuration File

    Take a backup of your current videocache configuration file normally located at /etc/videocache.conf. You don't need to backup cache directories as videocache doesn't recreate cache directories if they exist already.

    [root@localhost ~]# cp /etc/videocache.conf /etc/videocache.conf.back

    Install the New Version

    Now copy the latest version of Videocache to your server and follow the instruction on Installation Page to install Videocache normally.

    Configure Videocache

    Now open the backed up configuration file and the new configuration file created by videocache in an editor. Compare the options in the two files and set the options in new configuration file appropriately.

    Run Update Script

    Once you are done with the configuring Videocache, you need to run Videocache Update Script as shown.

    [root@localhost ~]# vc-update

    For help related to vc-update, please check Update Script Page.

    Restart Videocache

    After running the update script, restart Videocache as explained on Restart Videocache page.

    Thats all for upgrading videocache from one version to another. Now check videocache logs in /var/log/videocache directory for current videocache activity.

  • Videocache Cleaner Script

    Videocache Cleaner (vc-cleaner) script was first introduced in version 1.9. This script helps you to remove stale videos from the cache directories. This script uses two options enable_videocache_cleaner and video_lifetime from the /etc/videocache.conf file. So, if the value of video_lifetime is 30, then all the videos which were not used since last 30 days will be purged from the cache. Please note that log messages generated by this script are logged in cleaner.log logfile.

    The /usr/sbin/ should be in $PATH otherwise the commands below will not work.

    Usage

    To use this script, set the appropriate value of video_lifetime and then run the following command

    [root@localhost ~]# vc-cleaner

    For a list of available options with vc-cleaner command, use option -h as shown below.

    [root@localhost ~]# vc-cleaner -h

  • Videocache Scheduler

    Videocache Scheduler (vc-scheduler) daemon was first introduced in version 1.9.8 in order to decouple the XMLRPC server from the base Videocache plugin. Videocache Scheduler is a daemon script which runs an XMLRPC server on port 9100 and a simple scheduler program which schedules the videos for caching periodically. Note that log messages generated by this script are logged in scheduler.log logfile.

    The /usr/sbin/ should be in $PATH otherwise the commands below will not work.

    Usage

    Using this script is easy. We basically need to send one of the various available signals to this script. The signals available are as follows.

    • start : Starts the Videocache Scheduler.
    • stop : Stops the already running Videocache Scheduler.
    • restart : Stops the already running Videocache Scheduler and starts it again.
    • status : Check if Videocache Scheduler is running or not.
    • flush : Flush the existing Videocache Scheduler queue.
    • kill : Send a TERM (kill) signal to Videocache Scheduler. Sending this signal will kill the process immediately.

    To send one of the above singals to vc-scheduler script, use the following command.

    [root@localhost ~]# vc-scheduler -s signal

    For example, to send a restart signal, use the following command.

    [root@localhost ~]# vc-scheduler -s restart Videocache Scheduler stopped. Videocache Scheduler started. [root@localhost ~]#

    Sometimes, you may get a message like shown below when you try to start vc-scheduler.

    [root@localhost ~]# vc-scheduler -s start Pidfile exists and Videocache Scheduler is already running... [root@localhost ~]#

    Please note that the XMLRPC server mentioned above listens on port 9100 and hence no other application can listen on port 9100. If there is a process already listening on port 9100, then you should either stop that process or change the rpc_port option in /etc/videocache.conf to a port above 1024 which is free. To find out the program listening on port 9100, use the following command as root.

    [root@localhost ~]# netstat -atpn | grep 9100 | grep LISTEN tcp 0 0 127.0.0.1:9100 0.0.0.0:* LISTEN 8481/python

    In such cases, we can send the restart signal and vc-scheduler will try to restart the process anyway. For a list of available options with vc-scheduler script, use option -h as shown below.

    [root@localhost ~]# vc-scheduler -h

  • Videocache Update Script

    The Videocache Update Script (vc-update) was first introduced in version 1.3. Update script helps in updating the videocache installation by creating cache and log directories and making other changes that you intend to make via the main configuration file /etc/videocache.conf. It also generates the new Apache configuration file for videocache to suit your new configuration. Let's learn the usage of update script with a sample scenario.

    You must Restart Videocache after running the update script.

    The /usr/sbin/ should be in $PATH otherwise the commands below will not work.

    Usage

    Scenario: You want to store the cached videos in /videocache/ instead of /var/spool/videocache/.

    Solution: Change the base_dir option in /etc/videocache.conf file as shown below.

    base_dir = /videocache/

    Then run update script script as root

    [root@localhost ~]# vc-update Videocache update has completed successfully. Now you must restart apache web server on your machine by using the following command [root@localhost ~]# apachectl -k restart [ENTER] In case of any bugs or problems, check http://cachevideos.com/ .

    For a list of available options with vc-update command, use option -h as shown below.

    [root@localhost ~]# vc-update -h

  • Videocache Upgrade Policy

    A Videocache Commercial License is valid for one year from the date of issue and will receive free upgrades and support during that period.

    * Upgrade policy may change without any prior notification.

  • Restarting Videocache

    Restarting Videocache is a multistep process and doesn't involve actual restarting of Videocache script. We need to restart the different components on which Videocache depends. Below is a step by step process to restart different components.

    If you made any changes to the configuration file located at /etc/videcache.conf, then you need to run Update Script before restarting Videocache.

    Restart Apache(httpd) Web Server

    As Videocache serves the cached videos via HTTP, we first need to restart our Apache(httpd) Web Server daemon. To restart Apache web server, use the following command.

    [root@localhost ~]# apachectl -k restart

    Restart Videocache Scheduler

    Videocache Scheduler is a script which is used to maintain a queue of videos which should be cached. Videocache Scheduler script basically fires up an XMLRPC server which listens on port 9100 and maintains a collection of queued videos. To restart Videocache Scheduler, use the following command.

    The /usr/sbin/ should be in $PATH otherwise the command below will not work.

    [root@localhost ~]# vc-scheduler -s restart

    For more details on vc-scheduler script, please check Videocache Scheduler page.

    Restart or Reload Squid Proxy Server

    Once you are done restarting Apache Web Server and Videocache Scheduler script, we finally need to reload or restart our Squid proxy server daemon. To restart Squid daemon, use the following command.

    [root@localhost ~]# /etc/init.d/squid restart

    Or to reload the Squid daemon, please use the following command.

    [root@localhost ~]# /etc/init.d/squid reload

    That's all for restarting Videocache. Now check videocache logs in /var/log/videocache directory for current videocache activity.

  • Change Log

    Please click on a version to see the changes for that version.


    • 1.9.9
    • 1.9.8
    • 1.9.7
    • 1.9.6
    • 1.9.5
    • 1.9.4
    • 1.9.3
    • 1.9.2
    • 1.9.1
    • 1.9
    • 1.8
    • 1.7
    • 1.6
    • 1.5
    • 1.4
    • 1.3
    • 1.2
    • 1.1
    • 1.0
    • 0.9
    • 0.8
    • 0.7
    • 0.6
    • 0.5
    • 0.4
    • 0.3
    • 0.2
    • 0.1


    • Support for Facebook, AOL, MySpace videos.
    • Support for caching of Youtube videos for Mobile platforms (iPod/iPad/iPhone/Android etc.)
    • More intelligent Youtube video caching. Now, max video quality can be restricted. Also, videos with low view counts can be skipped from caching altogether.
    • Fixed caching bugs for Dailymotion, Red Tube, Vimeo etc.
    • Simplified installation using a shell script.
    • Added option to specify algorithm for cache directory selection in case more than one cache directories are used.
    • A more robust Videocache Scheduler which can heal itself in case of minor issues.
    • Added native bandwidth control for Videocache Scheduler so that it doesn't take up the entire bandwidth for caching.
    • Added support to flush Videocache Scheduler queue.
    • Added option to control when Videocache Scheduler is allowed to cache videos. The option cache_period can be used to specify time intervals.
    • Added option to enforce cache queue size for Videocache Scheduler.
    • Automatic cron installation for Videocache Cleaner.
    • Automatic init script installation for Videocache Scheduler.
    • Added option to disable logging for individual components just in case you don't want logs at all.
    • And much more...
    • This version features a major code rewrite enhancing overall performance.
    • Offline mode: Only serve videos from cache while not caching new videos.
    • A separate video scheduler running XMLRPC server minimizing the communication between videocache squid plugin and XMLRPC server.
    • Added support for limiting the max and min size of cached videos.
    • Introducing customizable log formats so that you can log messages the way you want.
    • Introducing tracefile to capture tracebacks for quick debugging.
    • Error messages are also logged to syslog in case videocache is not able to start at all.
    • Enhanced error codes with better log messages for easy interpretation.
    • Bug fixes in in Videocache cleaner script.
    • Fully compatible with python 2.4.3
    • OS independent setup and upgrade scripts with lot more options.
    • Enhanced documentation to help the user in fixing most issues by himself.
    • Fixed URL timeout bug.
    • Youtube URL change fix.
    • New download system for Youtube/Google videos.
    • squid.conf lines fixed.
    • break.com issue fixed.
    • Fixed problems with Vimeo, Tube8, Youporn, Bliptv, Break.
    • Dailymotion testing.
    • Removed urlgrabber dependency.
    • Improved logging.
    • Changes to update script.
    • Fixed redtube caching.
    • Using Exception instead of BaseException. BaseException is available only with python >= 2.5.
    • DOWNLOAD_ERR fixes. Better video_id linking for Youtube.
    • Efficient youtube caching.
    • Moved license to videocache directory.
    • Youtube Download Error fixed.
    • Youtube Videos now cached only once.
    • Docs and spec changes.
    • Youtube new urls working.
    • Manpage changes.
    • Fixed videocache to support new url formats for videos served by Youtube, Metacafe and RedTube.
    • urllib2.splitquery has been moved to urllib.splitquery.
    • Entire plugin has been restructured.
    • Base plugin is now totally separate from the caching process which will facilitate enhanced performance.
    • Disk size calculation will no more hang up the plugin.
    • Directory size is not calculated before every download now.
    • The calculated size of the cache directories is cached for next 50 downloads.
    • The caching mechanism is not based on time because cache size will not increase unless there is a download.
    • The cached directory size stays with XMLRPC server.
    • The size calculation is done in a forked daemon so that the normal plugin behavior is not affected.
    • Cache size calculator function is also made generic. Earlier it used to work for 2 level deep directories.
    • VideoIDPool class is revised to remove unnecessary functions.
    • 'start' and 'begin' parameters are dropped from url while downloading for caching.
    • Logfiles are rotated properly now. Logfile rotation doesn't require restarting squid.
    • If there is only one cache directory, apache alias will be /videocache instead of /videocache/0.
    • Added option disk_avail_threshold to check disk full scenarios.
    • Now size of individual cache directories can be specified via base_dir option itself.
    • Removed cache_size option attached with individual website directory to speed up and cleanup things.
    • Fixed a bug related to cache directory switching.
    • Added support for youtube videos served directly from IP Address(without using domains names).
    • Added support for tube8 videos for mobile platform.
    • Fixed log misbehavior bug.
    • Added a cache cleaner script to remove unused videos automatically.
    • Last modified time of a video is updated whenever its a CACHE_HIT to help the removal script.
    • VideoCache now supports multiple caching directories separated by '|' in configuration file.
    • Few more optimizations for XMLRPC Server. Lets see how this goes.
    • Cleaned up code at a large scale.
    • Improved assigment for website specific global variables.
    • Moved deamon forking from XMLRPC Server to client as it would result in less occupied sockets.
    • Reduced total number of queries to XMLRPC Server in order to get rid of TIME_WAIT sockets.
    • Major cleanup for cache_video and squid_part functions.
    • Videos are now cached only when requested more than once. Option can be customized.
    • Updated to cache tube8.com, tvuol.uol.com.br, blip.tv and break.com videos (including High Quality Videos).
    • Merged Google and Youtube videos.
    • Broaden the domains of google/youtube domains for video caching.
    • Optimized communcation between XMLRPC client and server to minimize the sockets left in TIME_WAIT state.
    • Extended SimpleXMLRPCServer class to add socket options and shutdown hangle to server.
    • Additional exception handling at every step.
    • Fixed Bug : cache directory check.
    • Added extensive exception handling for XMLRPC Server.
    • videocache.log is not created at installation time when using setup.py. It is wrong according to debian packaging policy to create empty files at installation time.
    • Extended support for Dailymotion videos served via Content Delivery Networks.
    • Improved logging.
    • In case connection breaks, incomplete videos will remain in tmp folder.
    • Fixed setup and update script to finally work with --home or --prefix or --install-root options.
    • Fixed videocache script to write videos are 0644 and not 0755.
    • Updated spec file to change permissions of folders only and not recursively.
    • Plugin renamed from youtube_cache to videocache as videocache is more expressive name and the plugin cache not just youtube but other websites as well.
    • Complete plugin rebase again to suite python and debian naming/packaging conventions.
    • New plugin structure:

      /etc/videocache.conf # Global config file /etc/httpd/conf.d/videocache.conf # Apache config file [Red Hat] /etc/apache2/conf.d/videocache.conf # Apache config file [Debian] /usr/share/videocache/ # Core plugin code /usr/share/man/man8/videocache.8.gz # Man Page /usr/sbin/update-vc # Update file /var/spool/videocache/ # Cache directories /var/log/videocache/ # Logging directories

    • No symbolik links as they are considered bad according to packaging guidelines.
    • Squid acls revised.
    • OptionParser added to setup and update scripts.
    • Now --home or --prefix or --install-root option can be used while installing and updating videocache.
    • setup and update scripts' code is documented properly using comments.
    • Another option enable_video_cache added to config file to control overall caching of all the websites.
    • videocache.py revised to log more sensible messages. Fixed bug which was reporting false url parser errors.
    • Rebased the entire plugin. Everything moved out of squid directories.
    • The core plugin code now resides in /usr/share/youtube_cache/.
    • The logfiles are now in /var/log/youtube_cache/ directory.
    • The caching directories are now in /var/spool/video_cache/ directory.
    • Moved youtube_cache_sysconfig.conf to youtube_cache/youtube_cache.conf.
    • /etc/youtube_cache.conf will now be a symlink to /usr/share/youtube_cache/youtube_cache.conf .
    • logfile is not an option anymore. Instead logdir is used now.
    • Corrected and updated INSTALL/Readme/Manpage files.
    • Setup file configured to make the transition for caching directories.
    • Corrected spec file. Uninstalling rpm will not delete cached files.
    • Added critical lines missing from INSTALL/Readme/Manpage.
    • Manpage generation using Text2Tags.
    • Manpage will be delivered uncompressed.
    • Added support for soapbox.msn.com video caching.
    • Fixed bug with download scheduler. Scheduler was not scheduling more than one video at a time.
    • Added CHANGELOG file.
    • Youtube Cache updated to cache videos from You Pr0n.
    • Fixed logging error with wrzuta.pl.
    • Fixed problem with setup.py to copy update-yc to /usr/sbin/.
    • Fixed spec file to create /usr/sbin/.
    • Fixed a few problems with setup.py.
    • Fixed unavailable video bug with youtube cache even when video is available in cache.
    • Introtuced update-yc to update changes made to /etc/youtube_cache.conf.
    • Added 'Options +Indexes' to youtube_cache.conf for apache.
    • Updated to cache Youtube videos served from googlevideo.com servers.
    • Updated to cache audio from wrzuta.pl.
    • Setup new website for youtube cache at http:///cachevideos.com/.
    • Removed md5 module dependency completely.
    • Fixed serious mistake in squid.conf for youtube_cache.
    • Improved INSTALL and Readme files.
    • Improved video id detection for youtube and google videos.
    • Removed python 2.5 dependency. Now works with python 2.4.
    • Sanitized the reloading system while squid reloads.
    • Added setup file for automating youtube_cache installation.
    • Fixed loads of bugs generated due to forking daemons.
    • All external processes except downloader are now started as threads.
    • Processes and threads are immedietely killed whenever squid is reloaded or restarted.
    • No backtracing goes to cache.log now.
    • Fixes for crashes by adding try-except statements.
    • A bit of performance enhancement by avoiding md5 hashes for video ids.
    • Implemented bandwidth management.
    • User can put cap on max parallel downloads of videos so that entire banwidth is not consumed in caching.
    • Implemented caching for Vimeo.com HD videos.
    • Fixed INSTALL/Readme/manpage file for version 0.8.
    • Implemented video caching for redtube and xtube.
    • Renovated manpage and config file.
    • Updated INSTALL/Readme files.
    • Clients access the video files are logged for statistics.
    • Logfile size introduced to control logging.
    • Logrotate facility for rotating logfiles added.
    • Added video file size to logging for statistics.
    • Whenever cache is full, warning will be logged now.
    • Bug fix : If cache is full, the videos from cache will be served.
    • Previously, the plugin used to exit if the cache was full.
    • Google Video caching implemented. Need to update spec/INSTALL/Readme/manpage files.
    • Implemented caching for yet another video site dailymotion.com.
    • Updated INSTALL/Readme/Spec/manpage files.
    • Implemented Metacafe.com video caching.
    • Fixed spec and sysconfig file.
    • Fixed bugs related to large video files. Implemened all the options related to video size.
    • Removed python based webserver as it was creating problems in seeking in large video files. Added httpd dependency again.
    • Now XMLRPC will be used for communcations among forked daemons.
    • Added support for proxy authentication.
    • A new set of configuration options.
    • Removed apache dependency. Now python web-server is used for serving videos. Fixed few bugs.
    • Modified config and Readme files. Added INSTALL file.
    • Added Readme file again.
    • Fixed some more bugs. Added spec file to generate rpms for fedora :)
    • Hierarchy rearranged.
    • Added config file support. Now videos are not checked for updates assuming that videos will never change.
    • Previously youtube_cache tried to connect to internet directly. Now it uses the proxy on which its hosted.
    • Initial Version: youtube_cache-0.1 . Works well with squid-2.6STABLE16 and up. Redundand caching.