English | German | Not logged in.

Video rating interface


Do you have a file server with lots of videos that you share with multiple people? Then this tool is for you!

It basically is a way to keep the videos in a database and let everyone vote which videos they want to drop. Also it lets you select which videos you have seen for your own reference (I discovered that I haven't seen about 50% of the videos we have on our file server).

You can set it up so that videos are automatically scanned by a cron job and so that videos are automatically deleted when every user decided to drop it by a cron job.

This way you don't have to go around asking if anyone wants to keep a specific video for every video you want to delete. This allows you to quickly free some space on your file server without deleting any videos that someone might want to keep.

You can also enter a comment for every video, including a few standard ones like "Bad quality" so you have a reference why you want to delete it. Later versions will probably support marking videos for redownload in a better quality as well as showing the comments of other users.


  1. Put the files somewhere in your web root where you have PHP installed.

  2. Configure your authentication mechanism in the roots .htaccess file. Consult the Apache documentation for details on how to do this.

  3. Create a database and a user with write access to that database in MySQL. Consult the MySQL documentation for details on how to do this.

  4. Create the needed tables by importing the database schema from doc/vidrate.sql. You can use something like this to import the schema:

    # mysql -h mysql.example.com -u root -p vidrate_database < doc/vidrate.sql

    or you can use something like phpMyAdmin to do the import.

  5. Copy the file include/config.php.template to include/config.php and edit it.
    • dbHostname is the hostname / IP address where the MySQL Server runs.
    • dbUsername is the username used to authenticate to the database.
    • dbPassword is the password used to authenticate to the database.
    • dbDatabase is the database where the data stored.
    • vidTypes is a perl regular expression used to match video filenames.
    • basedir is the directory that is scanned for files matching vidTypes.
  6. Add the usernames from HTTP authentication you want to allow to vote into the users table. You can do this like this:

    # mysql -h mysql.example.com -u vidrate_username -p vidrate_database


    mysql> INSERT `users` (`name`) VALUES ("username");

    to delete a user use something like this:

    mysql> DROP `users` WHERE `name`="username";

  7. You can now access the directory with a webbrowser and should be asked to authenticate. After successful authentication you should get the interface. If you get an error like "User is not permitted to vote on videos!" then you did something wrong in step 6 because your HTTP auth user does not exist in the users table with the same name.

  8. Add Cron-Jobs to scan for new videos and remove videos that were voted to be dropped. To do this you can copy the file doc/vidrate.cron to /etc/cron.d/vidrate and edit it to have the correct paths. Basically you should make sure that purge.php and scan.php will be called often enough. Grundlegend sollten Sie sicherstellen dass purge.php und scan.php oft genug aufgerufen werden. Maybe I will add purge.php into the web interface later, but I'm currently afraid of me doing something stupid and it deleting something instantly.



Sample image of the main view



This projects Subversion repository can be checked out with the following instruction:

svn co http://deve.loping.net/svn/vidrate/trunk/

You can also browse the repository here: http://deve.loping.net/svn/vidrate/trunk/

Write access

If you want write access to the repository, contact the author and he will consider your request based on your reasons. All commits to the repository will be monitored and, if necessary, reverted. If you just want to contribute a single patch, you can also send it to author by email (patches are preferred against the latest development version).


This project is licensed under the following license:

GNU General Public License version 2.0 (GPLv2)


  • Axel Gembe


There are no comments, add one.

Please log in to leave a comment.

0 queries in 0.00ms, 177.15ms elapsed.
You are using IPV4 (get IPV6):
System uptime: 241 days, 10 hours, 19 minutes, 3 seconds
CPython (2.7.1, )
Copyright © 2004,2005,2006,2007,2008,2009,2010,2011,2012,2013,2014,2015 Axel Gembe | Privacy policy