An interactive installation that use multiple cameras to create a bullet-time like effect using frame interpolation.
- Download CMake 2.8+
- Download Git
- For Windows 7 download openFrameworks 0.7.4 for win vs2010
- Download and install the MicroSoft VisualStudio C++ Redistributable Package (x86) link and extract it to:
c:\projects\ProjectTimeCone
- For Windows 8, clone the current OF git repository and make sure you have this revision: 5125fdf5c1e52659690497b0bfaceafb17f8143a (git checkout 5125fdf5c1e52659690497b0bfaceafb17f8143a )
- Install Visual Studio 2012 Professional Trial (you can use it for 90 days)
-
Download the mac version.
-
Clone the repository:
$ cd c:\projects\ProjectTimeCone\apps
$ git clone git@github.com:HellicarAndLewis/ProjectTimeCone.git
$ cd ProjectTimeCone
$ git submodule init
$ git submodule update
$ cd addons/roxlu
$ git checkout master
- Download the nightly of libav (from 2013.07.24).
- Extract the file
- Copy all the dll files and the avconv.exe to
Runtime-VideoEncoder/bin/avconv/win/
- To compile
- open a VS2010/VS2012 terminal
- go to
Runtime-VideoEncoder/build/cmake/
- for release:
build_release_[vs2010,vs2012].bat
- for debug:
build_debug_[vs2010,vs2012].bat
- for release:
- The debug version can be run from the command line
- The release version should be installed as service
- To install the release version do:
- Open a command prompt
- Remove the service:
- Install service:
- Open a Command Prompt as Administrator:
- from start screen, search for
cmd.exe
- then right click and select Run as Administrator from bottom menu
- Type: `sc create "VideoEncoder" binpath= "C:\projects\ProjectTimeCone\apps\ProjectTimeCone\Runtime-VideoEncoder\bin\Runtime-VideoEncoder.exe"
Start/stop the VideoEncoder Service
net start VideoEncoder
net stop VideoEncoder
- Create a Google Application:
- Get a Google account and make sure to login into YouTube before continueing
- Go to Google API Console and create a new project. See this page for more info
- Make sure that you enable the YouTube Data API v3 in the servics pane.
- Click on the API Access, then Create an oAuth client ID...
- Leave all things default
- Create an installed application
- Select other as type
- Go to
ProjectTimeCone\Runtime-YouTube\bin\data
and copyyoutube_example.cfg
toyoutube.cfg
- Open the
youtube.cfg
file and copy theClient ID
andClient SECRET
into this file. - Open
ProjectTimeCone\addons\roxlu\addons\YouTube\html\index.html
in Chrome- paste the
client ID
into the field and pressGO
. - Accept the permission popup, and copy the
auth-code
you get intoyoutube.cfg
.
- paste the
- Now make sure you remove
bin\data\youtube.db
before starting the app - To compile:
- open a VS2010/vs2012 terminal
- go to
Runtime-YouTube/build/cmake/
- for release:
build_release_[vs2010,vs2012].bat
- for debug:
build_debug_[vs2010,vs2012].bat
- for release:
- Open a Command Prompt as Administrator:
- from start screen, search for
cmd.exe
- then right click and select Run as Administrator from bottom menu
- from start screen, search for
- Type: `sc create "YouTubeUploader" binpath= "C:\projects\ProjectTimeCone\apps\ProjectTimeCone\Runtime-YouTube\bin\Runtime-YouTube.exe"
Start/stop the YouTubeUploader Service
net start YouTubeUploader
net stop YouTubeUploader
- Make sure the destination path for the frames exists:
Test-YouTubeClientIPC\bin\data\frames\
if not, create it. - Compile the app + run it (open project file in VS2010 or XCode)
Before you commit your changes, check if you are working in a branch or not. By default,
after doing git submodule update
you're not working in a brnach.
Check if you're working in a branch
$ cd submodule
$ git branch -a
Not working in a branch
$ cd submodule
$ git checkout master
$ git commit -am "Updating changes of submodule"
$ git push origin master
Working in a branch
$ cd submodule
$ git commit -am "Updating changes of submodule"
$ git push origin master
tell the root project to use the current submodule commit
$ cd ../to/project/root
$ git commit -am "Updated submodule"
$ git push origin master
$ cd project
$ git remote update
$ git clone origin/master # get the latest submodule info
$ git submodule update # let git update the submodule info which is stored in the root project
When you're using the Runtime-VideoEncoder/src/videoencoder
and addons/roxlu/addons/Youtube
code you need to add some files and configs to your Visual Studio project so everything compiles
nice and smooth. Follow the steps below.
General config settings
- Add
WIN32_LEAN_AND_MEAN
to your preprocessor flags - Change Configuration Properties > General > Character Set to not set
- After adding the sqlite sources, you need to tell MSVC2012 that it's a
C
file and not aC++
: Right click the sqlite3.c file, go to 'C/C++ > Advanced > Compile As' and select "Compile as C Code"
We need to add the following source files:
- roxlu/addons/log/src/*.cpp
- roxlu/addons/sqlite/src/*.cpp
- roxlu/addons/sqlite/extern/sqlite/*.cpp
- roxlu/addons/uv/src/*.cpp
- roxlu/addons/youtube/src/*.cpp
- Runtime-VideoEncoder/src/videoencoder/src/*.cpp
- roxlu/lib/src/*.cpp
Add these include directories:
.\..\addons\roxlu\lib\include\
.\..\Runtime-VideoEncoder\src\videoencoder\include\
.\..\addons\roxlu\extern\include\
.\..\addons\roxlu\addons\UV\include\
.\..\addons\roxlu\addons\YouTube\include\
.\..\addons\roxlu\addons\SQLite\extern\sqlite\
.\..\addons\roxlu\addons\SQLite\include\
.\..\addons\roxlu\addons\PCRE\include\
.\..\addons\roxlu\extern\lib\win\vs2010\MD\32\curl\
.\..\addons\roxlu\addons\Log\include\
As a one liner for VS
.\..\addons\roxlu\lib\include\;.\..\Runtime-VideoEncoder\src\videoencoder\include\;.\..\addons\roxlu\extern\include\;.\..\addons\roxlu\addons\UV\include\;.\..\addons\roxlu\addons\YouTube\include\;.\..\addons\roxlu\addons\SQLite\extern\sqlite\;.\..\addons\roxlu\addons\SQLite\include\;.\..\addons\roxlu\addons\PCRE\include\;.\..\addons\roxlu\extern\lib\win\vs2010\MD\32\curl\;.\..\addons\roxlu\addons\Log\include\
Add these preprocessor flags
WIN32_LEAN_AND_MEAN
Add these linker input libraries
.\..\addons\roxlu\extern\lib\win\vs2010\MD\32\libuv.lib
.\..\addons\roxlu\extern\lib\win\vs2010\MD\32\libcurl.lib
.\..\addons\roxlu\extern\lib\win\vs2010\MD\32\jansson.lib
.\..\addons\roxlu\extern\lib\win\vs2010\MD\32\pcre.lib
.\..\addons\roxlu\extern\lib\win\vs2010\MD\32\pcrecpp.lib
ws2_32.lib
psapi.lib
iphlpapi.lib
As a one liner for VS
.\..\addons\roxlu\extern\lib\win\vs2010\MD\32\libuv.lib;.\..\addons\roxlu\extern\lib\win\vs2010\MD\32\libcurl.lib;.\..\addons\roxlu\extern\lib\win\vs2010\MD\32\jansson.lib;.\..\addons\roxlu\extern\lib\win\vs2010\MD\32\pcre.lib;.\..\addons\roxlu\extern\lib\win\vs2010\MD\32\pcrecpp.lib;ws2_32.lib;psapi.lib;iphlpapi.lib;.\..\addons\roxlu\extern\lib\win\vs2010\MD\32d\msgpack.lib;
Copy these DLLs files to your bin dir
addons/roxlu/extern/bin/win/vs2010/MD/32/janson.dll
addons/roxlu/extern/bin/win/vs2010/MD/32/libcurl.dll
addons/roxlu/extern/bin/win/vs2010/MD/32/libcurl.dll
addons/roxlu/extern/bin/win/vs2010/MD/32/libeay32.dll
addons/roxlu/extern/bin/win/vs2010/MD/32/pcre.dll
addons/roxlu/extern/bin/win/vs2010/MD/32/pcrecpp.dll