Crowdsourcing application to ag video content relevant to IARH
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.


Crowdsourcing application to tag short YouTube videos (>4 minutes) relevant to 'Roman Empire' and 'Britain'. All the videos were published in the year 2016.

First you will need to install all the dependencies with the following commands (be sure that you are in the project folder videotagging):

virtualenv env
source env/bin/activate
pip install -r requirements.txt

This process will create a virtual environment for hosting all the PYBOSSA required libraries. This will be in a folder named env and each time you need to use them, you will have to activate it with the second command (source env/bin/activate).

Creating the project

In order to create the project in a PYBOSSA server, you have to run the following command:

pbs --credentials micropasts create_project

WARNING: Be sure to have your virtualenv active. Use the source command, when you need it.

NOTE: In order to use your credentials, create a file in your home folder named .pybossa.cfg and add there a section like this:

apikey: yourkey

Updating the project

The previous section created the project, but none of the sections like the template, tutorial, long description or result pages have been populated. To do it, just run the following command:

pbs --credentials micropasts update_project

While this will work every time you run it, you can save a lot of time by telling pbs to watch for changes in any of those files, so it automatically updates the project for you when you save new changes to any of these files:

  • template.html
  • tutorial.html
  • results.html
pbs --credentials micropasts update_project --watch

Adding tasks to the project from a JSON file

First of all, we would to run the command as it will allow us to search in Youtube for anything, and create a JSON file that we will use later on for creating the tasks.

For using the script, you will need an API key from Google. Go to your Google API Console and create a key. Then, copy it, and paste it in the file, in the section GOOGLE_APIKEY.

NOTE: There's a template of the settings file named Just make a copy of this file, rename it to and update its content with your API key.

WARNING: Be sure that you have enabled the API KEY to use the Youtube API. Go to your Library within the Google API Console, and enable it.

The previous command can be run like this:

python --query="your query keywords" --output=videos.json

The --output=filename.json flag allows you to save your query into different files. If you don't use the flag, it will be saved to videos.json.

You can see all the available options by using the flag --help.

This will create a file with several videos. Be careful, as some searches could be very big.

Then, you can use the command line tool to import a the JSON file with tasks for your project:

pbs --credentials micropasts add_tasks --tasks-file=videos.json --tasks-type=json

NOTE: You can configure the priority and redundancy also, using the command line, check the help.