- Ruby 1.9+
- ffmpeg with x264
- TsSplitter.exe to splite MPEG2 TS to avoid some audio channel problems
- wine to run TsSplitter.exe on Linux/FreeBSD
- patched faad frontend to detect audio channel settings
- Redis (used by resque)
- stunnel to tunnel redis connection securely (if you want to distribute jobs across the internet)
- Web server to serve materials (Nginx, lighttpd, Apache, etc...)
- Object Storage or WebDAV-based storage such as Amazon S3, Swift or mod_dav(Apache2)
Use bundle to install dependencies. :
$ git clone git://github.com/nabeken/dbee.git
$ cd dbee
$ bundle
$ git submodule init
- Setup redis
- Setup Web server
- Build ffmpeg with x264
- Build wine
- Build patched faad
- Sign up Amazon S3 or Setup swift
Copy config.rb.sample to config.rb and Edit :
$ config.rb.sample config.rb $ vi config.rb
Start API server. :
$ god -c god/thin.god
Start workers. :
$ god load god/all-in-one.god
Enqueue it! :
$ ruby bin/dbee-enqueuer.rb homuhomu.ts
- Resque
- JSON API
- Amazon S3 or Swift
+-----+ +--------+ +-------+
| API |---------| Resque |---------| Redis |
+-----+ +--------+ +-------+
| |
| +--------+ |
+------------| Worker |-------------+
+-------------+ | +--------+ | +----------+ | | +------------| Worker | | | | +--------+ | | | +---------------------+ | Web server Worker S3/Swift iPad/iPhone/Android | | | | +--------+ | | | +---------------------+ | | +------------| Worker | +-------------+ | +--------+ | +----------+ +------------| Worker |-------------+ +--------+
- TVRock integration
- iPad/iPhone/Android App (using Titanium Mobile)
- EC2 integration